I've tried SipDroid and the built-in softphone. At first, I was only able to use sipDroid at all, and required a STUN server. Then I found there was some kind of SIP NAT-traversal setting enabled on my router which was actually causing more harm than good. Once I disabled that, I was able to use the built-in softphone.

However, I am unable to receive calls in both, though I am able to make calls. The built-in softphone has poor (incoming and outgoing) audio quality, and sipDroid seems to have good incoming audio quality, but outgoing audio is not working at all, and I've tried several different codec configurations.