Jump to: navigation, search

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:

Domain Section Setting Values Description
policy
endpoint
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.
ip_versions IPv4

IPv6
IPv4,IPv6
IPv6,IPv4
empty

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.
A value of IPv4,IPv6 or an empty value means that the application selects an IPv4 address if one exists. If not, an available IPv6 address is selected.
A value of IPv6,IPv4 means that the application selects an IPv6 address if one exists. If not, an available IPv4 address is selected.
Default: IPv4,IPv6.
NOTE: This parameter has no effect if the public_address option specifies an explicit IP address.

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.

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.

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
Suggested Value: 30

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
webrtc_audio_layer 0
1
2
Valid values:

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 config
NULL
Empty
offer
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.
offer—the endpoint selects the first codec in the SDP offer listed in both the codec configuration and the SDP offer.
Default value: config

sip_port_binding 0
NULL
Empty
1
Valid values:

0, NULL, or Empty—opens 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.

Default value: 0

session
agc_mode 0

1

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_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 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.

dtmf_method Rfc2833

Info
InbandRtp

Method to send DTMF
echo_control 0
1
Valid values: 0 or 1. If set to 1, echo control is enabled.
noise_suppression 0
1
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
1 = event Ringing enabled
2 = play ringtone internally (event Ringing disabled)
3 = play ringtone internally and enable event Ringing.
Default Value: 1
Specifies whether to enable the ringing tone.

ringing_timeout Number 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 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
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 0
Empty
1
Valid values:

0 or Empty—disable auto restart for stuck audio
1—enable auto restart for stuck audio
Default value: 0

reject_session_when_busy 0
Empty
1
Valid values:

0 or Empty—disable rejection of a session when busy
1—enable rejection of a session when busy
Default value:0

number_sessions_for_busy Positive Integer Valid values: Empty, 0, or a positive integer

Positive number setting the number of session before busy.
Default value: 1

sip_code_when_busy 4xx
5xx
6xx
Empty
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
Default value: Empty

device
audio_in_device

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
proxies
proxy<n>
display_name String Proxy display name
domain String Valid Values: Any valid SIP domain

Default Value: Empty string

A SIP domain is an application layer configuration defining the management domain of a SIP proxy. The configured value should include hostport and may include uri-parameters as defined by RFC 3261. The scheme, userinfo, and transport URI parameters are included automatically.

If set to an empty string, SIP Endpoint SDK for .NET uses the parameters from the Connectivity section to construct the SIP domain value as it did in previous versions.

password String Proxy password
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
This setting controls whether or not SIP Endpoint SDK should re-register itself when receiving a mismatched IP address in the received parameter of a REGISTER response. This helps resolve the case where SIP Endpoint SDK for .NET has multiple network interfaces and obtains the wrong local IP address. A value of 0 (default) disables this feature and a value of 1 enables re-registration.

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.
mailbox
password String Mailbox password
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 udp

tcp
tls

Transport protocol to use when communicating with server
user String User ID for this mailbox
nat
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
system
diagnostics
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

Valid values:
0 – 4, same as log_level.
5 = Logging disabled.
This setting should not be set higher than log_level setting.

logger_type file If set to file, the log data will be printed to the file specified by the log_file parameter.
log_segment false
Number
Number in KB,MB, or hr
Valid Values:

false: No segmentation is allowed
<number> or <number> KB: Size in kilobytes
<number> MB: Size in megabytes
<number> hr: Number of hours for segment to stay open
Deafult Value: 10 MB
Specifies the segmentation limit for a log file. If the current log segment exceeds the size set by this option, the file is closed and a new one is created. This option is ignored if log output is not configured to be sent to a logfile.

log_expire false
Number
Number file
Number day
Valid Values:

false: No expiration; all generated segments are stored.
<number> or <number> file: Sets the maximum number of log files to store. Specify a number from 1—1000.
<number> day: Sets the maximum number of days before log files are deleted. Specify a number from 1100
Deafult Value: 10 (store 10 log fragments and purge the rest)
Determines whether log files expire. If they do, sets the measurement for determining when they expire, along with the maximum number of files (segments) or days before the files are removed. This option is ignored if log output is not configured to be sent to a log file.

log_time_convert local
utc
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.
utc: The time of log record generation is expressed as Coordinated Universal Time (UTC).
Default Value: local
Specifies the system in which an application calculates the log record time when generating a log file. The time is converted from the time in seconds since the Epoch (00:00:00 UTC, January 1, 1970).

log_time_format time
locale
ISO8601
Valid Values:

time: The time string is formatted according to the HH:MM:SS.sss (hours, minutes, seconds, and milliseconds) format
locale: The time string is formatted according to the system’s locale.
ISO8601: The date in the time string is formatted according to the ISO 8601 format. Fractional seconds are given in milliseconds.
Default Value: time
Specifies how to represent, in a log file, the time when an application generates log records. A log record’s time field in the ISO 8601 format looks like this: 2001-07-24T04:58:10.123.

security
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.
use_srtp String

disabled optional
mandatory

Indicates whether to use SRTP
media
ringing_file String Valid Values: Empty or String file name

Defaul Value: ringing.mp3
The Ringing sound file name in the current directory or the full local path to the ringing sound file.

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.

Feedback

Comment on this article:

blog comments powered by Disqus
This page was last modified on July 20, 2016, at 10:30.