JsSIP
   HOME

TheInfoList



OR:

JsSIP is a library for the programming language
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
. It takes advantage of SIP and
WebRTC WebRTC (Web Real-Time Communication) is a free and open-source project providing web browsers and mobile applications with real-time communication (RTC) via application programming interfaces (APIs). It allows audio and video communication and ...
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

* SIP over
WebSocket WebSocket is a computer communications protocol, providing a full-duplex, simultaneous two-way communication channel over a single Transmission Control Protocol (TCP) connection. The WebSocket protocol was standardized by the Internet Engineering ...
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: * — SIP: Session Initiation Protocol * — SIP Update Method * — The Reason Header Field for SIP * — SIP Extension Header Field for Registering Non-Adjacent Contacts (Path header) * — SIP Extension for Instant Messaging (MESSAGE method) * — Session Timers in SIP * — Managing Client-Initiated Connections in SIP (Outbound mechanism) * — 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 WebSocket is a computer communications protocol, providing a full-duplex, simultaneous two-way communication channel over a single Transmission Control Protocol (TCP) connection. The WebSocket protocol was standardized by the Internet Engineering ...
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

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 an
WebSocket capable browser


License

JsSIP is provided as
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
software under the
MIT license The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility. Unl ...
.


References


External links

{{JavaScript JavaScript libraries