JsSIP
Initial release | 2011 |
---|---|
Stable release | 3.4.3
/ April 22, 2020[1] |
Repository | github |
Written in | JavaScript |
Type | WebRTC |
License | MIT |
Website | 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]
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]- ^ "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".