There is a SIP client built right into your phone (Gingerbread and above). You can find this either in general settings, or in settings for the phone dialer app.
E.g. in Jellybean:
- go to the phone dialer page (as if you were going to make a call)
- choose the menu (bottom right vertical "...")
- tap Settings
- Scroll down to "Accounts" and tap it.
- enter your SIP account info.
Simple as that!
Depending on what SIP service you're connecting to, you may find yourself in the world of codecs. The built-in dialer will try to use the following codecs:
If you're using regular an Asterisk-based SIP server, then it will mostly likely end up using G711 (aka ULAW). I'm still experimenting, but so far I've had more luck with GSM and was able to tweak my Asterisk server to use that instead. If you're using a 3rd party service, then chances are they've enabled GSM already.
That said, I did use CSipSimple to get as far as I did. It allows easy selection of which codecs will be used when (WiFi vs 3/4G), so it made debugging much simpler. (Btw, their store version is quite old at the time I'm writing this. You can also download daily builds and try those.)