VoIP on the iPhone and iPod Touch - a comparative review

by Ruben Email

iVoIP clientsBack in August 2009 I did a guest appearance on the VoIP Users Conference speaking about VoIP clients for mobile telephones. I briefly touched on to a few offerings for the iPhone and iPod Touch (a.k.a. i-Devices). This inspired Randy a.k.a @voipusers to do a review of a few of the available offerings on i-Devices.

His article, along with my Fianceè buying herself an iPhone, prompted me to take a closer look at a few of the offerings available.

I have given SIP clients on the iPhone and iPod Touch a generic name: iVoIP Client(s). Likewise, an iDevice is a generic term for both the iPod Touch and the iPhone.

The following clients have been tested:

  • iPico from MailVision Ltd
  • iSIP from VNET Corporation
  • WeePhone from Justin Bray
  • Acrobits Softphone from Acrobits
  • Media5-fone from Media5 Corporation

For completeness I have also taken a quick look at the SIP function in both Fring and Nimbuzz, two free (as in beer) offerings available for the iDevices.

Why bother using a VoIP client, it can't run in the background?

Unless you do some jail breaking, neither the iPhone or the iPod Touch are able to run 3rd party applications in the background. This means that any VoIP Client must be running in the foreground to be of any use.

However, there is an exception to this rule: It is possible to set up a system where the iDevice receives a Notification from the Apple Push Notification Service (APNS) - and will then start the iVoIP Client and receive the call.

At first sight this may seems like a good idea - such clients could then be usable. The implications doing are so great that I will reserve this for a follow-up article.

Test setup and criteria

The client evaluated in this write up is stand alone VoIP clients not associated with a VoIP provider. To use these clients you need to either supply your own PBX / VoIP Switch, or you need an SIP account with one of the many VoIP providers out there.

My test setup is like what Randy have - a iPod Touch and an external microphone.

iSoniTalkMy microphone is the Monster iSoniTalk from Monstercable. HiFi Geeks will immediately recognize the Monstercable brand name as a high-end brand. As the iSoniTalk is aptly priced, high-end does necessarily means high-prices. For VoIP use, the microphone is more than adequate. Prior to testing the various VoIP clients, I did a few recordings to my iPod to be sure that the quality of the microphone was acceptable. The picture may be misleading, so to set the record straight: What you get is a microphone where you can plug in your own head set. I can highly recommend this microphone.

As Randy found out when he did his testing: The Apple iPhone microphone and head set might not cut it completely. I use the same setup with my Nokia E71 - the hands free solution I have bought does not come with a head set. I can thus use my favorite head set - the same high-quality one I use for listening to music.

The VoIP switch used was a stock Asterisk version 1.4.17. The switch was connected to my company customer switch providing me a link to the outside world.

When I evaluated the iVoIP Clients I was forced to use a different set of criteria compared to when I evaluate hard phones (or even desk top soft phones).

The most important criteria was of course sound quality. All of the clients where tested with forced G.711 alaw on the switch. To test the quality I called into a extension which executed the record application. I then gave the name for which application I was testing, and then read a page from Josten Gaarder's I et speil, I en gåte (English: Through a Glass, Darkly). I then compared this recording to a recording done directly on the iPod.

The distance from my mouth to the microphone was the same for all tested clients.

Unless stated otherwise, the sound files where recorded 3 times to avoid temporarily conditions influencing the test.

The 2nd most important criteria was how easy it was to set up the client to get it working. Given that these client lacks remote mass provisioning capabilities, it is very important that they are easy to set up for "non tech" people. The idea here was to enter the user name ONCE, the password ONCE, and the SIP server ONCE.

The iPico Client

iPico screen shot The iVoIP client from MailVision is the only client with a dedicated "home" screen. The other clients in this review have the dial pad as their home screen.

The sound quality of the iPico client has a shared 2nd best position along with the iSIP client. You can download a one minute WAV file to listen to the quality.

This client can not dial SIP URIs.

As seen in the screen shot, the client give the user easy access to recent calls, contacts, dial pad and more. The more buttons give the user access to settings, about, etc.

The recent call feature will give you a list of recent calls with a icon showing type of call. It it easy to filter which kind of calls you are looking for (i.e. only missed calls).

iPico screen shotAs seen in the picture to the right, during a call, a user may put the caller on hold, mute, put it on speaker, or call up the key pad (for DTMF use).

