page_title: WebRTC Gateway
section_title: Functionality
hierarchical_section_title: WebRTC Gateway / Functionality
caption_attribution_description: English: &#160;Mapping between SIP and WebRTC
context_page_description: WebRTC Gateway connects between WebRTC and an established VoIP technology such as SIP. WebRTC is an API definition drafted by the World Wide Web Consortium that supports browser-to-browser applications for voice calling, video chat, and messaging without the need of either internal or external plugins.
context_section_description: The usual process with WebRTC is that a user downloads a WebRTC JavaScript application. This application is then used to communicate with another user. A WebRTC gateway would usually contain the server from where a user would download the WebRTC JavaScript application. When receiving a call from the user, the WebRTC gateway needs to decide whether the callee is reachable over WebRTC. If not, then the call will have to be translated into SIP for example. To translate a call into SIP, the gateway will have to map different layers:
  Signalling: There is no standardised signalling protocol for WebRTC applications. However, SIP over WebSockets (RFC 7118) is often used partially due to the applicability of SIP to most of the envisaged communication scenarios as well as the availability of open source software such as JsSIP. In such a case, the gateway would only need to repackage the SIP packets from the WebSocket layer into UDP, TCP or TLS.
  Media transport: The WebRTC specifications indicate that for security reasons WebRTC applications must use SRTP for transporting media content. While some VoIP applications support SRTP as well, this is optional and hence not always the case. If the callee does not support SRTP then the WebRTC gateway will have to map between SRTP and RTP.
  Media content: The WebRTC specifications indicate that WebRTC applications must use for audio communication either G.711 or OPUS as the Audio codec. Applications using SIP for establishing audio session are free to choose any type of codec. If the callee does not support OPUS or G.711 then the WebRTC gateway will have to transcode between the WebRTC and SIP sides of the communication.
  Media address negotiation: In order to be able to traverse all kinds of NAT, the WebRTC specifications indicate that WebRTC applications must use STUN and ICE in order to detect the addresses under which two end points can exchange media packets. While these technologies are also implemented by some SIP user agents, this is not mandatory. If the callee does not support ICE or in case media transport layer needs mapping or media transcoding is required then the WebRTC gateway will have to act as an ICE end point and route the media packets between the caller and callee.
caption: WebRTC to SIP mapping
exif: {}