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 Genesys 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 ("Genesys") 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.
An overview of the settings in this container and the valid values for these settings is provided here:
|audio_qos||Number||The integer value representing the DSCP bits to set for RTP audio packets. Note: QoS is not supported for Windows Vista, Windows 7, or higher.|
|include_os_version_in_user_agent_header||Number||If set to 1, the user agent field includes the OS version the client is currently running on. Default: 1.|
|include_sdk_version_in_user_agent_header||Number||If set to 1, the user agent field includes the SDK version the client is currently running on. Default: 1.|
| A value of IPv4 means that the application selects an available local IPv4 address; IPv6 addresses are ignored.
A value of IPv6 means that the application selects an available local IPv6 address; IPv4 addresses are ignored.
|public_address||String|| Local IP address or Fully Qualified Domain Name (FQDN) of the machine. This setting can be an explicit setting or a special value that the SDK uses to automatically obtain the public address.
This setting may have one of the following special values:
Default Value: Empty string which is fully equivalent to the $auto value.
If the value is specified as an explicit host name, FQDN, or $fqdn, the Contact header includes the host name or FQDN for the recipient of SIP messages (SIP Server or SIP proxy) to resolve on their own. For all other cases, including $host, the resolved IP address is used for Contact. The value in SDP is always the IP address.
|rtp_inactivity_timeout||Number|| Timeout interval in seconds for RTP inactivity. Valid values are integers from 5 to 150.|
Default Value: 150
|rtp_port_min||Number||The integer value representing the minimum value for an RTP port range. Must be within the valid port range of 9000 to 65535. If the minimum and maximum values are not specified or are set to an invalid value, the default minimum (9000) and maximum (minimum value + 999) are used. Setting the minimum to a value that is larger than the maximum is considered an error and will result in a failure to initialize the endpoint.|
|rtp_port_max||Number||The integer value representing the maximum value for an RTP port range. Must be within the valid port range of 9000 to 65535. If the minimum and maximum values are not specified or are set to an invalid value, the default minimum (9000) and maximum (minimum value + 999) are used. Setting the maximum to a value that is less than the minimum is considered an error and will result in a failure to initialize the endpoint.|
|signaling_qos||Number||The integer value representing the DSCP bits to set for SIP packets. Note: QoS is not supported for Windows Vista, Windows 7, or higher.|
|sip_port_min||Number||The integer value representing the minimum value for a SIP port range. Must be within the valid port range of 1 to 65535. If the minimum and maximum values are not specified or are set to an invalid value, the default minimum (5060) and maximum (minimum value + 6) are used. Setting the minimum to a value that is larger than the maximum is considered an error and will result in a failure to initialize the endpoint.|
|sip_port_max||Number||The integer value representing the maximum value for a SIP port range. Must be within the valid port range of 1 to 65535. If the minimum and maximum values are not specified or are set to an invalid value, the default minimum (5060) and maximum (minimum value + 6) are used. Setting the maximum to a value that is less than the minimum is considered an error and will result in a failure to initialize the endpoint.|
|sip_transaction_timeout||Number||SIP transaction timeout value in milliseconds. Valid values are 1 through 32000, with a default value of 4000. The recommended value is 4000.|
|video_max_bitrate||Number||The integer value representing the maximum video bitrate.|
|video_qos||Number||The integer value representing the DSCP bits to set for RTP Video packets. Note: QoS is not supported for Windows Vista, Windows 7, or higher.|
|vq_report_collector||See Producing RTCP Extended Reports|
|vq_report_publish||See Producing RTCP Extended Reports|
| Valid values:|
0—the audio layer is defined by environment variable "GCTI_AUDIO_LAYER"
| Valid values:|
config, NULL, or Empty—the endpoint selects the first codec from the codec configuration listed in both the codec configuration and the SDP offer.
| Valid values:|
0, NULL, or Empty—opens the SIP port to listen on any interface
Default value: 0
| If set to 0, AGC (Automatic Gain Control) is disabled; if set to 1, it is enabled. Default: 1. Other values are reserved for future extensions. This configuration is applied at startup, after which time the agc_mode setting can be changed to 1 or 0 from the main sample application.
NOTE: It is not possible to apply different AGC settings for different channels in multi-channel scenarios.
|auto_accept_video||Number|| This setting is only used in auto-answer scenarios, that is, in scenarios where auto_answer=1.
If auto_accept_video is set to 1, then both audio and video streams are accepted, otherwise incoming calls are answered as audio only, even if video is present in the offer.
|auto_answer||Number||If set to 1, all incoming calls should be answered automatically.|
|auto_answer_delay||Number|| Valid values: Number in milliseconds.|
Time in milliseconds to wait before auto-answering. The recommended and default value is 1500 milliseconds.
|Method to send DTMF|
|Valid values: 0 or 1. If set to 1, echo control is enabled.|
|Valid values: 0 or 1. If set to 1, noise suppresion is enabled.|
|dtx_mode||Number||Valid values: 0 or 1. If set to 1, DTX is activated.|
|reject_session_when_headset_na||Number||Valid values: 0 or 1. If set to 1, the SDK should reject the incoming session if a USB headset is not available.|
|sip_code_when_headset_na||Number|| Defaul Value: 480|
If a valid SIP error code is supplied, the SDK rejects the incoming session with the specified SIP error code if a USB headset is not available.
|vad_level||Number||Sets the degree of bandwidth reduction. Valid values: 0 – 3 — from 0 (conventional VAD) to 3 (aggressive high).|
|ringing_enabled||Number|| Valid values: 0, 1, 2, or 3.|
0 = event Ringing disabled
|ringing_timeout||Number|| Valid Values: Empty, 0, or a positive number|
Default Value: 0
|ringing_file||String|| Valid values: Empty or the path to the ringing sound file. The path may be a file name in the current directory or the full path to the sound file.|
Default Value: ringing.wav
kWavFormatPcm = 1, PCM, each sample of size bytes_per_sample
| Valid values:|
0 or Empty—disable auto restart for stuck audio
| Valid values:|
0 or Empty—disable rejection of a session when busy
|number_sessions_for_busy||Positive Integer|| Valid values: Empty, 0, or a positive integer|
Positive number setting the number of session before busy.
| Valid values: Empty or any valid SIP error response code.|
SIP error response code to use when busy. Can be set to any valid SIP error response code in the 4xx, 5xx, or 6xx range. For example, 486
For more information, see Audio Device Settings
|String||Microphone device name|
|audio_out_device||String||Speaker device name|
|capture_device||String||Capture device name|
|headset_name||String||The name of the headset model|
|use_headset||Number||Valid values: 0 or 1. If set to 0, the audio devices specified in audio_in_device and audio_out_device are used by the SDK. If set to 1, the SDK uses a headset as the preferred audio input and output device and the audio devices specified in audio_in_device and audio_out_device are ignored.|
codecs— See Working with Codec Priorities
|display_name||String||Proxy display name|
|domain||String|| Valid Values: Any valid SIP domain|
Default Value: Empty string
|reg_interval||Number||The period, in seconds, after which the endpoint starts a new registration cycle when a SIP proxy is down. Valid values are integers greater than or equal to 0. If the setting is empty or negative, the default value is 0, which means no new registration cycle is allowed. If the setting is greater than 0, a new registration cycle is allowed and will start after the period specified by regInterval.|
|reg_match_received_rport||Number|| Valid Values: 0 or 1|
Default Value: 0
|reg_timeout||Number||The period, in seconds, after which registration should expire. A new REGISTER request will be sent before expiration. Valid values are integers greater than or equal to 0. If the setting is 0 or empty/null, then registration is disabled, putting the endpoint in standalone mode.|
|server||String||Proxy server address and port for this mailbox|
|timeout||Number|| Subscription expiration timeout in seconds. If the setting is missing or set to 0, the SDK uses a default timeout of 1800 seconds (30 minutes).|
Valid Values: Any positive integer
|Transport protocol to use when communicating with server|
|user||String||User ID for this mailbox|
|ice_enabled||Boolean||Enable or disable ICE|
|stun_server||String||STUN server address. An empty or null value indicates this feature is not being used.|
|stun_server_port||String||STUN server port value|
|turn_password||Number||Password for TURN authentication|
|turn_relay_type||Number||Type of TURN relay|
|turn_server||String||TURN server address. An empty or null value indicates this feature is not being used.|
|turn_server_port||String||TURN server port value|
|turn_user_name||String||User ID for TURN authorization|
|enable_logging||Number||Valid values: 0 or 1. Disable or enable logging.|
|log_file||String||Log file name, for example, SipEndpoint.log|
|log_level||Number||Valid values: 0 – 4. Log levels: 0 = "Fatal"; 1 = "Error"; 2 = "Warning"; 3 = "Info"; 4 = "Debug".|
|log_options_provider||String||Valid values for webrtc = (warning, state, api, debug, info, error, critical). For example: gsip=2, webrtc=(error,critical)|
|log_options_endpoint||Number|| Default value: 2|
|logger_type||file||If set to file, the log data will be printed to the file specified by the log_file parameter.|
Number in KB,MB, or hr
| Valid Values:|
false: No segmentation is allowed
| Valid Values:|
false: No expiration; all generated segments are stored.
| Valid Values:|
local: The time of log record generation is expressed as a local time, based
on the time zone and any seasonal adjustments. Time zone information of the application’s host computer is used.
| Valid Values:|
time: The time string is formatted according to the HH:MM:SS.sss (hours, minutes, seconds, and milliseconds) format
|cert_file||String||Thumbprint value of the Public endpoint certificate file, which is used as a client-side certificate for outgoing TLS connection and server-side certificate for incoming TLS connections. For example: 78 44 34 36 7a c2 22 48 bd 5c 76 6b 00 84 5d 66 83 f5 85 d5|
|tls_enabled||Number||If set to 1, connection with TLS transport will be registered. Default: 0.|
|Indicates whether to use SRTP|
|ringing_file||String|| Valid Values: Empty or String file name|
Defaul Value: ringing.mp3
Additional Configuration Options
The default configuration file may not contain all settings that may be used with the SIP Endpoint SDK; additional settings can be added to change certain behaviors. Check Configuring SIP Endpoint SDK for .NET for a discussion of these additional settings.