Codec support is G.711{uLaw, aLaw}.

The client will only support one SIP accounts, and the basic setup for a SIP account is display name, user id along with the authentication user name and password. The client demands that both domain and proxy server are filled in. There is even a field for SIP port.

Of all the client tested, there are no advanced setup options.

One neat feature is the ability to contact MailVision support from within the client, and you even have the option to attach your account information (except your password).

What I like about this client is the in-call features along with the menu handling those functions. The sound quality is more than adequate for VoIP user. This client is a simple, no-frills solid piece of software.

What I did not like about the client is that there is only the possibility for one SIP account, and that there are no advanced SIP parameters one can set, nor any SIP logging available. However, these things are no show-stopper for acquiring this client.

The iSIP Client

iSIP screen shot The iVoIP client from VNET Corporation is the client Randy preferred, so I was eager to test this out.

The first impression immediately gave me feeling that this client did inhibit the Far East Syndrome. Even if the splash screen and the dialer screen tends to be on the Far East Syndrome side, the phone is as far from this as you can come.

Shared with the iPico client, I find the sound quality to be the 2nd best of the test. You can download a one minute WAV file to listen to the quality.

The client will dial SIP URIs, and the interface for doing so is nearly perfect.

As seen in the screen shot, the client gives the user easy access to recent calls, contacts, SIP accounts and settings.

The recent call feature will only give you a list of recent calls with a icon showing type of call. There is no way to filter, or sort, the list according what kind of call logged (i.e. outgoing, incoming, missed, etc). The only thing possible in this screen is to clear the calls.

iSIP screen shotAs seen in the picture to the right, during a call, a user may put the caller on hold, mute, transfer the call, put it on speaker, call up the key pad (for DTMF use) and even record the call.

Supported codecs are G.711{ulaw,alaw} and GSM.

The client will support multiple accounts, and the basic setup for a SIP account is display name, domain, user name and password. There is also an advanced section letting user set up a proxy server, registration time out, voice mail number, phone number, NAT detection and support for APNS.

Easy access to voice mail is not easy, nor intuitive: You find this settings in the SIP account overview page.

The settings let's the user set a global outbound proxy, RTP port and even the local port. You can switch the STUN support on/off.

It nearly goes without saying that it is possible to choose preferred codec (Auto, uLaw, aLaw and GSM), but there is no provision for setting a priority. It's either-or.

RFC 3605 (RTCP attribute in SDP) can be toggled on/off.

A strange thing I did not find intuitive is that recordings are to be found in the setup screen!

What I like about this client is the in-call features along with the menu handling those functions. The sound quality is more than adequate for VoIP user. The client can do a number of prefix manipulations and has a few built in ring tones. A huge plus is the ability to support more than one SIP account. The client will dim the screen about 50 second, then turn the screen completely off after ca 1 minute.

What I did not like about the client is that the buttons for SIP account and for settings. I'd rather put the SIP settings as part of the settings, and used the space to get easy access to voice mail (or even recordings).

The Acrobits Softphone Client

iSIP screen shot The iVoIP client from Acrobits Ltd. does at first sight look to be a nice client. Very green with a couple of nice features.

BUT, and there is a HUGE BUT, here: The sound quality is absolutely shitty. To be on the safe side I did the 3 first recordings, rebooted my iPod - then did another 3 recording. 6 recordings in total. You can download a one minute WAV file to listen to the quality.

The client does not support dialing SIP URIs.

As seen in the dialer screen shot, the client gives the user easy access to Quick Dial, call history and contacts. There is also provision for adding a contact if a number is entered manually.

The quick dial features a grid of 12 pre-defined contacts. A feature not found in the other clients.

There are two ways to access the call history feature: Either in the client, or by a web browser from your desk top. I can not for all my good will, see the need for accessing the call history of your cell phone through your web browser.

The client will dim and turn the screen off after 1 minutes - but there is a setting which will let you control if the iDevice should be kept awake and thus override the system setting.

Acrobits screen shotAs seen in the picture to the right, during a call, a user may put the caller on hold, mute, add a call, address book, hold and record. To call up the key pad, slid the picture to the left. During testing I did not get any reaction from the client when pushing the Add Call, or Mute, buttons. The Contacts button will only take you to the address book - no functionality as far as I can see within the address book.

