Jump to: navigation, search

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.

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
1 - rfc2833
2 - Info

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:
  • disabled - SRTP is disabled (default)
  • optional or allowed - SRTP is allowed
  • elective or both – SRTP is allowed in both direction
  • force or mandatory - SRTP is forced
  • enabled - SRTP is enabled
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();
. . .
}

Feedback

Comment on this article:

blog comments powered by Disqus
This page was last modified on April 1, 2015, at 02:13.