HOWTO : Voice over IP (VoIP) on Android (Asterisk Edition)
*** Last updated on August 28, 2010 (GMT +8) ***
This tutorial is show you how to setup your Android phone to communicate with another IP Phone or Android in no further investment. Meanwhile, this feature does not consume your mobile phone air time but consume the 3G data. If you have an unlimited 3G plan, you will be very happy with that. Make sure you are connected to the internet when using the VoIP. Wifi also works fine.
PART I - Select a SIP provider
The following SIP providers offer free account of SIP service for inbound and outbound. You can select one of them that suit you most. I prefer
sip.tpad.com
sip.12voip.com
sip.smartvoip.com
sip2sip.info
sip.actionvoip.com
For example, your login name (account name) of sip2sip.info is "
PART II - Asterisk configuration
If you have an Asterisk server, you can set it yourself. The settings are similar to the below mentioned. If you do not have one, I suggest you to use PBXes.org (the same provider/developer of SIPDroid) which offers 2,000 minutes monthly free air time for 60 minutes per call. You will have 2 simultaneous calls, 5 trunks and 5 extensions per account.
The following is setting at the website of PBXes.org :
(A) Create a Trunk
"
"Trunk Name" - any name you like, e.g. sip2sip
"username" - the username of sip2sip.info, e.g. 3344567890
"password" - the password of sip2sip.info
"SIP server" - "sip2sip.info"
"Outbound Caller ID" - any name you want to display on phone
(B) Create Outbound route
"
"Route Name" - any name you like, e.g. sip2sip
"Trunk Sequence" - select the above, such as SIP/sip2sip
Select "Valid for all numbers"
"Extension" - any number, e.g. 100
(C) Create Extension
"
"Display Name" - any name you like, e.g. Android
"username" - android-100
"password" - any password
"dial" - "SIP/android-100"
"Outbound CID" - any name you like, e.g. Android
(D) create Ring groups
"
"ring strategy" - ringall or hunt or memoryhunt
"ring time (max 60 sec)" - 60 or less
Select "Hangup"
(E) Create Inbound route
"
Regular Hours
Select "Extension" to "Android <100>"
After Hours
Select "Extension" to "Android <100>"
Select "No override (obey the above settings)"
PART III - SIP Client (Softphone) for Android
There are 2 great SIP clients for Android, they are
The captioned clients are under development in beta and alpha stage respectively. The current version of SIPDroid is 1.5.5 while CSipSimple is 0.00-12-22. For the CSipSimple, I suggest you to download it at her official site.
You can download "
(1) CSipSimple configuration
(A) Account
"
"Account name" - any name you like, e.g. pbxes.org
"User" - username-, e.g. android-100
"Server" - pbxes.org
"Password" - password
(B) Settings
(a) Easy Configuration
Nothing to set now.
(b) Network
Check all items.
(c) Media
Check "Echo cancellation"
Check "Voice audio detection"
(d) User interface
Check "Dialer integration"
Check "Text dialer"
Check "Integrate with Music application"
Check "Keep awake while on call"
Check "Use partial wake lock"
(2) SIPDroid configuration
The setting is similar to the CSipSimple. It also provides video streaming.
PART IV - Dial out
At the space provided at the CSipSimple, type the following to dial out :
For example, you dial to yourself from another softphone.
or
PART V - Linksys SPA IP Phone (SPA941) configuration
Open browser and go to the setup page of SPA941.
Ext 1
SIP Proxy-Require - pbxes.org
Proxy - pbxes.org
Outbound Proxy - no need to set
Use Outbound Proxy - no
Display Name - Office
User-ID - office-100
Password - your password
Use Auth ID - yes
Auth ID - office-100
e.g. you have create "office" with the extension "100" at PBXes.org
User
Speed Dial 2 - android-100@pbxes.org
Speed Dial 3 - david-100@pbxes.org
Speed Dial Out
Pick up handset, press "2" (speed dial number) and then "#"
PART VI - Conclusion
Although SIPDroid is the first apps in the Market for VoIP and it also provides video streaming, the dial out procedure is not mature. The apps cannot running in the background for awaiting VoIP calls when you always dial out to PSTN (land lines). It is because it dial out VoIP calls only.
CSipSimple is still in alpha stage but it is quiet more stable as at 0.00-12-22. You can select if you want to dial out via SIP account or Mobile phone number. It is quiet mature. It will be prefect if it also provide video streaming and contact list for VoIP dial out.
CSipSimple and SIPDroid are working prefectly on Asterisk.
The current development version (CSipSimple 0.00-12.22) does not support bluetooth. When bluetooth is enabled, the incoming and outgoing call may caused your Android hang or power off is required.
This tutorial may also apply to other smartphones or desktops that have SIP Client. For Ubuntu or Linux, you can use
That's all! See you.
UPDATED : CSipSimple just released 0.00-12-24 today (2010-AUG-28). A quick test is conducted and some bugs are fixed. This tutorial will be updated when I fully tested this new version.
Testing report
UPDATED : The current version is 0.00-12-36 as on today (2010-SEP-22). The app is much more stable.
This tutorial is show you how to setup your Android phone to communicate with another IP Phone or Android in no further investment. Meanwhile, this feature does not consume your mobile phone air time but consume the 3G data. If you have an unlimited 3G plan, you will be very happy with that. Make sure you are connected to the internet when using the VoIP. Wifi also works fine.
PART I - Select a SIP provider
The following SIP providers offer free account of SIP service for inbound and outbound. You can select one of them that suit you most. I prefer
sip2sip.info
. Make sure to register to the SIP provider and write down all the details that they give you for further setting.sip.tpad.com
sip.12voip.com
sip.smartvoip.com
sip2sip.info
sip.actionvoip.com
For example, your login name (account name) of sip2sip.info is "
Android
".PART II - Asterisk configuration
If you have an Asterisk server, you can set it yourself. The settings are similar to the below mentioned. If you do not have one, I suggest you to use PBXes.org (the same provider/developer of SIPDroid) which offers 2,000 minutes monthly free air time for 60 minutes per call. You will have 2 simultaneous calls, 5 trunks and 5 extensions per account.
The following is setting at the website of PBXes.org :
(A) Create a Trunk
"
Trunks
" -- "Add Trunk
""Trunk Name" - any name you like, e.g. sip2sip
"username" - the username of sip2sip.info, e.g. 3344567890
"password" - the password of sip2sip.info
"SIP server" - "sip2sip.info"
"Outbound Caller ID" - any name you want to display on phone
(B) Create Outbound route
"
Outbound Routing
" -- "Add Route
""Route Name" - any name you like, e.g. sip2sip
"Trunk Sequence" - select the above, such as SIP/sip2sip
Select "Valid for all numbers"
"Extension" - any number, e.g. 100
(C) Create Extension
"
Extensions
" -- "Add Extension
""Display Name" - any name you like, e.g. Android
"username" - android-100
"password" - any password
"dial" - "SIP/android-100"
"Outbound CID" - any name you like, e.g. Android
(D) create Ring groups
"
Ring Groups
" -- "Add Ring Group
""ring strategy" - ringall or hunt or memoryhunt
"ring time (max 60 sec)" - 60 or less
Select "Hangup"
(E) Create Inbound route
"
Inbound Routing
" -- "Add Incoming Route
"Regular Hours
Select "Extension" to "Android <100>"
After Hours
Select "Extension" to "Android <100>"
Select "No override (obey the above settings)"
PART III - SIP Client (Softphone) for Android
There are 2 great SIP clients for Android, they are
SIPDroid
and CSipSimple
. You can download them in the Android Market.The captioned clients are under development in beta and alpha stage respectively. The current version of SIPDroid is 1.5.5 while CSipSimple is 0.00-12-22. For the CSipSimple, I suggest you to download it at her official site.
You can download "
Barcode scanner
" from the Market
to scan the QRCode on the site for installation. Make sure you have enabled the "Unknown sources
" at "Applications
" of "Settings
" at your Android phone.(1) CSipSimple configuration
(A) Account
"
Add account
" -- "Basic
" "Account name" - any name you like, e.g. pbxes.org
"User" - username-
"Server" - pbxes.org
"Password" - password
(B) Settings
(a) Easy Configuration
Nothing to set now.
(b) Network
Check all items.
(c) Media
Check "Echo cancellation"
Check "Voice audio detection"
(d) User interface
Check "Dialer integration"
Check "Text dialer"
Check "Integrate with Music application"
Check "Keep awake while on call"
Check "Use partial wake lock"
(2) SIPDroid configuration
The setting is similar to the CSipSimple. It also provides video streaming.
PART IV - Dial out
At the space provided at the CSipSimple, type the following to dial out :
For example, you dial to yourself from another softphone.
android@pbxes.org
or
android-100@pbxes.org
PART V - Linksys SPA IP Phone (SPA941) configuration
Open browser and go to the setup page of SPA941.
Ext 1
SIP Settings
SIP Proxy-Require - pbxes.org
Proxy and Registration
Proxy - pbxes.org
Outbound Proxy - no need to set
Use Outbound Proxy - no
Subscriber Information
Display Name - Office
User-ID - office-100
Password - your password
Use Auth ID - yes
Auth ID - office-100
e.g. you have create "office" with the extension "100" at PBXes.org
User
Speed Dial
Speed Dial 2 - android-100@pbxes.org
Speed Dial 3 - david-100@pbxes.org
Speed Dial Out
Pick up handset, press "2" (speed dial number) and then "#"
PART VI - Conclusion
Although SIPDroid is the first apps in the Market for VoIP and it also provides video streaming, the dial out procedure is not mature. The apps cannot running in the background for awaiting VoIP calls when you always dial out to PSTN (land lines). It is because it dial out VoIP calls only.
CSipSimple is still in alpha stage but it is quiet more stable as at 0.00-12-22. You can select if you want to dial out via SIP account or Mobile phone number. It is quiet mature. It will be prefect if it also provide video streaming and contact list for VoIP dial out.
CSipSimple and SIPDroid are working prefectly on Asterisk.
The current development version (CSipSimple 0.00-12.22) does not support bluetooth. When bluetooth is enabled, the incoming and outgoing call may caused your Android hang or power off is required.
This tutorial may also apply to other smartphones or desktops that have SIP Client. For Ubuntu or Linux, you can use
Ekiga
.That's all! See you.