Android VoIP App Settings
Setting up your SIp VoIP Account
Firstly check that your Android device has WiFi connectivity. Opening up a browser and checking you have internet access verifies this. Next check you can access the internet from your cellular connection. Go to the Settings application on the device and disable WiFi, and test using the browser again.Next have details of your VoIP provider to hand, you’ll typically need the following settings. Username, Password, Domain and with some providers additionally the following. Proxy, Auth name and Voicemail number
On starting the softphone for the first time you will be presented with the SIP accounts screen. Tap on the ‘Add account’ button at the top left of the screen. This will bring up a list of preconfigured accounts. If your provider is listed tap on the row for your provider then fill in your username and password, tap ‘Save’ and your account is ready. If your provider is not listed, tap on the Generic SIP row. In the Edit Account screen, tapping on any of the field rows will bring up the keyboard. Use the title field to enter the name of your provider, you can enter anything you like here however
Fill in your username, password and domain fields. Note that the password will not be visible after typing so be careful as an incorrect password will mean you will be unable to register with your provider. The Domain field is entered with the format ‘example.com:5065′ If the port is the standard 5060 for your provider then the semicolon and port number can be left off. The Proxy, Auth Name and Voicemail settings are to be found in the Advanced SIP settings view. The Proxy should be entered with following format ‘proxy.com:5065′. Again like the Domain field if the port is standard the semicolon and port value can be left off.
Tap the android ‘Back’ button to return to the previous screen, your settings will be saved automatically. Tap the drawer icon in the toolbar to bring up the navigation menu. Select the Keypad menu which will bring up the dialer view. The registration state of the account is displayed above the navigation menu. In the Keypad view the text typed into the Title field in the create account screen appears in the toolbar above the number panel. This lets you know which provider is selected for outgoing calls. To add more accounts tap the ‘Add account’ button in the top left of the SIP Accounts view. This view also shows a list of all your accounts.
The account used for outgoing calls can be selected by tapping the row in the SIP Accounts view. The green tick to the left of the account name shows the default account which is to be used for outgoing calls. This selection can also be done from the keypad view by tapping the ‘signal’ icon in the toolbar which brings up the Multiple Accounts selector view which shows a list of all active accounts. Incoming calls will be received for all accounts that are registered so the selection does not affect receiving calls. From the device’s settings menu turn off WiFi and check that the app re-registers over the 3G/4G cellular connection. Check in the app’s Preferences menu that ‘Allow 3G calls’ is set to On.Try making a call over both WiFi and cellular.
If you have Voicemail and your VoIP provider supports MWI ( message waiting indication ) then you will be alerted to new voicemail by a standard android notification. Registration status is also notified by the notification system. If you have configured a voicemail number in the advanced settings menu of the app you can connect to your voicemail by tapping the voicemail button in the toolbar in the dialer view.
Tap on the Preferences row in the main settings screen of the softphone to bring up User Preference options.
Allow 3G calls. This setting allows the softphone to make and receive calls over the iOS cellular connection. If this setting is ‘Off’ the softphone will not attempt to register over 3G.
Verify TLS Cert. When enabled the softphone will attempt to verify the certificate, sent by the SIP server to check if it is trusted. For it to be trusted the certificate should have the CA root certificate of the signing authority installed on the device.
Keep Wifi Radio Awake. If enabled the Wifi Radio is kept awake always. Note this will drain the battery more.
Dialer Integration. If enabled will bring up an account selector dialog when a call is dialled from the native dialer, native contacts list or native call log. The dialog will display all SIP accounts. The user can choose whether to dial using any of the SIP accounts or use the native dialer.
Audio Mode. Normally it is best to leave this setting at ‘Auto Detect’. The setting MODE_IN_COMMUNICATION is only effective on Android Version 4.0 or upwards. If you have a device running Android 2.x MODE_IN_CALL is the recommended setting. Only use MODE_NORMAL if the other two options do not result in two way audio.
Ringtones. Tapping the Ringtones row will bring up a selection of all the native ringtones on your Android device. Select a ringtone by tapping the respective row. Then tap the Back button to return to the preferences menu.
Play Ringtone. If enabled will play the selected ringtone when an incoming call alert is shown.
Vibrate. If enabled will vibrate the device when an incoming call alert is shown.
Echo Cancellation. If enabled will remove echo from the call.
Call Background Image. Choose an image for the call background screen from the Gallery.
Contact Image. If enabled will display the contact photo of the contact associated with the number dialled or received if it exists. This option is only effective on Android OS Version 4.0 or upwards.
Single Touch Dial. If enabled the default confirmation dialog which is usually shown when tapping a contact, call log or favorite entry is NOT displayed and the call is made immediately.
Auto Start on Boot. If enabled the app will automatically start and register when the phone powers on.
Audio Input Source. The recommended Setting is VOICE_COMMUNICATION. The other modes are provided as sometimes because of the large number of Android devices this mode does not result in the microphone audio being captured. Switching to one of the other modes can resolve the issue.
Playback Stream. The recommended Setting is VOICE_CALL. The other modes are provided as sometimes because of the large number of Android devices this mode does not result in audio being played out of the speaker.
SIP Log. If enabled will write a SIP log to the SD Card with the name SipLog.txt. Tap the Delete Log row to delete the log.
Account Name. This is used to name the SIP account. It can be set to any text string you wish.
Username. This is the User part of the AOR ( SIP Address of Record) . For an AOR such as firstname.lastname@example.org the Username would be ‘604567’.
Password. This is the password associated with your SIP account obtained from your provider.
Domain. For an AOR such as email@example.com the Domain would be ‘voipprovider.com’.
Display Name. This will be used as your Caller ID if supported by your VoIP provider.
Auth Name. Some VoIP providers require you to enter a separate authorization username. Enter it here.
Registration Expiration. This is the interval in seconds that the application will attempt to REGISTER with your provider. Defaults to 600 seconds. The server may change this value however.
Incoming Calls. If Enabled (which is the default setting) the app will register for incoming calls and receive calls whilst the app is in the foreground or background. If disabled no register attempts will be made. Only use this if you are only going to make outgoing calls on this account. This will save battery life as no SIP REGISTER messages or keepalives are sent.
Proxy. If your provider requires use of a proxy enter it here otherwise leave empty.
UDP Keepalive. Enables sending of UDP keepalive packets. These are used to keep the pinhole open on your NAT/Firewall router so you receive incoming calls reliably.
Keepalive Interval. This interval specifies how often the UDP keepalive messages are sent. A higher value will save battery life however if you find you are missing incoming calls you should lower the value. The default value of 15 seconds should be low enough to work with most NAT devices.
Global IP. If enabled the app will present its public IP address in the SIP signalling messages to your provider’s server. This allows the provider to route the messages back to the app. However using the public address may not work in all cases. For example some providers’ servers require you to register with a private IP address. Turning the switch to ‘Off’ will cause the app to use a private IP. This setting applies when using the app over a WiFi network.
Global IP 3G. Same as above except this setting applies when using the app over the cellular network.
Codecs. Please see specific section of the Help for details on Codecs.
SIP Transport (UDP / TCP / TLS ). Most VoIP providers support UDP so this is the default transport. To receive calls in the background with UDP you need to enable ‘Run in Background’ in the preferences menu. With TCP or TLS you may turn off ‘Run in Background’ to save battery life and still receive incoming calls. The TLS transport encrypts call signalling, to use this it must be supported by your provider.
Encrypt Audio ( Disabled, If Possible, Always ). Allows audio to be encrypted with SRTP. If set to Disabled audio is never encrypted. If set to ‘If possible’ audio is encrypted if the remote party accepts encryption, otherwise no audio is encrypted. If set to ‘Always’ audio will always be encrypted. If the remote party cannot accept encrypted calls the call will fail.
Enable Video. Allows video calls to be placed or received for associated SIP account. This setting is disabled if video is disabled in Global preferences.
DTMF Mode. There are three settings. RFC2833, Inband DTMF (audio) and SIP INFO. DTMF is sent when you press a digit on the in-call keypad when dealing with an auto-attendant ( such as when you dial your bank and are asked to choose from a set of options).If you find DTMF tones are not being recognized changing to one of the other methods should resolve the problem.
STUN Enabled. If enabled the app will use the STUN server specified to discover its public IP address. This public IP is sent to your provider’s server to inform it where to route RTP audio packets. If disabled a private IP address is used. Enabling STUN can often be used to resolve one way audio issues. This setting only applies when connected on WiFi Networks.
STUN 3G Enabled. Same as above except only applies on 3G networks.
STUN server. Enter STUN server specified by your VoIP provider here.
Voicemail Number. If your provider supports Voicemail, entering the number here allows you to dial your voicemail directly from the dialler screen by tapping the VM (Voicemail) button at the top of the keypad.
Outbound Proxy. In most cases you should not have to enter anything here. If your provider requires use of a proxy please use the Proxy Address field described earlier. Use this option if you need to route all SIP messages through a specific server.
An audio codec implements an algorithm that compresses and decompresses digital audio or video data. The following codecs are available in the app. G711, GSM,iLBC, G722 and G729. A common codec needs to be negotiated when making a call between the softphone and the remote party or else the call will fail with a 488 error. Thus most of the time it is best to have as many codecs available as possible. However in certain cases one may wish to enable or disable certain codecs or prioritize some over others. For example the G711 and G722 codec are wideband codecs. GSM, iLBC and G729 are Narrowband codecs. Wideband codecs have a higher data usage and better audio quality.
Narrowband codecs generally have much lower data usage but audio quality is usually affected as a result. If you have a fast stable WiFi connection one can configure the softphone to use wideband codecs only. However if calling over a 3G cellular connection where the data rate is slower it is best to use a low bit rate codec such as G729 to achieve acceptable audio quality. In this situation, wideband codec use could result in such poor audio quality so as not to be able to have a meaningful conversation with the other party. Tap the checkbox for a given codec row to enable or disable. Codecs higher up the list are given higher priority during call setup so have a greater chance of being used. Drag the rows to change the priority.
To set up dialling rules for your account tap the Dialling Rules row from the Advanced SIP settings menu. From the Dialling Rules view tap the ‘Add Rule’ button at the bottom to create a new rule. Rules will be applied in order from top to bottom. Please see below for examples. To delete a rule simply long tap the row for the rule you wish to delete and select ‘Delete’ from the pop up menu..
Name. Enter a name for your rule here, this can be anything you like.
Match Number. Define the pattern used to match dialled numbers. Your rule will be applied to any matched numbers.
Prefix Remove. When a dialled number is matched with the rule the prefix listed here will be removed from the number assuming the number has this prefix.
Prefix Add. When a dialled number is matched with the rule, any prefix to be removed listed above will be removed first then the prefix to be added will appended to the dialled number. Tap the ‘Save’ button to save a rule. To set up a rule a pattern that the dialled number must match needs to be defined followed by an action to be taken on the dialled number once a match is detected. An action can be removing a prefix, removing a prefix or removing a prefix followed by adding a prefix.
To set up a rule a pattern that the dialled number must match needs to be defined followed by an action to be taken on the dialled number once a match is detected. An action can be removing a prefix, removing a prefix or removing a prefix followed by adding a prefix.
The following characters can be used to generate a match pattern.
0,1,2,3,4,5,6,7,8,9 any digit
* # + any of these three symbols
[-] matches a range of symbols eg [45-9] matches any of these digits 4,5,6,7,8,9
x matches any of the above digits or symbols
? specifies that the previous character can be repeated 0 or more times
Match Number +44x?
Remove Prefix +44
Add Prefix 9
Any number starting with +44 will have the +44 replaced with 9 so the number +44773764181 will be dialled as 9773764181
Match Number xxxxxx780[1-9]
Add Prefix 7
Any 10 digit number with the last 4 digits being 7801- 7809 will have a prefix of 7. So 5003007804 is dialled as 75003007804
Match Number 0xxxxxxxxxx
Remove Prefix 0
Add Prefix +44
Any eleven digit number starting with 0 will have the zero removed and replaced with +44
Error 408, 503
Check you have an internet connection available either WiFi or Cellular (3G). If this is OK check you have specified the domain or proxy ( if required) correctly.
Error 401, 403
Check you have entered your username and password correctly. Also if your provider requires that you need to specify an Authorization username, check this is entered correctly.
Error 404 when calling
Check you have dialled a valid number or sip uri. Also if you have any dialling rules which are incorrect, the number being dialled may not be what you intended.
Error 488 when calling
If a common set of codecs cannot be negotiated with the remote party, call setup will fail. Try enabling more codecs.
Dialling attempted but call is not established
Try enabling the Global IP or Global IP 3G settings depending on whether you are on WiFi or Cellular (3G) network..
Not receiving incoming calls in the background
Check that ‘Run In Background’ is enabled in the Preferences menu and ‘Incoming Calls’ is set to On in SIP settings.
Not receiving incoming calls in the foreground or background
Try enabling Global IP or Global IP 3G. Make sure you are not registering from multiple devices.
Incoming calls are not reliable
Ensure the UDP Keepalive setting is on, if it is already on, try lowering the interval.
No audio or one-way audio during a call
Try changing the Global IP ( if you are on WiFi) or Global IP 3G ( if you are on Cellular ) setting to ‘Off’ and the STUN enabled to ‘Off’.
If the above does not work, enable STUN and specify a STUN server in the Advanced SIP settings given by your VoIP provider.
Poor audio quality
If calling over cellular (3G) networks, check the codec negotiated in the incall screen. If the codec is G711u or G711a this is probably the cause of the problem as these codecs use too high a bandwidth to allow good audio on 3G. Try disabling both these codecs in the 3G codecs setting in the Advanced SIP menu. Try using G729, GSM or iLBC codecs when calling over 3G.
The same problem can be experienced on WiFi if the connection is poor. Again changing to using G729, GSM or iLBC can resolve this.