The key component of Genesys WebRTC Service is the Genesys WebRTC Gateway. The Gateway converts WebRTC communications to SIP, allowing for the seamless integration of WebRTC-capable devices into a SIP-based infrastructure—in particular, an architecture that uses Genesys SIP Server. From that perspective, the WebRTC Gateway plays the role of a Media Gateway / Session Border Controller.
All calls that have been initiated or received by a browser, including browser-to-browser calls, are bridged through the Gateway. This is done to ensure that every call is handled by SIP Server as a SIP call, so that all of the core Genesys features—including routing, treatments, and IVR—can be provided by SIP Server.
Genesys WebRTC Service uses peers to communicate streams of data. But it also needs a signaling mechanism to send control messages between peers. Signaling proceeds like this:
- Caller sends offer.
- Callee receives offer.
- Callee sends answer.
- Caller receives answer.
Once the signaling process has completed successfully, data can be streamed directly, peer to peer, between the caller and callee, as shown in the following diagram, or via an intermediary server.
The following protocols are used in the Genesys WebRTC Service environment:
The following simplified diagram shows the media gateway architecture by which Genesys WebRTC Service interoperates with SIP Server and the Browser. There is an HTTP connection between the Browser and the WebRTC Gateway, and this is used for signaling purposes, where the gateway acts as an HTTP server. The Web application, however, needs to be installed on a regular Web Server.
Basic Call Flow
Here is the basic call flow for a WebRTC call: