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