Question: * So far, [Siphon](http://code.google.com/p/siphon/) is the best [SIP](http://en.wikipedia.org/wiki/Session_Initiation_Protocol) app I've tried.
* [MobileVOIP](http://itunes.apple.com/us/app/mobilevoip/id362528311) and [TruPhone](http://www.truphone.com/iphone) are very nice too (and don't need jailbreaking).
* Other apps offer at least some SIP features such as Nimbuzz, Fring, Viber and even Skype.
* Apple's FaceTime audio clearly is an option for some

While I have all of these, I hardly use any of them, for a variety of reasons.

I'm looking for a more ideal third party app that should:

* Integrate with both Address Book and the iPhone's native recent calls
* Replace phone.app and load rapidly to place phone calls
* Have [international number support](https://apple.stackexchange.com/questions/5223/using-international-phone-numbers-on-iphone)
* Allow [call recording](https://apple.stackexchange.com/questions/731/is-an-iphone-call-recorder-theoretically-possible/)

As a plus, 
- Support Skype, Google (talk, voice, etc) and integrate with other options if possible

Answer: 
I just tried several *free* softphones and I liked [Zoiper](http://www.zoiper.com/en "ZoiPer home page") the best, but since our Asterisk server is configured with very peculiar prefix rules I cannot use it. It supports native address book integration, call recording, various audio and video codes... pretty cool, if only it would allow custom rewriting rules :(

As strong second best I decided to use [Join softphone](https://itunes.apple.com/us/app/join-softphone-voip-sip-client/id566525840?mt=8 "Join App Store page"). It does integrate with addressbook and allows complex rewrite rules. It promises that it does call recordings, but I could not get it to work properly. What really puts me off with Join is rather confusing UI with too many colors and drop shadows. It really does not work well on mobile screen. Maybe desktop but not small screen such as mobile. But it was only feature full free solution I've found.
General problems when using Softphone app are:
1. Complex network conditions in mobile networks (i.e. NAT). Not all VoIP servers can properly work with NAT.
2. Limited bandwidth. Is is impossible to use high nitrate codecs in 3G networks. But many operators does not support modern codecs like Opus.
3. Problems with incoming calls. To receive calls phone must be connected to the server. It drains battery.
This is not ad, but try our solution:
[www.sipmobile.org](http://www.sipmobile.org)

We resolved this issues. You can use our Softphone in mobile 3G networks with good voice quality. If you have LTE or WiFi, video calls are available. Softphone for iOS can be switched off and receive calls with push notifications (of course only in our domain).