Support for multiple accounts, and a very cool thing is that the Acrobits people have added pre-defined setups for at least 8 VoIP providers (including Gizmo5, Sipgate and voiptalk.org).

The generic SIP settings lets the user add user name, password and domain + SIP port. There is also a on/off button for pushing incoming calls over the APNS.

In the advanced SIP settings there are support for a limited prefix mangling, how DTMF should be handled (RFC or in-band), if registration should be done by proxy or domain. It is also possible to set the Auth User Name, STUN Server and Proxy address. There are also provisions for RTP port settings (start/end), changing the expire value and if the client should send out keep alive packets.

In the general settings you find various settings for how to handle call recording, web browser access from your desk top, and a few audio features (echo suppression on/off and adjusting the microphone gain).

A very nice features for us geeks, is the ability to log SIP traffic.

The client also let's you show the GSM button in the dial pad, if you are so inclined. This will of course not work on a iPod Touch.

Unless they fix the sound problem and addressing why some of the in-call features does not work, I can not really say I like the client.

The WeePhone Client

WeePhone screen shot The WeePhone client from Justin Bray is not as slick as the other client in this test. To be frank, it's a bit geeky: Why should a user care about SIP status messages during a call?

As a general usability rule: Do not confuse users with technical information they have normally do not need to see. The user do not care if the underlying SIP protocol state 200 OK when hanging up the call. Another example of the geekyness is the call history. The log is really a list of SIP URIs.

The sound quality is adequate for VoIP use. You can download a one minute WAV file to listen to the quality.

According to documentation, the client should support dialing SIP URIs. I did not get this to work.

iSIP screen shotAs seen in the picture to the right, during a call, a user may put the caller on speaker phone and issue DTMF signaling. None of the advanced features found in the other client tested. This is also reflected in the price for the software: It's the cheapest of them all.

The client does only support one SIP account. Basic parameters are user name, password, server/domain, proxy, STUN server and STUN on/off. I did not get the client to work by only filling in the server/domain field.

Advanced settings yield support for Auth user name, ONE rtp port, if the GSM codec should be used (else there is only support for G.711), DNS SRV lookup, two prefix mangling settings and two ring tones. A geeky parameter is the ability to enter a address which will be forced into the SIP headers.

What I do like about the client is it's simplicity. I also like the geekyness of the client with regards to setting parameters which may help you traverse firewalls. However it will not receive a recommendation from me. A plus for having a GSM key on the dialer.

The main reason why I can not recommend the client is the fact that I need to delete existing phone numbers in the dial pad, one character at a time. This is a usability no-no. The other reason is that the client is not as slick (read: user friendly) as the other offerings.

Media5-fone

Media5 screen shot The iVoIP client from Media5 Corporation is one of the best soft phone with regards to the criteras for this test.

The sound quality is deeper and richer than the other phones. To verify that this perception was not due to some random issues I recorded the sound 3 times as with all other clients - the 3 more times after the testing of all clients where done.

You can download a one minute WAV file to listen to the quality.

The client does not support dialing SIP URIs, even is the dial pad indicate the possibility of using characters.

As seen in the dialer screen shot, the client gives the user easy access to call history, contacts and easy access to voice mail. There is also provision for adding a contact if a number is entered manually.

The recent call feature will give you a list of recent calls with a icon showing type of call. It is possible to filter calls by type (i.e. outgoing, incoming, missed, etc).

The client will not dim or turn off the screen off.

Media5-fon screen shotAs seen in the picture to the right, during a call, a user may put the caller on hold and mute. The dial pad can be accessed to enter DTMF tones and lastly, the call may be put on speaker phone.

The Media5-fone setup is not found within the client, but along the iDevice's Settings.

The SIP account setup allows for only one SIP account with the following parameters: Server, port, proxy (optional), name, password and voice mail number.

You can either choose between G.711 uLaw or aLaw as codecs.

Both jitter buffer and echo cancellation can be toggeled on/off.

The start up screen can be set to either dialer or contacts.

Last parameter is the registration timer.

There are no other settings available.

What I like about this client is the voice quality.

On the dislike side we have the lack of advanced setup parameters, lack of SIP logging and lack of SIP URI dialing.

Free alternatives: Fring and Nimbuzz

