8.1.1 Migration Guide
This migration guide will help you update your SIP Endpoint SDK 8.1.1 configuration settings for use with SIP Endpoint SDK 8.5.2. SIP Endpoint SDK 8.5.2 is based on Genesys SIP and WebRTC media stacks. It has a different XML structure and different settings from SIP Endpoint SDK for .NET 8.1.1 which was based on CounterPath.
Contents
Changes in Configuration File Structure
The table below show a side by side comparison of the SIP Endpoint SDK 8.1.1 and 8.5.2 configuration file XML structures. Notice that 8.5.2 configuration is based on policy settings rather than on environment specifics as in 8.1.1. The XML examples below show detail up to the section level where the actual settings are located.
SIP Endpoint SDK 8.1.1 Configuration | SIP Endpoint SDK 8.5.2 Configuration |
---|---|
<?xml version="1.0" encoding="utf-8"
?>
<SipEndpoint xmlns="http://schemas.genesyslab.com/2009/sipendpoint">
<Container name ="Basic">
<Connectivity user ="DN_0" server="SERVER_0:PORT_0" protocol="udp"/>
</Container>
<Container name ="Cp">
<domain name="audio">
<section name="headset"> </section>
<section name="incoming"> </section>
<section name="vad"> </section>
</domain>
<domain name="system">
<section name="qos"> </section>
<section name="dtmf"> </section>
<section name="network"> </section>
<section name="diagnostics"> </section>
<section name="general"> </section>
<section name="indialog_notify"> </section>
<section name="call_stats"> </section>
</domain>
<domain name="rtp">
<section name="2833"> </section>
<section name="inactivity"> </section>
</domain>
<domain name="proxies">
<section name="proxy0"> </section>
<section name="proxy1"> </section>
</domain>
<domain name="genesyslab">
<section name="device"> </section>
<section name="system"> </section>
<section name="beeptone"> </section>
<section name="dtmf"> </section>
<section name="control"> </section>
</domain>
</settings>
</Container>
</SipEndpoint> |
<?xml version="1.0" encoding="utf-8" ?>
<SipEndpoint xmlns="http://schemas.genesyslab.com/2009/sipendpoint">
<Container name ="Basic">
<Connectivity user =" DN_0" server=" SERVER_0:PORT_0" protocol="udp"/>
</Container>
<Container name ="Genesys">
<domain name="policy">
<section name="endpoint"> </section>
<section name="session"> </section>
<section name="device"> </section>
</domain>
<domain name="codecs">
<section name="PCMU/8000"> </section>
<section name="PCMA/8000"> </section>
<section name="G722/16000"> </section>
<section name="iLBC/8000"> </section>
<section name="iSAC/32000"> </section>
<section name="iSAC/16000"> </section>
<section name="vp8"> </section>
<section name="g729/8000"> </section>
<section name="h264"> </section>
<section name="vp9"> </section>
<section name="ulpfec/90000"> </section>
<section name="opus/48000/2"> </section>
</domain>
<domain name="proxies">
<section name="proxy0">
<section name="mailbox"> </section>
<section name="nat"> </section>
</section>
</domain>
<domain name="system">
<section name="diagnostics"> </section>
<section name="security"> </section>
<section name="media"> </section>
</domain>
</settings>
</Container>
</SipEndpoint> |
Changes in Configuration Settings
The table in this section shows how 8.1.1 configuration settings map to 8.5.2 configuration settings.
Dot Notation
For convenience, 8.5.2 configuration settings paths are presented in dot notations. For example:
XML Fragment
<Container name ="Genesys">
<domain name="policy">
<section name="endpoint">
<setting name="sip_port_min" value=""/>
Dot Notation of XML Fragment
Genesys.policy.endpoint.sip_port_min
Basic Container
The basic container for SIP EndPoint SDK 8.5.2 is as follows:
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"/>
Cp Container
The Cp container has been replaced by the Genesys container. Use the following table to to map Cp container settings to Genesys container settings.
Domain | Section | Setting | 8.5.2 Setting | 8.5.2 Valid Values |
---|---|---|---|---|
audio | ||||
headset | audio_in_agc_enabled | Genesys.policy.session.agc_mode | Valid Values: 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. | |
incoming | use_agc | Discontinued | ||
vad | continue_sending_from_last_activity_in_milliseconds | Genesys.policy.session.vad_level | Voice Activity Detection:
0–3 From conventional VAD, lowest reduction To aggressive VAD, highest reduction | |
system | ||||
qos | audio | Discontinued | ||
dtmf | force_send_in_band | Genesys.policy.session.dtmf_method | Dual-tone multi-frequency: 0 – InbandRtp | |
minimum_rfc2833_play_time | Discontinued | |||
network | dtx_enabled | Genesys.policy.session.dtx_mode | Discontinuous Transmissions: 0 – DTX is OFF 1 – DTX is ON | |
diagnostics | enable_logging | Genesys.system.diagnostics.enable_logging | Enable logging:
0 - logging is disabled 1 - logging is enabled | |
log_level | Genesys.system.diagnostics.log_level | Logging Level:
0 - Fatal messages 1 - Error messages 2 - Warning messages 3 - Info messages 4 - Debug messages | ||
general | add_OS_version_to_user_agent_header | Genesys.policy.endpoint.include_os_version_in_user_agent_header | Include OS version to the User Agent header: 0 – OS version is not included 1 – OS version is included | |
indialog_notify | enable_indialognotify | Discontinued | ||
call_stats | enabled | Discontinued | ||
has_shown_user | Discontinued | |||
url | Discontinued | |||
rtp | ||||
2833 | enabled | Discontinued | ||
hold_over_time_in_ms | Discontinued | |||
packet_time_in_ms | Discontinued | |||
payload_number | Discontinued | |||
inactivity | timer_enabled | Genesys.policy.endpoint.rtp_inactivity_timeout | RTP Inactivity Timeout in seconds: 0 no inactivity detection the default value 1 - 150sec inactivity timeout interval | |
proxies | ||||
proxy0 | sip_port_range_enable | Discontinued | ||
sip_port_range_min | Genesys.policy.endpoint.sip_port_min | SIP port range Minimum limit: valid values are 1 to 65535 default is 5060 | ||
sip_port_range_max | Genesys.policy.endpoint.sip_port_max | SIP port range Maximum limit: Valid values: 1 to 65535 Default: Minimum + 6 | ||
port_range_enable | Discontinued | |||
port_range_min | Genesys.policy.endpoint.rtp_port_min | RTP port range Minimum limit: Valid values: 1 to 65535 Default: 9000 | ||
port_range_max | Genesys.policy.endpoint.rtp_port_max | RTP port range Maximum limit: valid values are 1 to 65535 default is 9999 | ||
reregister_in_seconds | Genesys.proxies.proxy0.reg_timeout | SIP Registration Timeout: Valid Values: Number greater than 0 in seconds; 0 to disable registration | ||
auto_answer_audio | Genesys.policy.session.auto_answer | Auto Answer: 0 – disabled (default value) 1 – enabled | ||
auto_answer_video | Genesys.policy.session.auto_accept_video | Auto Accept Video: 0 – disabled (default value) 1 – enabled | ||
media_encrypted | Genesys.system.security.use_srtp | Use SRTP for particular session valid values:
| ||
Genesyslab | ||||
device | use_headset | Genesys.policy.device.use_headset | Use Headset: 0 - disabled (default value) 1 - enabled | |
reject_call_when_headset_na | Genesys.policy.session.reject_session_when_headset_na | Reject Session if headset is not available: 0 – disabled (default value) 1 – enabled | ||
error_code_when_headset_na | Genesys.policy.session.sip_code_when_headset_na | SIP Code Message: SIP error code (there is no default value) 480 is recommended value | ||
error_message_when_headset_na | Discontinued | |||
headset_name | Genesys.policy.device.headset_name | Headset name:
String | ||
manual_audio_devices_configure | Discontinued | |||
audio_in_device | Genesys.policy.device.audio_in_device | Microphone name:
String | ||
audio_out_device | Genesys.policy.device.audio_out_device | Speaker name:
String | ||
ringer_device | Discontinued | |||
system | export_settings | Discontinued | ||
enable_export_settings | Discontinued | |||
log_level_AbstractPhone | Discontinued | |||
log_level_Audio | ||||
log_level_Auto Configuration | ||||
log_level_CCM | ||||
log_level_Conferencing | ||||
log_level_Contacts | ||||
log_level_DNS | ||||
log_level_GUI | ||||
log_level_Jitter | ||||
log_level_Licensing | ||||
log_level_Media | ||||
log_level_Privacy | ||||
log_level_RTP | ||||
log_level_STUN | ||||
log_level_Security | ||||
log_level_Storage | ||||
log_level_Transport | ||||
log_level_USB Devices | ||||
log_level_Utilities | ||||
log_level_Video | ||||
log_level_Voice Quality | ||||
log_level_XMPP | ||||
log_level_Endpoint | ||||
beeptone | play_locally | Discontinued | ||
enable_beeptone | Discontinued | |||
beeptone_file | Discontinued | |||
beeptone_timeout | Discontinued | |||
dtmf | play_locally | Discontinued | ||
pause_start_stop_dtmf | Discontinued | |||
control | auto_answer | Genesys.policy.session.auto_answer | Auto Answer: 0 – disabled (default value) 1 – enabled |
Code Snippet: Starting SIP Endpoint SDK 8.5.2
In order to run a WebRTC instance and take advantage of the ability to choose audio layers, Core or Wave needs to run the WebRTC component using MTA (MultiThreaded Apartment). The following code snippet demonstrates how to run SIP Endpoint SDK 8.5.2:
. . .
this.providerWebRtcWorker = new Thread(new ThreadStart(RunUpEndpoint));
this.providerWebRtcWorker.Name = "ProviderWebRtcWorker";
this.providerWebRtcWorker.SetApartmentState(ApartmentState.MTA);
this.providerWebRtcWorker.Start();
this.providerWebRtcWorker.Join();
. . .
private void RunUpEndpoint() {
this.endpoint.ApplyConfiguration(confDoc.Root);
this.endpoint.BeginActivate();
// At this point, the actual configuration can be updated and
// the Endpoint can be started.
// The next two lines of code are unnecessary if you are not
// going to change configuration settings.
// Get updated configuration settings
//confDoc = XDocument.Load("SipEndpoint.config");
//this.endpoint.ApplyConfiguration(confDoc.Root);
// The actual SIP Endpoint Start
this.Logger.Debug("this.endpoint.Start()");
this.endpoint.Start();
. . .
}