Sipdroid is an open-source SIP client that adds native SIP/VOIP to Android’s default dialer / contacts applications. You can find Sipdroid in the Android Market or alternatively can download it here. SIP (Session Initiation Protocol) is the Internet standard for real-time voice and video communications. It’s a fundamental building block for many popular consumer VOIP products that you may have used – Vonage or MagicJack are two examples. Once installed and configured properly, sipdroid allows you to make & receive calls over Wifi and 3G / EDGE data connections – which is a really powerful thing! A similar solution from Gizmo5 allowed many Android users to completely untangle themselves from mobile minutes and rely on a purely VOIP solution. Alas, new Gizmo signups were suspended after Google announced their acquisition – but we should all be excited to see what they can cook up as part of the official Google Voice team.
While it’s expected that SIP providers will become more interoperable, the simplest and most powerful solution currently available to get sipdroid running involves registering to the virtual PBX service from PBXes.com. For the uninitiated, a PBX (Private Branch Exchange) is what establishes and manages the connections between the telephony products of a private organization (telephones, fax machines, etc.) – each of which is labeled with an ‘extension’. It also is the system through which these extensions are able to access the public telephone network (PSTN). Since the 1990s, traditional PBX solutions – usually out of reach for small businesses or individuals due to cost and complexity – have evolved to IP-based and virtual or hosted PBXes, which greatly simplify the processes of building and scaling telephony services. PBXes.com is one such ‘virtual PBX.’ Once a PBXes account is established, the account owner can create multiple extensions beneath it and easily dial between those extensions. You get 5 extensions for a free account, more for paid account types.
Why is this solution so interesting? If you have a relatively small group of colleagues (NGO, humanitarian workers, activists, journalists, etc.), it allows you to easily establish a private internal phone system that can be used over a data connection in lieu of the regular phone system. In our experience, the call quality is also quite good. And while the following step-by-step guide will lead you through the process of setting up this simple solution, first a word of caution: this is not a secure solution yet. It is a first step, however, down that road. To achieve a more secure solution, we need to enable more features, include tunneling and encrypting traffic through a Virtual Private Network (VPN) as well as integrating to a privately maintained Asterisk phone server running with custom security settings.
We are also investigating solutions that uses a public key exchange model, such as Philip Zimmermann’s ZFone, such as the new RedPhone app just announced by WhisperSystems.
1. Configure extensions to a PBXes.com account
If you don’t already have a PBXes.com account, head over to http://www.pbxes.com and fill out the straightforward account registration form for a free account.
Next, select ‘Extensions’ from the left-hand navigation menu, then choose ‘SIP’ under ‘Add an Extension.’
Last, configure your new extension with a few critical elements. Make sure you fill out the following fields, at a minimum:
-
- Extension number (e.g. 100, 101, 402, etc.)
- Display name (e.g. johndoe-100)
- Password
After clicking ‘Submit,’ go ahead and repeat the process for as many extensions as you’d like to set up. Each of these will be specific for a unique Android device. Don’t forget to APPLY your changes when finished by clicking the bright red bar – this ensures your changes take effect.
2. Configure extensions on sipdroid
If you don’t already have sipdroid, you can find the latest version here, or point your barcode scanner to the following QR code:
Within the Account Settings section of sipdroid, set up one of your extensions from step 1:
· Authorization Username and Password
· Server: pbxes.com
· Port: 5060
· Protocol: TCP
You should see a green dot appear in your notifications tray on successful registration like so:
3. Trial Run – dial between extensions
Once you’ve set up a number of extensions within your PBX, you can easily dial between them. Simply input their extension number (e.g. 100).
4. (Optional) Configure VPN
As mentioned above, the solution so far isn’t a secure one. A first step in the right direction is connecting to PBXes’ PPTP VPN. For those quicker on their feet, configuration instructions can be found here. If you’d prefer to stick with us, follow these steps:
4a. On your Android phone, access the ‘VPN settings’ section of Wireless & network settings.
4b. Select ‘Add VPN,’ then ‘Add PPTP VPN’
4c. On your Android phone, access the ‘VPN settings’ section of Wireless & network settings.
- VPN Name – your choice
- VPN server – www#.pbxes.com [for # see URL line after logging into PBXes on your browser]
- Enable encryption – We haven’t had success with enabling encryption on PBXes yet. This might be due to a sipdroid issue or it might not. If you have success on Android 2.0 / Éclair please let us know in the comments! Nathan reported issues with encryption using PBXes PPTP VPN as well. -Derek Halliday 5/12/10 4:33 PM
- DNS search domain – leave empty
- Username – <account name>-<extension no.> (e.g. guardianproj-401)
- Password – <extension password>
That’s it! If you come across any issues or have any questions along the way, please let us know in the “Comments” below and we’ll do our best to help you out or clarify. And if you’re itching for more, here are a couple next steps. We’re not presenting a deep tutorial on these (yet), so we’d love to hear from you if you have pursued either – or even better – if you’ve used sipdroid and/or PBXes in any other creative ways!
- Hook your PBXes account into an external DID / VOIP number to dial out to standard phone. Think of it as the equivalent of ‘Skype Out’ for sipdroid. You can use a service such as CallCentric (http://www.callcentric.com/) for this.
- You can also integrate desktop VOIP programs or other mobile device client into the same PBXes accounts. Here’s a great list of free, open-source SIP clients. We personally like Blink for Mac OS.
- If you have a privately maintained Asterisk or other SIP compatible-server, you can use this same approach with that box, and integrate with your own VPN server. We will be covering this in more detail with a future post, as this is a more secure solution that using a provide such as PBXes.
Thank you for you article. It helped me set this up. I suggest you add one little detail.
Leave the username/caller id box empty in Sipdroid or you wont be able to connect to pbxes.
I can’t figure how to get a hold of a person on there lap top. They have a Skype account. I want to see each other on video. Please help me. Thank you.
Hi,
I follow your instructions but i cant connect to vpn….
thanks
Hello, I hope that I can get some help on the call dropping after only one ring. A church member and I followed your directions to the T. We set up our pbxes.com accounts by setting username, password and extensions. The account said that I could be reached at kenswygert-700@pbxes.com and that she could be reached at kishadonley-703@pbxes.com. We tried dialing those first, but those calls dropped after a second. Then, we tried what you said, dialing just the extensions. I dialed 703, but it came up as 703p and would hangup after about a second. I do not know why it was pulling the p from the @pbxes.com sipdroid app. In the extension box I noticed that the dialer said that we could dial SIP/kenswygert-700. We tried that and it did not work. We tested the *43 and it worked. I noticed on sipdroid video that Pascal dialed standard mobile numbers and that worked. Can you help? Thanks
Hello,is there a way to get pbxes to set up my pbxes account for me? I am not really a tech savvy user and would just like to get setup so that friends from over seas can call me and i them using voice and video.
ZRTP/Zfone secure VOIP is requested in sipdroid in the following issue:
http://code.google.com/p/sipdroid/issues/detail?id=63
Nice post. I appreciate, as I’m sure does everyone else, the level of detail here. VoIP isn’t new by any means but not everyone gets all the pieces.
Thanks for this very interesting Post !
I landed on this article while searching about potential security breach with the application sipdroid. I surfed your site and felt particularly concerned because I’m working in humanitary.
I have a very general question regarding all Android OS’s versions or mod’s :
How can I know what the applications are doing with my datas ? For example, I can see that sipdroid needs access to contacts, SD card, etc… So the application can take all my datas and send it forward for any usage ? Or do I misunderstood the Warnings at installation stage of all Applications ?
Thank you for your great posts
Hi!
I have a Samsung Galaxy S and SIPdroid, I can receive calls but I can not make call, it rings four time and then ends! Before I had an error message ‘Incopatible codecs’ now this problem don’t accour any more it just hang up and the other side doe not have any unanswered call!?
What should i change, my mobile provider has VOIP because I was using this nromal on my Nokia but here does not work!
Thank you for your help!
With best regards!
David
Using Nexus with Android 2.2.2.
I get an error if I enable encryption. If I disable it, I can connect easily.
Note for the newbie: You have to connect/disconnect VPN from the phone’s setup -> wireless & networks -> VPN menu
hi,
I have followed the above step-by-step instruction and managed to get my own vpn connected. But I really don’t know how to use the SIPdroid on my phone. And what is my PBXes account for? please explain how it work. I’m so confused. I want to do exactly like the video in this link: http://code.google.com/p/sipdroid/
Thank you very much.
hi, am having this problem. i have set up everything correctly. but i cant call any phone numbers, they just drop the call. and i need help by the web page, i done everything correctly, i can see the green dot but still cant call.
thanks
I don’t think this is going to work out well unless we can make android support some kind of vrf a.k.a. network “containers” or multiple IP stacks, because your example shows right away that you’ll not want to have all apps within the same VPN.
Ideally I’d want only Orbot and the VPN client(s) to be in the “internet” VPN, and everything else—market, the various phonehome updaters, “push” apps, and anything else that could leak information and tie your device to a google account, a blog commenter identity, or a search engine query, should be forced through the VPN. Privacy is about the communication your device silently does on your behalf as well as what you do deliberately. I want to be able to move from one country to another without minor web sites knowing I’ve left through my IP address. This is a weakness of Tor everywhere—all kinds of garbage spews out of a tor-ified computer like Bonjour and NTP and GUID-laden IPv6 crap and uuid-laden updater queries.
We do have the “per app” Tor support in Orbot, and have been thinking about being able to blackhole/block any app which is not going through Tor.
Otherwise, seems like with iptables you could achieve quite a bit of what you are talking about.
Hi!!! how to create account on pbxes? it does not show the captcha and then on submitting the form shows invalid captcha…
Sorry we can’t handle Pbxes support requests, however we are sure there is a way to create new accounts there.
Ive been trying to create an account on pbxes.com for the past half hour… No matter what username/password i try, i still get the “Invalid username/password” and it automatically sends me back to the sign up page, saying “Invalid capcha” when there is no capcha on the page… ?? Help?
Hi Mandee – unfortunately we can’t assist with issues on pbxes.org – however we’ve been seeing from other comments that they may be experiencing captcha issues. This blog posting also needs a big revision – which we’re planning on doing shortly – as the tools we recommend have already changed! You should check out the CSipSimple android application, which can be used with nearly any SIP account. Check out the project here.
You have to use Internet explorer and when you go to that page you will see that internet explorer is blocking a pop up. It show this in a bar at the top of the page. Click to allow the pop up and you will get the capcha thing.
fyi, the csipsimple-tls nightlies support zrtp on android.
best,
nils
get me full vpn setting in samsung pop android mobole please help meeeee
I always hang up upon connected
I’ve been trying to set this up for about an hour. I’ve done the step-by-step instructions exactly as shown above, but I only get a yellow dot and/or a red dot. What do these dots mean? What am I doing wrong?
Sipdroid has changed quite a bit since we wrote this post. You may want to check out http://sipdroid.org/ for some updated guides and information.
@Maria – for me, a yellow dot for me meant I was not connected to an appropriate network (e.g. wifi, since that’s all I’d allowed in the settings). If all you’ve allowed is wifi, and you’re not connected, you’ll get a yellow dot.
I’m having a problem getting sipdroid to give me a ph number, here in mo. there don’t seem to even be the option of using one of the 27 other state numbers here. help ??
Sorry we cannot support issues with pbxes and phone numbers.
This is strange. I was able to make a call to a PNTS line, but can not connect to any “extensions” I set up. It’s unclear what these extensions should connect to, anyway, given the setup info you suggested. I set up an extension 100 as per your instructions. But when I dial it, it just hangs up. Any clue why anyone?
Hey!
Thank you for the info, I just followed all the steps and it works perfectly! I was able to use my SIP account from my local company and call to Bolivia, using my virtual phone there…
Amazing! Using right codecs the quality is quite good! Keep it up, you are doing a great job!
Jaime
I too had issues logging into the pbxes website after sipdroid made my account. But after looking/comparing my SipDroid user/pass to my acceptance email, my user name was different than what it is on my android/sipdroid. Instead of USERNAME-100 like on the SipDroid/phone, it was plain USERNAME when logging in on the website.
So watch for that email for your username, and see if it helps you login into the website via browser.
We’ve generally stopped using SipDroid and PBXes… please check out our work on the Open Secure Telephony Network for our latest advice: https://guardianproject.info/wiki/OSTN
Hi.
Can you help me,how to call video from Android phone by Sipdroid to pbxes.org/????? on PC ?
Thanks.
Sorry we cannot help with Sipdroid or Pbxes.org. We now only work with CSipSimple which is available in Google Play, and instead of Pbxes please visit https://OStel.me for our new secure open voip service.
That’s great.
But can not use.
Can you help again with the newest version Sipdroid 2.7
Can you introduce again :
– How to call video from mobile to Laptop by Sipdroid and pbxes.org.
– How to call video from mobile to mobile by Sipdroid + pbxes.org +GTalk ?
Thanks
Call me stupid but this is all way too over my head. Really bums me out. I cant figure out my authorization user name is. Or what password they want. I set up my pbxes.com account. Under user name do the want the Account Name: from the pbxes.com web site? And use that password? Or do they want the user name and password you used to create your account at pbxes.com? I don’t see any where on the pbxes.com web site that says: “authorization user name” I downloaded the ap on my phone and I cant find any instructions anywhere. Plus the ap already has some stuff filled in on the settings and they don’t agree with what is in the instructions above. Sorry but just some simple instructions and a better GUI would go a long way with me. Any help would be appreciated.
Instead of trying this outdated approach, please visit https://OStel.me for our new secure VoIP system.
Thank you so much!
hi thanks for your information
Can i use single VPN account in multiple devices?
How may I apply SRTP to Sipdroid ?
under authorization user name, what do i put and server [proxy.
cant get any farther,
help
Thank you for bringing up Ostel, great work!