Fring and Nimbuzz are personal aggregation services. They will let you have one system to handle "all your communications", be it chatting over MSN or telephone. You have even make these programs connect to your SIP server.

There are some speculation on how these programs works internally since they seem to be too small to really accommodate all the functionality. You really do not know if the providers of these programs keeps a copy of your login credentials for various sites, and then acts as a proxy between their own client and your service providers.

Unless these providers publicly state how they are handling the many services they do provide, I would be more than skeptical to use these for critical communication. I do know for a fact that SIP registrations when using both client does not come directly from my iPod Touch, but through other machines.

If you do not care too much about your privacy, but need a multicommunication solution for your iDevice, both of these can be a solution.

Both of these programs let you define a SIP account. Both programs will let you make calls, however I have not been able to receive calls through Fring.

The sound quality of both of these solutions are less than stellar if you are connected to the edge of the Internet (like I am). However, of the two, Nibuzz is the only that will get me a good quality over a sustained period.

Another issue I have had with the use of these solutions, are the number of calls that will not be put through. When debugging I never see any SIP packets at all, and this can last for several minutes, or until I restart my client.

Some kind of conclusion

First off: Your mileage will vary. What you need in a client, is not the same what I need in a client. If you really want to know what's best for your use - download and test all these clients your self. Do not take my word for granted.

When this is said: If I had and iPhone, the best client for my personal use would be Media5-fone due to the sound quality. Given that I have 100% control of my own SIP server I really do not need advanced parameters in the client it sel. I would also have no problem using either iPico or iSIP if Media5-fone where not available.

Neither WeePhone nor Acrobits Softphone will cut it.

My recommendation in general would be as follows: If you are on a zero-budget, use Nimbuzz. If you have some money to spend - but not a lot, go for WeePhone.

However, if you are willing to spend less than USD 10,- you have 3 options depending on your needs: If you need a client supporting more than one SIP account go for iSIP. I you need a easy client to set up and use by a non-technical relative iPico or iSIP it is. If you value sound quality and have no need for debugging features, multiple SIP accounts or any other codecs than G.711 you can not go wrong with Media5-fone.

A small disclaimer

All clients and equipment are bought with my own money. For some of the client tested, I am involved in a paid project evaluating some of these for a customer of Azuralis AS. None of the suppliers I have been talking to have been aware that I was going to this review.

Even if I am currently doing such a project, what I write in this blog entry does not necessarily reflect the evaluation in the paid project.

10 comments

Comment from: randulo [Visitor] · http://vuc.me
Excellent article, Ruben. While I agree that the Media5 audio has more lows and sounds better, I'm not certain that matters for most phone connections. The other end will not necessarily hear the difference on their equipment.

In a few words, iPico has the nicest looking graphics, iSip works well and has multiple accounts. Weephone is geeky fun and will dial SIP URI. Speaking of this, for the clients that can not dial SIP URI, I create aliases at my OnSIP.com account as a workaround.

I appreciate the work you've done here and look forward to discussing this growing field again soon on the VoIP Users Conference.
28/09/09 @ 07:52
Comment from: Ruben [Member] Email
As I wrote: Your mileage may differ from mine.

Since I have been bit by the Wideband Audio sickness I have become to value good audio pretty high.

My biggest problem with WeekPhone is that I must delete character by character when I want to enter a new phone number or SIP URI. This is, to say the least, extremely cumbersome. For geeks like you and me, seeing the various stages of the SIP convo is a nice thing, but for Jane Average User - this IS scary :-)

28/09/09 @ 13:28
Comment from: Thiago Camargo [Visitor] · http://xmppjingle.com
Nimbuzz does connect you through your SIP and other account through XMPP, meaning that they provide the aggregation service. It does save a lot of battery as I would never be able to run so many account in a mobile.
And I would not bother as many of SIP users are already used to SIP aggregators, that also requires your credentials.

What I like about have it through Jingle is that the signaling portion of the call is encrypted and hard to track as it is not pure plain SIP.
Nimbuzz DO NOT proxy your audio streams as they state (you can also check with wireshark).
In a sense I trust more in a big service provider than a wifi hotspot. Making Nimbuzz actually safer than regular plain SIP Clients to use in public places. http://bit.ly/kUoJQ
28/09/09 @ 22:22
Comment from: iPico [Visitor] · http://mailvision.com/ipico
Hi;
Thanks for the review. Regarding SIP URI dialing, maybe is not clear, but on the iPico dial pad you have a "keyboard" icon on the bottom right. If you press the button you will get a full keyboard to dial SIP-URIs.
For loggin, as you say, here is a built in support form and all the logs are sent to our support peoples.

