Default SipEndpoint.config Settings
Using the Default Configuration File
You can find the default configuration file in the following location:
This file contains XML configuration details that affect how your SIP Endpoint SDK application behaves. The inital settings are the same as those specified for use with the QuickStart application that is included with your SIP Endpoint SDK release.
Configuration settings are separated into two containers: the Basic Container holds the connectivity details that are required to connect to your SIP Server, while the Cp Container holds a variety of configuration settings.
The first Container ("Basic") holds the basic connectivity details that are required to connect to your SIP Server. This container has at least one connection (Connectivity) element with the following attributes:
<Connectivity user ="DN" server="SERVER:PORT" protocol="TRANSPORT"/>
If you are using a configuration that supports Disaster Recovery and Geo-Redundancy, there may be multiple connection elements present with each specifying a separate possible connection. Refer to the configuration settings of that feature for details.
You will have to make the following changes and save the updated configuration file before using the SIP Endpoint SDK:
- user ="DN" - Supply a valid DN for the user attribute.
- server="SERVER:PORT" - Replace SERVER with the host name where your SIP Server is deployed, and PORT with the SIP port of the SIP Server host. (The default SIP port value is 5060.)
- protocol="TRANSPORT" - Set the protocol attribute to reflect the protocol being used to communicate with SIP Server. Possible values are UDP, TCP, or TLS.
The second Container ("Cp") holds a number of configurable settings that are organized into domains and sections. These settings do not have to be changed, but can be customized to take full control over your SIP Endpoint SDK applications.
A full overview of this container, and the settings that are included by default, is provided here:
|headset||audio_in_agc_enabled||Set to true to enable AGC for audio via the headset (outgoing audio stream).|
|incoming||use_agc||True to apply AGC to incoming streams.|
|vad||continue_sending_from_last_activity_in_milliseconds||Sets the amount of time after the point where no voice is detected before audio is actually not sent. It adds a delay to allow a little bit of audio to continue after no voice is detected. This setting is only for codecs that do not have built in support for VAD/DTX, and only if DTX is enabled.|
|qos||audio||Specifies the type of QOS supported for audio, and if so, whether bandwidth is to be reserved|
|dtmf||force_send_in_band|| Set as described in RTP:2833:enabled.|
One scenario in which it might be advisable to send in band is if you own your gateways, and:
In this case, setting this setting to true will ensure that DTMF tones get through (because the DTMF tones will bypass the gateway) and that they reproduce accurately at the receiving end.
In this scenario, setting this setting to true will not help ensure DTMF tones get through. There is in fact no solution to this scenario.
|minimum_rfc2833_play_time||If system:dtmf:force_send_in_band is false, specify the minimum play duration for DTMF tones.|
|network||dtx_enabled||When DTX is enabled, transmission to the remote party is suspended when the application detects that the local user is not speaking. True means DTX is enabled; silence is not transmitted. False (the default) means silence is transmitted.|
|diagnostics||enable_logging||Enables logging is set to 1; disables logging if set to 0.|
|log_level||None, Critical, Error, Warning, Info, Debug, MaxDetails|
|general||add_OS_version_to_user_agent_header||Set to true to include the OS version in the SIPUserAgent header field.|
|indialog_notify||enable_indialognotify||Set to true to enable in-dialog NOTIFY.|
|2833||enabled||Set to true to enable local support for RFC 2833 out-of-band DTMF. This setting (a) works with system:dtmf:force_send_in_band setting (b) as follows:
In-band means the application will encode the DTMF signals in the audio stream as regular sound. Typically, DTMF is not sent in band, and is only used in specific situations. See system:dtmf:force_send_in_band for examples.
|hold_over_time_in_ms||If system:dtmf:force_send_in_band is false and rtp:2833:enabled is true, specifies the minimum length of time for which to send 2833 packets. This setting is useful in case the user presses a key very fast, to make sure the packet time is longer than that key press.|
|packet_time_in_ms||If system:dtmf:force_send_in_band is false and rtp:2833:enabled is true, specifies the time between 2833 packets. During this time, only audio will be sent. This setting is useful if you cannot handle back-to-back 2833 packets.|
|payload_number||If system:dtmf:force_send_in_band is false, specifies the payload number for DTMF.|
|inactivity||timer_enabled||Set to true to instruct the application to hangup when it detects that the RTP session is inactive.|
|proxies <ref>Note that settings in this section should only be present if using a proxy. Otherwise, all settings and sections should be commented out in your configuration file.</ref>|
|proxy0 <ref>The proxies domain may have more than one proxy section, and reflects content of the Basic container where each connectivity element has its settings in the corresponding proxy section. For instance, a configuration file with two connections may have two proxies (proxy0 and proxy1) that are equivalent to the SIP Endpoint SDK connections with connection IDs of 0 and 1. Default settings will be applied for any connection that does not have a proxy section.
Set to true to force the application to use transport ports within a specific range for RTP (as specified by sip_port_range_min and sip_port_range_max). Set to false to enable the application to use transport ports in the full standard range of 1025 to 65535.
If the port range is set to an incorrect value (for example, if the maximum value is less than the minimum value, or if values that are out of range or uncountable are used) then the default port range values will be used instead.
These settings and the settings with the "sip_" prefix work as follows:
If sip_port_range_enable is true, enter the port value of the lower port in the range. Note that the smallest allowable value for this setting is 10.
If sip_port_range_enable is true, enter the port value of the upper port in the range. This parameter must have a value that is greater than the value of the sip_port_range_min setting. Note that the largest allowable value for this setting is 65535.
|port_range_enable||Set to true to force the application to use transport ports within a specific range (as specified by port_range_min and port_range_max). Set to false to enable the application to use transport ports in the full standard range of 1025 to 65535.
If the port range is set to an incorrect value (for example, if the maximum value is less than the minimum value, or if values that are out of range or uncountable are used), the default port range values will be used instead.
|port_range_min||If port_range_enable is true, enter the port value of the lower port in the range. Note that the smallest allowable value for this setting is 10.|
|port_range_max||If port_range_enable is true, enter the port value of the upper port in the range. This parameter must have a value that is greater than the value of the port_range_min setting. Note that the largest allowable value for this setting is 65535.|
|device<ref>See Headset Connectivity Notification for examples and additional details about the settings in the device section.</ref>||use_headset||Indicates whether a headset is in use. Available options are 1 (true) or 0 (false).|
|reject_call_when_headset_na||Determines call behavior if a headset is not available. Available options are 1 (true) or 0 (false).|
|error_code_when_headset_na||Specifies an error code to return if the headset is not available.|
|error_message_when_headset_na||Specifies an error message to return if the headset is not available.|
|headset_name||Device name of the headset to use.|
|manual_audio_devices_configure||Indicates whether audio devices are manually configured using the audio_in_device and audio_out_device settings. Available options are 1 (true) or 0 (false).|
|audio_in_device||Specifies the audio in device.|
|audio_out_device||Specifies the audio out device.|
|ringer_device||Specifies the ringer device.|
|system||export_settings||Specifies file name to store exported from SDK settings if the setting enable_export_settings is true.|
|enable_export_settings||Determines whether the specified export_settings options are used to export system logs. Set to true = 1 to allow the SDK to export and store SDK settings in the file that is specified in setting export_settings.|
|log_level_AbstractPhone||Available values for log level settings are:
|beeptone||play_locally||Set to true = 1 to allow the SDK to play the beeptone locally, and the agent will hear the beeptone.|
|enable_beeptone||Set to true = 1 to enable the SDK beeptone feature to be executed.|
|beeptone_file||Specifies audio file name to be played as a beeptone.|
|beeptone_timeout||Specifies, in milliseconds, the period of playing a beeptone.|
|dtmf||play_locally||Set to true = 1 to allow the SDK to play DTMF locally, and the agent will hear the tone.|
|pause_start_stop_dtmf||Specifies, in milliseconds, the time interval of playing DTMF tone.|
|control||auto_answer||Set to true = 1 to allow the SDK to answer incoming calls automatically.|
Additional Configuration Options
The default configuration file does not contain all settings that may be used with the SIP Endpoint SDK; additional settings can be added to change certain behaviors. Check the topic on configuration for a discussion of these additional settings.