Since starting our company in 2004, we’ve been dreaming of the day when mobile devices replace desktop phones. Imagine your desk minus the old school desk phone. You sit down, remove your cell phone from your pocket, and without doing anything, you are ready to make and receive 4-digit extension calls within your office phone network.
There’s lots of buzz about sipdroid, a “SIP client for Android” under GNU General Public License v3. The project page says sipdroid “Adds native SIP/VoIP to Android's dialer/contacts. Make and receive calls over Wifi, 3G, and EDGE with perfect voice quality and lowest delay”.
Good-bye desk phone, right?
We put it to the test, with our fingers crossed. For some perspective on what we are testing/hoping for, keep in mind that we are interested in using SIP on a mobile device as we would use a desk phone in a corporate environment. This means extension dialing, call transfer, etc. must work. Think about it…How great would it be if someone dialed your extension and you could take the call anywhere?
Configuring sipdroid is quick and easy. We have a step-by-step sipdroid configuration guide in our knowledgebase for OnSIP accounts, but the process is very similar regardless of how you need to configure the application. Once you have punched in your settings, you should see a little green dot in the upper left hand corner of your screen. For OnSIP users specifically, we require that you turn off both Speex and Alaw, while setting the application to "always try" Ulaw.
Link: sipdroid Configuration
Junction Networks Interoperability Test
The phone did perform well for the most basic functions:
- Register the phone with OnSIP over WiFi
- Complete outbound calls using 10-digit phone numbers and sip addresses outside of our LAN
- Receive incoming calls from callers using SIP addresses and 4-digit extensions (which are translated into SIP addresses by OnSIP)
However, we did run into many issues:
While transfers using sip addresses worked, they fail if you're using 4-digit extensions:
Charlotte has isolated a bug in sipdroid (shown below) which is causing the problem. Hopefully it can get fixed. As it turns out, you actually have to type in the full address for your extension (i.e. email@example.com), which kind of defeats the purpose of it in the first place.
Things get even messier when a call is being transferred to sipdroid.
3G was a major problem
We’re not sure if Verizon is blocking traffic, sipdroid has an issue with 3G, or if network congestion was hampering us. Regardless, we got lots of “no suitable data network available” messages when trying to register using 3G. The 3G issues occurred in both Manhattan and in suburban New Jersey.
Flaky call appearances
In multiple instances, the phone had an appearance, which was inconsistent with the call state of the phone. For instance, after a call was transferred away from the Droid, it appeared as if the Droid remained in the call for several seconds.
We also ran into another issue that may be similar. When the Droid is making a call and it hangs up before the other person answers, the other phone will continue to ring.
We really, really, hope this app has a future as an alternative to my desk phone, which is taking up too much real estate on my desk. And I know many OnSIP customers feel the same way!
Here are the details of the bug which Charlotte uncovered.
As of sipdroid 1.4.4 beta, transferring to a phone number rather than to a SIP address fails because of a violation of SIP RFC 3261. The RFC states that all INVITEs must have a domain specified in the Request-URI, even if the INVITE is being sent to a phone number. In this case, what sipdroid should do is append the domain of the registered user onto the phone number being dialed and stuff that combination into the Request-URI. But it fails to do that and instead sends a packet that looks like this:
INVITE sip:15555551212 SIP/2.0.
From: "Hiro Protagonist"
Instead of one that looks like this:
INVITE sip:firstname.lastname@example.org SIP/2.0.
From: "Hiro Protagonist"
Our proxy correctly responds with a SIP 476 unresolvable destination error and the call fails. Transfers to SIP addresses work correctly because the domain is specified by the user. This only happens on INVITEs issued in response to a REFER (i.e., transfers), so it looks like simple coder error. Hopefully we’ll see a fix in the next release.
We were actually impressed with the sound quality of completed calls. We’d put it somewhere between the quality of a cell phone call and a desk phone call (non-HD). There was very minimal audio delay when talking to colleagues using their Polycom IP phones.
Ease of Use
Note: Our tests were on a Motorola Droid phone. Your user experience may differ depending on what phone model you're using. For example, we have another Droid phone (HTC Droid Eris) running sipdroid and have yet to figure out how to dial 10 digit numbers using the application
If you’re a fan of SIP addresses, then sipdroid may be the app for you. The default start screen of the application is very bare, including only a field where you can input a SIP address, and a comprehensive list of your recent SIP calls. When you click the “back” hard button (it looks like a U-turn sign), the application gives you an icon that leads you to more options, and another ‘dial’ icon. Touch the ‘more options’ icon, and you’ll be led to a screen with 4 menu items: phone, call log, contacts, and favorites. Touching the ‘phone’ icon allows you to dial regular 10-digit phone numbers. The ‘Call log’ includes all your calls, both SIP calls and regular calls, and includes information regarding when the call took place. You can store all your contacts in the ‘Contacts’ folder, and designate some of them to your ‘Favorites’.
During the call, clicking the ‘menu’ hard button (it looks like a list) will bring up call handling options like hold, transfer, speaker, mute and a redundant button which ends the call.
The future of SIP user agents looks promising, and sipdroid is yet another small step in the right direction. Overall, we felt that the application works best when it’s doing SIP calls on a Wifi network. Throw in extensions, 10 digit telephone numbers, and 3G and you will most likely run into an assortment of problems. For these reasons, we cannot recommend this application to our customers in its current form.
Do you have a sipdroid success story? Please share.
Published April 6th, 2010