Jump to: navigation, search

Overview

The SIP Endpoint SDK enables you to build a SIP endpoint that can seamlessly connect agent desktop applications with the Genesys SIP Server in order to handle audio and video calls. This overview will help you understand its design goals and its architecture.

Design Goals

Many SIP softphones that are currently available require an agent to interact with their own separate user interface in addition to that of the agent desktop application. For instance, the agent might have to use the SIP phone interface to answer a call, while other actions — such as holding or releasing the call — would have to be done via agent desktop interface.

In contrast to that, the SIP Endpoint SDK is designed to be integrated into an agent desktop so the agent can use a single user interface to control calls. Genesys recommends that this be done in a way that leaves actual control in the hands of a T-Lib–based agent desktop application, which has a fuller feature set and is also fully supported by Genesys.

The SIP Endpoint SDK is also designed to integrate with the Genesys SIP Server. It supports the SIP, SDP, and RTP/RTCP protocols.

In addition to these principal design goals, the SIP Endpoint SDK supports the following features:

  • Traditional call control functionality such as:
    • Establishing inbound and outbound calls
    • Hold and retrieve
    • Transfers and conference calls. SIP Endpoint SDK supports all 1pcc and 3pcc transfer scenarios.
  • Multi-line call handling

Important.png Note: Multi-line call handling is available up to the limitations on the number of simultaneous connections supported by the licensing available to Genesys at this time.

Architecture

The SIP Endpoint SDK is a software component that resides on the agent's computer. It uses the SIP protocol to communicate with the Genesys SIP Server and supports both thin (or 3-tier) and thick (or rich) T-Lib clients.

In SIP messaging terms, the SIP Endpoint is a user agent. The contact center agent's computer should also host a Genesys T-Lib client that works with SIP Server and provides Genesys agent-related functionality, as shown below.

SIP Endpoint Context.jpg

As you can see, the SIP Endpoint SDK handles the SIP messaging, and the T-Lib Client uses the T-Lib protocol to handle call control.

SDK Components

The components of the SIP Endpoint SDK are described on the following page:

Supported Codecs

SIP Endpoint SDK 8.5.1 supports the following codecs:

  • G722/16000 (G.722)
  • G.729 (including Annexes A and B)
  • H.264 video (Baseline profile only. If any other profile is configured, the default Baseline profile will be used and SIP Endpoint SDK will print an error message in the log file.)
  • ILBC/8000 (iLBC — internet Low Bitrate Codec)
  • ISAC/16000 (iSAC/16kHz — internet Speech Audio Codec)
  • ISAC/32000 (iSAC/32kHz)
  • OPUS/48000/2
  • PCMA/8000 (G.711/A-law)
  • PCMU/8000 (G.711/mu-law)
  • VP8 video
  • VP9 video
Important
Forward error correction is supported using ULPFEC (RFC 5109). SIP Endpoint SDK automatically adds this support as long as ulpfec is included in the codec list in the configuration file.

Supported RFCs

SIP Endpoint SDK 8.5.1 partially or fully supports the following RFCs:

Section Name Description
Media
RFC 1889 RTP: A Transport Protocol for Real-Time Applications
RFC 2327 SDP: Session Description Protocol
RFC 2833 RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals
RFC 3264 An Offer/Answer Model with the Session Description Protocol (SDP)
RFC 3550 RTP: A Transport Protocol for Real-Time Applications [replaces RFC 1889]
RFC 3951 Internet Low Bit Rate Codec (iLBC)
RFC 3952 Real-time Transport Protocol (RTP) Payload Format for internet Low Bit Rate Codec (iLBC) Speech
RFC 5109 RTP Payload Format for Generic Forward Error Correction
RFC 5245 Interactive Connectivity Establishment (ICE)
Network
RFC 1035 Domain names—implementation and specification
RFC 2327 SDP: Session Description Protocol
SIP
draft-ietf-sipping-cc-transfer Session Initiation Protocol Call Control—Transfer draft-ietf-sipping-cc-transfer-12
RFC 2617 HTTP Authentication: Basic and Digest Access Authentication (for SIP)
RFC 2976 The SIP INFO Method
RFC 3261 SIP: Session Initiation Protocol
RFC 3265 Session Initiation Protocol (SIP): Specific Event Notification
RFC 3420 Internet Media Type message/sipfrag
RFC 3515 The Session Initiation Protocol (SIP) Refer Method
RFC 3891 The Session Initiation Protocol (SIP) "Replaces" Header
RFC 3892 The Session Initiation Protocol (SIP) Referred-By Mechanism
RFC 5168 XML Schema for Media Control

Working with the SIP Endpoint SDK for .NET

The SIP Endpoint SDK for .NET distribution includes the following files, which you can use "as is" in your custom applications:

  • Genesyslab.Sip.Endpoint.dll
  • Genesyslab.Sip.Endpoint.Provider.Genesys.dll

These files are located in the \Bin directory at the root level of the SIP Endpoint SDK directory.

The SIP Endpoint SDK also depends on the following Genesys and third-party libraries, which should be present in the working directory:

  • intl.dll
  • libffi-6.dll
  • libgio-2.0-0.dll
  • libglib-2.0-0.dll
  • libgmodule-2.0-0.dll
  • libgobject-2.0-0.dll
  • libgthread-2.0-0.dll
  • libiconf-2.dll
  • libnice.dll
  • zlib1.dll
  • Genesyslab.Sip.Endpoint.dll
  • Genesyslab.Sip.Endpoint.Provider.Genesys.dll

Learning More

To continue learning about the SIP Endpoint SDK, we recommend you read the pages describing SIP-Based Third-Party Call Control to understand messaging patterns. After that, you should be ready to use the Deployment Guide to install the SDK on your system.

Once you have installed the SDK, you may want to check the following pages from the Developer's Guide:

Feedback

Comment on this article:

blog comments powered by Disqus
This page was last modified on April 26, 2018, at 19:36.