Sippo interfaces and APIs

Sippo offers a set of different API’s and service interfaces that are summarised in the picture below:

architecture_wac_api

  1. SippoJS: Sippo library used to create WebRTC applications that work with the WAC.

  2. Service APIs (SAPI): Interface used by the Service Provider Network in order to manage, act or retrieve information form the WAC.

  3. Sippo Connectors: Connections created from the WAC to standard external elements.

  4. WAC API (WAPI): Interface used by SippoJS applications to communicate, provide info and other runtime operations with the WAC.

Sippo.js API (JAPI)

Sippo.js is a Javascript API that is downloaded to the user’s browsers, thus containing all the signaling stacks and WebRTC media API calls. Sippo applications are built on top of this sippo.js API and it can also be used by third-party developers to code their own client applications.

Sippo.js API supports a complete set of signaling stacks, including both standards-based (like SIPoWS, co-authored by Quobis atRFC7118) and vendor-specific ones. That means that the applications built on top of the Sippo.js API are capable of communicating with different gateways from different vendors without changing the code. That is one of the benefits of using Sippo.js API as it hides the complexity of the underlying signaling plane and provides a single and simple-to-use javascript API to the applications.

png;base64f5f002d27676b92e

Sippo Service API (SAPI)

Sippo Service API (SAPI) is a REST API which allows to connect Sippo WAC to different elements from the operator’s core and access network.

SAPI is used in server-role between the WebRTC gateway and the WAC. It can be used for Identity Management (IdM) checks as part of the authentication process and check the permission set of the subscriber. When a some requests reach the WebRTC Gateway from a WebRTC Application, the gateway in turn verify the identity of the subscriber using the WebRTC application by sending an IdM request to the WAC through the SAPI.

Sippo connectors

Some of the Sippo features requires to connect to external services or to behave as a server to third party platforms. Some of those features are exposed to the sippo.js API while others are internal to the Sippo core.

Sippo connectors available so far are (between others):

  • LDAP connector: Sippo can synchronize with an external LDAP server to retrieve contact lists, phone numbers and related information.
  • Google connector: for accessing google contacts service. It uses OAuth2 protocol for authentication and authorization.
  • Vendor-specific connectors: Sippo provides specific connectors for some features provided by the gateway vendors. The details of each connector is described in the joint application notes issued by Quobis and each vendor, please contact your sales representative for more information. The configuration of these connector is described in annex documents to this guide.

Sippo WebRTC API (WAPI)

This is an internal API offered by the Sippo WAC to the client applications, and it is not intended to be used by third parties directly. This API basically interchanges messages between the application and the WAC using JSON messages over WebSockets or HTTP, when the websocket connection between the browser and the WAC is not possible.