JsSIP

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

JsSIP
Initial release2011; 15 years ago (2011)
Stable release
3.4.3 / April 22, 2020; 5 years ago (2020-04-22)[1]
Repositorygithub.com/versatica/JsSIP
Written inJavaScript
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    TypeWebRTC
    LicenseMIT
    Websitejssip.net

    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 | edit source]
    • 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 | edit source]

    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 | edit source]

    SIP proxies, servers

    [edit | edit source]

    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

    [edit | edit source]

    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 | edit source]

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

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]

    jssip.net