JsSIP

Summary

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.[2]

JsSIP
Initial release2011; 13 years ago (2011)
Stable release
3.4.3 / April 22, 2020; 3 years ago (2020-04-22)[1]
Repositorygithub.com/versatica/JsSIP
Written inJavaScript
TypeWebRTC
LicenseMIT
Websitejssip.net

General features edit

  • SIP over WebSocket transport
  • Audio-video calls, instant messaging and presence
  • Pure JavaScript built from the ground up
  • Easy to use and powerful user API
  • Works with OverSIP, Kamailio, and Asterisk servers
  • SIP standards

Standards edit

JsSIP implements the following SIP specifications:

  • RFC 3261 — SIP: Session Initiation Protocol
  • RFC 3311 — SIP Update Method
  • RFC 3326 — The Reason Header Field for SIP
  • RFC 3327 — SIP Extension Header Field for Registering Non-Adjacent Contacts (Path header)
  • RFC 3428 — SIP Extension for Instant Messaging (MESSAGE method)
  • RFC 4028 — Session Timers in SIP
  • RFC 5626 — Managing Client-Initiated Connections in SIP (Outbound mechanism)
  • RFC 5954 — Essential Correction for IPv6 ABNF and URI Comparison in RFC 3261
  • RFC 6026 — Correct Transaction Handling for 2xx Responses to SIP INVITE Requests
  • RFC 7118 — The WebSocket Protocol as a Transport for SIP

Interoperability edit

SIP proxies, servers edit

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:

  • FreeSWITCH
  • FRAFOS ABC WebRTC Gateway Archived 20 July 2016 at the Wayback Machine
  • OverSIP
  • Kamailio
  • Asterisk
  • reSIProcate and repro

WebRTC web browsers edit

At the media plane (audio calls), JsSIP version 0.2.0 works with Chrome browser from version 24. At the signaling plane (SIP protocol), JsSIP runs in any WebSocket capable browser.

License edit

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

References edit

  1. ^ "Releases". versatica/JsSIP. JsSIP. Retrieved 2 February 2017 – via GitHub.
  2. ^ "WebRTC:How and Why?" (PDF). FRAFOS. 12 January 2015. Archived from the original (PDF) on 12 June 2016. Retrieved 27 January 2015.
  3. ^ "JsSIP License".

External links edit

jssip.net