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.[2]
Initial release | 2011 |
---|---|
Stable release | 3.4.3
/ April 22, 2020[1] |
Repository | github |
Written in | JavaScript |
Type | WebRTC |
License | MIT |
Website | jssip |
General features
- 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
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
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:
- FreeSWITCH
- FRAFOS ABC WebRTC Gateway Archived 20 July 2016 at the Wayback Machine
- OverSIP
- Kamailio
- Asterisk
- reSIProcate and repro
WebRTC web browsers
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
JsSIP is provided as open-source software under the MIT license.[3]
References
- "Releases". versatica/JsSIP. JsSIP. Retrieved 2 February 2017 – via GitHub.
- "WebRTC:How and Why?" (PDF). FRAFOS. 12 January 2015. Archived from the original (PDF) on 12 June 2016. Retrieved 27 January 2015.
- "JsSIP License".