iPhone SIP Client Settings
Setting up a SIP Account
Firstly ensure your iOS device has a WiFi connection. A simple way of testing this is to open up a browser and check you have internet access. Next check you can access the internet from your cellular connection. Go to the Settings application on the device and turn off 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 SessionTalk Softphone for the first time you will be presented with the create SIP account screen.If your provider is listed tap on the small button next to 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 the information obtained from your VoIP 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. Enable the account to Save the settings entered. The account will auto REGISTER with your provider. To change any settings you will need to UNREGISTER the account, make the changes and then tap ‘REGISTER’ to re-register the account. Disabling the account will also auto UNREGISTER the account.
Then in the tab bar tap the ‘Keypad’ button which will bring up the dialer view. If the account name in the top left is green your account is ready to start making calls. As seen in the screenshot the text typed into the Title field in the create account screen appears on the left hand side of the number panel. This lets you know which provider you are registered with. To add more accounts tap the ‘+’ button in the top right 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. 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 top right which brings up the Multiple Accounts selector view which shows registration and voicemail status. Incoming calls will be received for all accounts that are registered so the selection does not affect receiving calls. To ensure notifications are received for incoming calls go to iOS Settings -> Notification Center and select the SessionTalk row. Ensure that ‘Alert Style is set to Alerts or Banner. Check that all other settings are set to On.
From iOS settings 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. The app will display a pop-up permission the first time you make a call to make use of the microphone on iOS 7. The app will also request permission if you access the contacts list. To change the permissions of these resources go to iOS Settings -> Privacy.
If you have Voicemail and your VoIP provider supports MWI ( message waiting indication ) then on the dialer view of the softphone app you will see a mail icon on the top right. Tap this to see the Voicemail view. This shows your new and old messages. If you have configured a voicemail number in the advanced settings menu of the app you can connect to your voicemail by tapping the green button. Tap anywhere else in the view to dismiss and return to the dialer. If there is no new voicemail the mail icon in the top left will change to a voicemail icon. Tapping this will call the voicemail number configured in the SIP settings menu.
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.
Run in Background. If ‘Off’ is selected the softphone will sleep when the screen is locked. This option saves battery life but should only be used if you are only using the softphone to make outgoing calls. All SIP accounts will be unregistered when the app moves to the background. Select On if you wish to run the app in the background and receive calls when the softphone app is closed. In this mode the softphone is always running and will continue to REGISTER with your VoIP provider.
Preserve Audio Route. If enabled, will start any new call dialled with the audio route used in the previous call, otherwise if switched off the call will always start using the earpiece as the default audio route.
Echo suppression. This setting enables the iPhone’s in built echo suppression algorithms. This prevents the called party from hearing an echo. This is especially important in speaker mode.
Call Recording. The call recording option selected from the preferences menu allows an email address to be entered. When accessing call recordings from the call log there is an option to send the recording as an email attachment. The email address entered here is used to pre-fill the draft email message.
Enable Video. If disabled video calls cannot be placed or received for any SIP account. If enabled video calls can be placed or received depending on individual SIP account settings.
Ringtones. Tap this row to bring up a selection 25 ringtones.
Play Ringtone. From Audio menu. Set to On to play a ringtone when an incoming call is received.
Vibrate. Set to On to cause the device to vibrate when an incoming call received. Note this setting is for iPhone only.
Microphone Volume. Move the slider to adjust the volume of the microphone independent of the volume switch on the device.
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.
Contact Image. If enabled, the contact photo is shown in the in-call view. Try to keep contact images as small size as possible so they load faster.
VPN Support. If enabled, the softphone will look for a VPN network interface rather than choosing the default. Do not enable if there is no VPN.
SIP Log. If set to ‘On’ SIP messages are logged. This is useful for debugging problems.
Video Quality. Can be set to QCIF , CIF or VGA. This is the resolution, video will be sent to remote end.
Playback Volume. Move the slider to adjust the speaker output volume independent of the volume switch on the device.
Keypad Beeps. This setting controls whether tones are heard when the keypad digits are pressed in the dialer view.
Bluetooth Support. This option is only supported on the iPhone. If enabled, the in-call screen display will show an ‘Audio Sources’ button which when tapped allows choice of earpiece,speaker or bluetooth headset audio output. You will still have to pair a Bluetooth headset in the iPhone’s general settings. If the option is disabled the in-call screen display will show a speaker button which allows the speaker to be turned on and off.
Custom Image. If a contact photo is not available then this is the image that is shown by default. Images can be selected from the camera roll.
Forward Calls. If enabled, incoming calls are forwarded to the specified number. This is a global setting that applies to all SIP accounts. The number specified here can be overridden in SIP settings for a particular account.
To Number. The number to forward calls to.
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.
Title. 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.
Forward To. Call forwarding needs to be enabled in the global preferences. Overrides the number in the preferences settings so incoming calls to this SIP account will be forwarded to this number.
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.
RTP Port Start/End. This defines the range of ports used for RTP sockets.
Expiry Period. 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.
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.
Incoming Calls. If set to ‘On’ (which is the default setting) the app will register for incoming calls and receive calls whilst the app is in the foreground or background ( background will work so long as ‘Keep Awake Mode’ is set to Always in the preferences). If set to ‘Off’ 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.
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 in the bottom left corner.
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.
Always Offer Video. If enabled, video is always offered when a number is dialled.
Auto Speaker On. If enabled, the speaker is turned on automatically for a video call.
Auto Send Video. If enabled, video is automatically sent when a video call is placed or received. If disabled, video will only be sent if the ‘Send’ button is tapped in video view.
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.
Proxy. If your provider requires use of a proxy enter it here otherwise leave empty.
NAT64. Enable if your provider is only reachable at a IPV4 address and you are connecting from a IPV6 network.
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.
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. Drag the rows in the table to the Enabled or Disabled sections to enable or disable certain codecs. Codecs higher up the list in the Enabled section 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. In the Dialling Rules screen tap the ‘+’ add rule button in the top left corner. Rules will be applied in order from top to bottom. Please see below for examples. To delete a rule simply swipe the blue arrow to show the red delete button. Tap ‘Delete’ to delete the rule.
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.