Contents
Default SipEndpoint.config Settings
Using the Default Configuration File
You can find the default configuration file in the following location:
<installation folder>/Configuration/SipEndpoint.config
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.
Basic Container
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.
Genesys Container
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:
policy Domain
endpoint Section
audio_qos
Valid Values: Integer
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
Valid Values: 0, 1
Default Value: 1
If set to 1, the user agent field includes the OS version the client is currently running on.
include_sdk_version_in_user_agent_header
Valid Values: 0, 1
Default Value: 1
If set to 1, the user agent field includes the SDK version the client is currently running on.
ip_versions
Valid Values: IPv4, IPv6, IPv4, IPv6, IPv6, IPv4, or empty
Default Value: IPv4, IPv6
- IPv4—the application selects an available local IPv4 address; IPv6 addresses are ignored.
- IPv6—the application selects an available local IPv6 address; IPv4 addresses are ignored.
- IPv4,IPv6 or an empty—the application selects an IPv4 address if one exists. If not, an available IPv6 address is selected.
- IPv6,IPv4—the application selects an IPv6 address if one exists. If not, an available IPv4 address is selected.
Note: This parameter has no effect if the public_address option specifies an explicit IP address.
public_address
Valid Values: See description below
Default Value: Empty string which is fully equivalent to the $auto value
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.
Valid Values:
This setting may have one of the following explicit values:
- An IP address. For example, 192.168.16.123 for IPv4 or FE80::0202:B3FF:FE1E:8329 for IPv6.
- A bare host name or fully qualified domain name (FQDN). For example, epsipwin2 or epsipwin2.us.example.com.
This setting may have one of the following special values:
- $auto—The SDK selects the first valid IP address on the first network adapter that is active (status=up) and has the default gateway configured. IP family preference is specified by the policy.endpoint.ip_versions setting.
- $ipv4 or $ipv6—Same behavior as the $auto setting but the SDK restricts the address to a particular IP family.
- $host—The SDK retrieves the standard host name for the local computer using the gethostname system function.
- $fqdn—The SDK retrieves the fully qualified DNS name of the local computer. The SDK uses the GetComputerNameEx function with parameter ComputerNameDnsFullyQualified.
- An adapter name or part of an adapter name prefixed with $. For example, $Local Area Connection 2 or $Local. The specified name must be different from the special values $auto, $ipv4, $host, and $fqdn.
If the value is 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.
refer_to_proxy
Valid Values: 0, 1
Default Value: 0
Specifies the destination of a referred INVITE.
- 0—Send the INVITE to the URL specified in the Refer-To header of the REFER message.
- 1—Send the INVITE to your configured SIP Proxy.
rtp_inactivity_timeout
Valid Values: 5-150
Default Value: 150
Suggested Value: 30
Timeout interval in seconds for RTP inactivity.
rtp_port_min
Valid Values: 9000-65535
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
Valid Values: 9000-65535
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
Valid Values: Integer
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
Valid Values: 1-65535
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
Valid Values: 1-65535
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
Valid Values: 1-32000
Default Value: 4000
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
Valid Values: Integer
Integer value representing the maximum video bitrate.
video_qos
Valid Values: Integer
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.
webrtc_audio_layer
Valid Values: 0, 1, 2
- 0—the audio layer is defined by environment variable "GCTI_AUDIO_LAYER"
- 1—Wave audio layer is used
- 2—Core audio layer is used
answer_sdp_priority
Valid Values: config, offer
Default Value: config
- config—the endpoint selects the first codec from the codec configuration listed in both the codec configuration and the SDP offer.
- offer—the endpoint selects the first codec in the SDP offer listed in both the codec configuration and the SDP offer.
sip_port_binding
Valid Values: 0, 1
Default Value: 0
- 0—open the SIP port to listen on any interface.
- 1—the SIP port binds to the interface specified by the public_address setting and listens only on this IP address.
session Section
agc_mode
Valid Values: 0, 1
Default Value: 1
If set to 0, AGC (Automatic Gain Control) is disabled; if set to 1, it is enabled. 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
Valid Values: 0, 1
This setting is only used in auto-answer scenarios when auto_answer=1.
If auto_accept_video is set to 1, both audio and video streams are accepted, otherwise incoming calls are answered as audio only, even if video is present in the offer.
auto_accept_video applies to a 3pcc answer when make-callrfc3275 is configured to 1 on the originating DN and a video codec is configured in the endpoint. auto_accept_video is not applied to a 3pcc answer when make-call-rfc3275 is configured to 2 on an originating DN, even if auto_accept_video is set to 1 and a video codec is configured in the endpoint.
auto_answer
Valid Values: 0, 1
If set to 1, all incoming calls should be answered automatically.
auto_answer_delay
Valid Values: Number in milliseconds
Default Value: 1500
Time in milliseconds to wait before auto-answering. The recommended and default value is 1500 milliseconds.
dtmf_method
Valid Values: Rfc2833, Info, InbandRtp
Method to send DTMF.
echo_control
Valid Values: 0, 1
If set to 1, echo control is enabled.
noise_suppression
Valid Values: 0, 1
If set to 1, noise suppresion is enabled.
dtx_mode
Valid Values: 0, 1
If set to 1, DTX is activated.
reject_session_when_headset_na
Valid Values: 0, 1
If set to 1, the SDK should reject the incoming session if a USB headset is not available.
sip_code_when_headset_na
Valid Values: SIP Error Code
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
Valid Values: 0-3
Sets the degree of bandwidth reduction, from 0 for conventional VAD to 3 for aggressive high.
ringing_enabled
Valid Values: 0, 1, 2, 3
Defaule Value: 1
Specifies whether to enable the ringing tone.
- 0—event Ringing disabled
- 1—event Ringing enabled
- 2—play ringtone internally (event Ringing disabled)
- 3—play ringtone internally and enable event Ringing.
ringing_timeout
Valid Values: Empty, 0, or a positive number
Default Value: 0
Specifies the duration, in seconds, of the ringing tone. If set to 0 or if the value is empty, the ringing time is unlimited.
ringing_file
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
Specifies the audio file that is played when the ringing tone is enabled with the ringing_enabled option.
Note that WebRTC does not support MP3 playback. The ringtone file for built-in ringing should be a RIFF (little-endian) WAVE file using one of the following formats:
- kWavFormatPcm = 1, PCM, each sample of size bytes_per_sample
- kWavFormatALaw = 6, 8-bit ITU-T G.711 A-law
- kWavFormatMuLaw = 7, 8-bit ITU-T G.711 mu-law
Uncompressed PCM audio must 16 bit mono or stereo and have a frequency of 8, 16, or 32 KHZ.
restart_audio_if_stuck
Valid Values: Empty, 0, 1
Default Value: 0
- 0 or Empty—disable auto restart for stuck audio
- 1—enable auto restart for stuck audio
reject_session_when_busy
Valid Values: Empty, 0, 1
Default Value: 0
- 0 or Empty—disable rejection of a session when busy
- 1—enable rejection of a session when busy
number_sessions_for_busy
Valid Values: Positive integer
Default Value: 1
Sets the number of sessions before busy. Must be a positive integer.
sip_code_when_busy
Valid Values: Empty, 4xx, 5xx, 6xx
Default value: Empty
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.
device Section
audio_in_device
Valid Values: String
Microphone device name.
For more information, see Audio Device Settings
audio_out_device
Valid Values: String
Speaker device name.
capture_device
Valid Values: String
Capture device name.
headset_name
Valid Values: String
The name of the headset model.
use_headset
Valid Values: 0, 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 Domain
See Working with Codec Priorities
proxies Domain
proxy<n> Section
display_name
Valid Values:
domain
Valid Values:
password
Valid Values:
reg_interval
Valid Values:
reg_match_received_rport
Valid Values:
reg_timeout
Valid Values:
mailbox Sub-section
password
Valid Values:
server
Valid Values:
timeout
Valid Values:
transport
Valid Values:
user
Valid Values:
nat Sub-section
ice_enabled
Valid Values:
stun_server
Valid Values:
stun_server_port
Valid Values:
turn_password
Valid Values:
turn_relay_type
Valid Values:
turn_server
Valid Values:
turn_server_port
Valid Values:
turn_user_name
Valid Values:
system Domain
diagnostics Section
enable_logging
Valid Values:
log_file
Valid Values:
log_level
Valid Values:
log_options_provider
Valid Values:
log_options_endpoint
Valid Values:
logger_type
Valid Values:
log_segment
Valid Values:
log_expire
Valid Values:
log_time_convert
Valid Values:
log_time_format
Valid Values:
security Section
tls_enabled
Valid Values:
use_srtp
Valid Values:
media Section
media
ringing_file
Valid Values:
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.