Counterpath released an iPhone version of its Bria softphone at the beginning of the summer. It has quickly become one of our favorite VoIP applications in the App Store. The company promised not long after that another version for the Android market would not be far behind, and now—5 months later—it’s finally here. Huzzah!
How does this new app from the “leading provider of innovative desktop and mobile VoIP software products and solutions” measure up to existing mobile VoIP apps for the Android?
Like other Counterpath solutions, the Android Bria is an “Enterprise-Grade” VoIP solution. This means that you can count on it to function like an extension of the phone sitting on your desk in the office.
There does not seem to be quite as many standards-based VoIP applications available in the Android market as there are in the App Store. And of the VoIP apps in the Android market, even less have the basic functions a business user might need such as transfer. Some of the apps that we’ve tried so far (CSIP Simple, SipDroid) are open-source projects that are entirely free to download. While I think this is pretty great, it can mean that the products you have on hand are stuck in a constant state of being works in progress. Few, if any, of these applications are at the place we need them to be.
Bria for Android might be the candidate we’ve been waiting for to recommend to our customers with Android devices. Like the iPhone version when it was first released, the v1.0 of the Android Bria comes with many of the features (blind transfer, attended transfer, 3-way conferencing) other Android VoIP developers are still working on. Check out this features list, taken straight from Counterpath’s marketing site.
Configuring Bria for Android is pretty simple. Here I'll include a walk-through of how to provision an OnSIP account with OnSIP specific settings. The steps here are pretty standard, and can be followed to set up any account with slight modifications here and there depending on your provider.
First, you will need your OnSIP user credentials. These can be found under the User Tab within your OnSIP Web Admin portal.
Clicking on the application for the first time after you've downloaded it should automatically take you to the ‘Account’ screen. If for some reason that is not what you see, you can get there by clicking 'More' from the top navigation bar and selecting ‘Account Settings’ in 'Settings'. In this first version, you can only have one account saved at a time, but Counterpath is likely to add support for multiple accounts very soon. Enter in your credentials in the fields on this page, keeping in mind that OnSIP usernames need to be in lowercase.
Next go into 'Account Advanced' at the bottom the 'Account Settings' Page. Uncheck 'Global IP'. 'Single Register' makes sure that the softphone unregisters before re-registering. Make sure that the 'SIP Transport' method is 'UDP' and that 'Encrypt Audio' is set to 'Never'.
Go back to your 'Account Settings' page and click the 'Log in' button at the very bottom.
If you want to allow calls over 3G, you can do so under ‘Settings’ > ‘User Preferences’.
Finally, go into ‘Advanced Settings’ from the ‘Settings’ menu. Under ‘Network Traversal Strategy’, choose the option 'User Specified'. For OnSIP accounts, you want STUN and ICE to both be in the ‘off’ position. Your softphone should re-login after this step is complete.
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.
I'm happy to say that the Bria for Android passed most of the test cases in our interoperability test with little to no issues. Some of the test cases could not be done because v1.0 of the application currently only allows you to have one account registered at a time. We anticipate that Counterpath will add support for multiple registrations very soon in an upcoming release, just as they did for the iPhone Bria.
The Good: Unlike v1.0 of Bria for the iPhone, which was released before iOS 4.0 back in June, you'll have no trouble getting incoming calls with the Android Bria. If you have the application running in the background, an incoming call to your VoIP account will automatically open Bria, giving you the option to take or ignore the call. There are no push notifications to worry about.
The Bad: Bria does seem to crash rather often (3x today). Usually this happens when I take the phone out of its idle state. I get the following message:
The application Bria (process com.bria.voip) has stopped unexpectedly. Please try again.
It's not a huge issue for me because I can just force close the application, restart it, and everything is in working order. I can see from checking out the Counterpath Support forums that this is a bigger issue for users on some other Android phones. I'm using a Motorola Droid (A855) and the crashes are just an inconvenience.
A bigger problem I'm having is that sometimes—for no apparent reason—the person I'm calling will hear a very deep, digitized version of my outbound audio (Inbound audio sounds completely fine). At first we thought it was a codec issue, but we found nothing that was obviously wrong in our traces. After toying around with a few of the settings, we eventually got it to work like it should, but only after we basically reverted to the settings we had in the first place. Odd. The application went back to this weird behavior when I all I did was switch off WiFi this morning.
Hopefully Counterpath will have a fix to these issues in the near future. I will update this as we do more testing and find out more about the problem.
The current version of the Android Bria supports G.711, and GSM. These are the same codecs that came with the iPhone Bria. A license key for G.729 can be purchased for an additional $8.99. These are all narrowband codecs, but we can probably expect that HD-G.722 will be implemented at least for WiFi in the coming months.
The overall sound quality on a call is good—better than what you hear on a regular PSTN call. We also did not experience a huge degradation in sound quality when switching from WiFi to 3G. Naturally, your call experience over 3G will vary depending on the strength of your network at your location.
Ease of Use
Like the iPhone Bria, the Android version comes with 4 main screens. The first screen is the dialer, which looks as lot like the native phone client you find on the Android OS. As you might expect, there's a field at the top of the dialing screen where you can input SIP URIs. I would have liked to see better integration with the native dialing client. In this version of Android Bria, you have to click open the Bria application and use it exclusively to make calls using your VoIP account.
Other applications like CSIP Simple allow you to use the native phone app. A pop-up screen appears after you press the dial button which lets you pick what you want to use to complete the call, whether it's your regular cellular line or any of your multiple accounts registered on CSIP Simple. CSIP Simple even allows you to switch to using your cellular line even you have the application running in the 'foreground'. CSIP Simple is a pretty cool free app to download, but there is currently no transfer functionality. Back to the Android Bria...
During a call, you can access another dialing menu for DTMF, mute yourself, put the call on speaker, put the call on hold, or add another call. If you choose to add another call, you are given the option to perform a blind transfer to the second number. Bria for Android can manage up to two simultaneous calls. The calls are listed one on top of the other so you can see both of them (with timestamps) on one screen. You can switch between the calls easily with a push of a button or join them into a 3-way conference.
The second and third main screens are the Call Log and Contacts. No surprises here. I am a bit disappointed with the level of SIP URI integration on these screens in this initial build. If you were called by or called a SIP URI, you cannot easily redial by going into your call logs and clicking "call back" or "call again". The application does not save the SIP URI correctly and will give you a "404 Not Found" error. You also cannot add SIP URIs into your contact list, only 10-digit numbers. The Counterpath forums indicate that they are aware of this limitation and will release better support for SIP URIs in an upcoming release.
The last main screen is "More", which takes you to a small menu that includes settings, help, about, send log file, and premium features (G.729). I've pretty much covered settings in the App Configuration part of this write-up. To be honest, there isn't a whole lot you can customize, which isn't necessarily good or bad. 'Help' takes you to a mini browser within the app with some of the most commonly asked questions. 'Send Log File' and 'Delete Log' are useful if you have an issue and need to get in contact with Counterpath about it.
It's a little early to be developing 'Final Thoughts' but I'll say that I think Bria for Android v1.0 is a good start. It's more of an enterprise VoIP application than any other Android app we've tried, even if there are few flaws here and there. In my opinion, it's understandable if there is a longer trial and error process for the Android version of Bria since it's beginning to look like many of the phones behave differently with the app. Your experience with version 1.0 on an EVO might be completely different from mine on the older Motorola, but you can probably bet that Counterpath is hard at work on bug fixes as we speak. They didn't let us down with the iPhone Bria, and I see no reason to think that they won't make the Android version work just as well in the near future. We'll be keeping an eye out for any updates.