JsSIP


JsSIP is a library for the programming language JavaScript. It takes advantage of SIP and WebRTC to provide a fully featured SIP endpoint in any website. JsSIP allows any website to get real-time communication features using audio and video. It makes it possible to build SIP user agents that send and receive audio and video calls as well as and text messages.

General features

Standards

JsSIP implements the following SIP specifications:
  • — SIP: Session Initiation Protocol
  • — SIP Update Method
  • The Reason Header Field for SIP
  • — SIP Extension Header Field for Registering Non-Adjacent Contacts
  • — SIP Extension for Instant Messaging
  • Session Timers in SIP
  • — Managing Client-Initiated Connections in SIP
  • — Essential Correction for IPv6 ABNF and URI Comparison in RFC 3261
  • — Correct Transaction Handling for 2xx Responses to SIP INVITE Requests
  • — The WebSocket Protocol as a Transport for SIP

Interoperability

SIP proxies, servers

JsSIP uses the SIP over WebSocket transport for sending and receiving SIP requests and responses, and thus, it requires a SIP proxy/server with WebSocket support. Currently the following SIP servers have been tested and are using JsSIP as the basis for their WebRTC Gateway functionality:

WebRTC web browsers

At the media plane, JsSIP version 0.2.0 works with Chrome browser from version 24.
At the signaling plane, JsSIP runs in any .

License

JsSIP is provided as open-source software under the MIT license.