The increasing number of SIP developers working on products in the App Store and the Android marketplace reflects the growing interest in mobile voice over IP solutions. More developers means more competition. More competition will hopefully mean more innovation and better products for the end user. In the end, we all win.
Groundwire for the iOS by Acrobits, a mobile software company focused primarily on SIP clients for mobile devices, is the business version of their Acrobits Softphone. Marketed as a viable replacement for your desktop phone ("Throw away your desktop phone, Groundwire is here."), this mobile VoIP application includes many of the features you would expect to find in enterprise VoIP software or SIP hardware devices.
Let’s jump right in. Groundwire is a great looking app. The design of the user interface doesn’t stray too far from what you find in the native Phone application on the iPhone, which I’m sure a lot of people will appreciate.
What differentiates Groundwire from its sister app the Acrobits Softphone is the inclusion of features such as multiple lines, blind and attended transfer, and conferencing. Acrobits has an extensive list of all the features you’ll find in Groundwire on their website. I’ve attached this list below.
I did notice that this application is a couple of bucks more expensive than competing products like the Bria for iPhone. Groundwire is priced at $9.99, while the Bria is priced at $7.99. Groundwire (v1.5) currently has a 5/5 star rating (based on 8 reviews) in the App store. Considering how easy this may be to manipulate, you should probably take the rating there with a grain of salt.
I’ll quickly go over here how to setup an OnSIP SIP account on Groundwire. You’ll need your personal SIP credentials, which you can find in your users tab in the OnSIP admin portal. The information you’re looking for should contain the following:
When you first open Groundwire after installing it on your iOS device, you should be looking at your keypad screen (If you’re already at the SIP accounts page, then even better). You’ll see a ‘settings’ tab in the upper right hand corner of your screen. Click on it, and the first option listed is ‘SIP Accounts’. Click on the plus sign in the upper right hand corner of this screen to add an account.
Click on the 'Generic SIP Account' option. Enter in your user credentials in the provided fields as follows:
- Title - Your Choice
- Username - Username
- Password - SIP Password
- Domain - Proxy/Domain
- Display Name - Your Choice
Next, click on 'Advanced Settings'. Scroll down until you see the field for 'Auth User Name'. Enter in the Auth Username info you have from your personal SIP credentials.
Finally, scroll down even further on the 'Advanced settings' page until you see 'Outbound Proxy'. Click on it. You'll want to enable Outbound Proxy, set the 'Host' to 'sip.onsip.com' and make sure that the 'Transport Protocol' is 'udp'. Hit 'Done' when finished. These steps are shown below.
Acrobits has further video tutorials on their site. They’re very helpful for getting started, and include tips for users.
At Junction Networks, we put each of the phones we use through a multi-step interoperability test in which we apply ~30 test cases. An example of a test case would be the following:
Test phone calls phone B
B picks up
B puts Test phone on hold
B calls phone C
C picks up
B transfers test phone to C
Call must be transferred correctly to C. B must be released correctly after the transfer. When C picks up, audio must work in both ways between test phone and C. When test phone is on hold, there is no audio between it and phone B.
Groundwire version 1.5 passed our test cases with no issues.
For OnSIP customers, the ‘incoming calls in background’ option will not work because the only transport protocols supported in the app are tcp, and tls. Please read the article The Dangers of Push Notifications in Mobile SIP Applications before you consider turning on Push Notifications. Bottom Line: don't do it.
I also did notice that having Groundwire open throughout the day did significantly drain the battery life on my iPhone 3GS.
Calls using Groundwire usually sound pretty good. With G.711 u-Law, the call quality is on par with what you get on a regular cellular (GSM) call.
The Groundwire app offers users the ability to select their preferred 3G and Wi-fi codecs. HD-G.722 is available for both. I found that calls negotiated in G.722 sounded much better, even when I was using my 3G network here in New York City.
Keep in mind that your overall call experience with Groundwire will depend almost entirely on the network strength at your location. During a call, Groundwire will display a 5-bar scale that supposedly measures the strength of your connection. You can also scroll to a screen (run your finger across the part of the screen with your call handling options) that displays the packet loss and jitter of the call.
Ease of Use
I found the Groundwire application incredibly intuitive and easy to use, but that may be because I’ve spent way too much time with mobile VoIP applications. You’ll notice that Groundwire has 3 main tabs that you can access by clicking on them in the bottom navigation bar: Quickdial, History, and Keypad. Contacts is the 4th tab, but it’s really just an import of your native contacts.
In the upper left hand corner of your screen, you’ll notice a status indicator next to the name of your currently active VoIP account. Green means you’re registered, and green with two arrows pointing in opposite directions means you’re currently taking incoming calls on this account. Red means you’re not registered and that there’s probably an error somewhere in your settings. Clicking on this status indicator brings up a menu that lets you choose which account you want to use for outbound calls.
The Quickdial screen is nothing more than a collection of your twelve favorite contacts that you can click to call.
History contains the call history for all of your VoIP accounts in a list format. You can choose to see your entire call history or filter the list down to your missed calls. Clicking on the name of the caller within each list item automatically dials his/her number, while clicking on the arrow in each list item brings up a screen with more detailed information about the call. It’s here and only here that you’ll find out which of your SIP accounts is associated with a particular call. This is absolutely necessary if you have multiple SIP accounts.
You can also access your call recordings here. Each call with an associated call recording has a small audio tape cassette image next to it. You can listen to the call recording from your iPhone or even choose to email it to yourself. (You might want to check your spam box for an email from ‘Groundwire Call Recorder’)
The next screen is your Keypad. This includes a standard dialer with a field at the top that you can tap on to input SIP addresses. In the upper right hand corner of this screen is your ‘Settings’ button. In addition to customizing your SIP accounts, you can also customize the look and feel of the application. If you go into ‘Settings’ > ‘Preferences’, you’ll see a full list of customizable options that will be applied to all of your SIP accounts. For example, you can go into ‘Controls’ and enable ‘Shake Gesture’, which allows you to switch between active calls by simply shaking your phone.
Now lets talk about the actual on-a-call experience. During a call, you will see a screen that looks something like this.
Immediately under the caller ID information, you’ll notice 3 options. The one on the left, which has a diagram that kind of looks like a piece of paper, takes you back to the main keypad screen so that you can make another call. Note that this does not put your current caller on hold until after you have dialed another number. The one one in the middle (microphone with an X over it) is your mute button, and the one on the far right is your speakerphone. Both of these options have indicators that show when they are active.
Under these 3 buttons are 6 other call handling options. These include another keypad option, which you can use to interact with attendant menus, hold, call record, transfer, join (conference feature; only works if you’re on two calls already), and attended transfer. I found the transfer and conferencing features pretty intuitive. When you hit the transfer button, the application takes you back to the main keypad screen. Simply enter the number you want to transfer your caller to and hit dial.
If you’re on two simultaneous calls you can hit the attended transfer button. The application will display your other active call. Simply click on it to conduct an attended transfer.
The join button to start a conference only works if you already have at least 2 calls going. Once you have two active calls, hit the join button and you’ll be asked to select another party to invite to the conference. The app will display your other active calls, and all you have to do is click on one. Once you’re in a conference you’ll see a screen like the following image:
Click on the names of the people in the conference with you, and you can select members of the conference individually, which gives you the option to transfer them out of the conference via blind or attended transfer.