For on device logs, you can dial ( using the dial pad) *#dump# the client will open a dump view so you can view the SIP and other system logs. this is an advanced feature that not all the users will like to see.

Thanks
iPico
04/10/09 @ 21:10
Comment from: Tor Erik [Visitor]
Thank you for a very well written article.
Have you however tested the the free Siphone application?
Do you know what application /protocal that works best on 3G and possibly Edge?
28/10/09 @ 00:46
Comment from: Ruben [Member] Email
The free siphon application is not readily available (and I am NOT talking about getting the application into the AppStore).

If a OSX/iDevice based Open Source project does not even bother to distribute a readily available package, I am NOT going to spend any long time on that very project. The only current download-able packages are .deb based ones. AFAIK .deb is handled with a Debian installer.

Guess what - I am running a OSX platform, not debian; Getting a Debian package handler for OSX up and running is making me go thorough too many hoops for me to bother.

So - tell me, what's wrong with using a ZIP based container for distributing the client for non Jailbreaked devices?

What I have understood so far (but I might be very wrong here), is that the siphone is most likely working "out of the box" (read: using the .deb file) for Jailbreaked devices. I do not have such a device, nor I will ever Jailbreak my iDevice.

Even if they have nice screen shots, so far, I am super-not impressed by the siphon project.

Regarding protocols for use over 3G/EDGE:
Apple does not currently allow the use of SIP software over 3G - beside the protocols that are available in the various clients are mostly G.711 (which is less than ideal when using VoIP over 3G/EGDE).
01/11/09 @ 21:15
Comment from: Acrobits [Visitor] · http://www.acrobits.cz/
Just wanted to let the readers know we have resolved the audio issue you experienced. It was an intermittent issue and we resolved it as soon as we became aware of it. If you update to the latest version, the issue should be resolved.

I also wanted to add a couple other notes. Both the hold and mute buttons should be functioning now as well. We have removed the add a call button but will be adding it back in a future update.

Finally, web access is important because users can access and download their recorded calls from there. There is no way to transfer them directly from the iPhone.

Even though you had a couple issues with Acrobits Softphone (which I think we have resolved), we appreciate any attention to the iPhone SIP clients. I think your opinion might change if you ever have time to take another look at the iPhone SIP clients.
18/11/09 @ 13:17
Comment from: Robert [Visitor]
I think the lack of anything other than g.711 can be problematic for travelers. Hotspots can have flaky connections, I would like the option of using a lower bandwidth codec such as gsm.
29/12/09 @ 08:21
Comment from: Samson [Visitor] Email
Many thanks for the comprehensive review. Apart from simple SIP URI dialing what I am looking for is a specific VoIP client for iPhone/iTouch that will allow me to *directly* dial an IP address and a SIP URI address like below:

(e.g. sip:user@myip.dyndns.org:5061)

I don't want to use a voice provider, I would like to do this directly and the sip client need able to make call without register. In Windows, X-Lite can do this.
23/02/10 @ 10:54
Comment from: VpLS21 [Visitor] Email
Thanks for the good review, i have 2 of the above mentioned products, one issue i have run in to wile attempting to use either is "sound! I am attempting to connect to my voip server with media 5 and accrobits wile both look good, I can't say much for he functionality. as 1 i am blind and 2 i require the voice over feature. media 5 operates well, in program with voice over howeverin call my voice cuts out, and the call starts to lag behind. now for accrobits, I can't use voiceover at all, as the dial-pad will not activate, and in call the playback test call does not send back my audio. out of the too, i have to say, if the issue with voice overis fixed, I would be inlined to use accrobits, soft phoneif on the other hand, i could se improved connectivity with media5 - phone then i would continue to use that as well. Quick note... both apps were also tested with voice over off, and accrobits passed withflying colours!. good call quality over all. and no complaints from the other party. note for developers though please alw for voice over interoperability! it saves me from accidentally hanging up on someone unexpectedily.
14/03/10 @ 10:30

This post has 1 feedback awaiting moderation...

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)
What is the most common VoIP protocol
antispam test