# versatica/JsSIP

JsSIP, the JavaScript SIP library

Repository: https://github.com/versatica/JsSIP
Canonical: https://ross.abutalabs.com/products/jssip
Homepage: https://jssip.net
Language: JavaScript
License: NOASSERTION
License Family: other
Last push: 2026-05-06T11:10:02+00:00

## Health v2 (maintenance only)
Score: 69/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 81, release rhythm 35, longevity 100
- inputs: {"age_days": 5168, "days_push": 119, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2599, forks 792 (observed 2026-08-28T04:07:03.251822+00:00)

## What it is
JsSIP is a pure JavaScript SIP (Session Initiation Protocol) library that implements a full SIP user agent for browsers and Node.js. It supports SIP over WebSocket transport (RFC 7118), WebRTC audio/video calls, and instant messaging, interoperating with servers like Kamailio, Asterisk, and reSIProcate.

## Use cases
- build a browser-based SIP softphone with WebRTC audio/video calls
- add SIP calling and messaging to a web application
- connect a web app to an Asterisk or Kamailio SIP server over WebSocket
- implement SIP instant messaging (MESSAGE) in JavaScript
- create a click-to-call widget on a website
- run a SIP client in Node.js

## When to choose
- you need real SIP signaling (RFC 3261) in the browser without plugins
- your SIP infrastructure supports or can proxy SIP over WebSocket
- you want a lightweight, well-documented client-side SIP stack with WebRTC media
- you need to build custom SIP logic with a flexible event-driven API

## When to avoid
- your SIP server lacks WebSocket transport support and you cannot add a WebSocket-capable proxy
- you need a turnkey softphone UI rather than a library to build one
- you need non-JavaScript environments or native mobile SIP without a WebView
- you need server-side media processing (consider mediasoup or a media server instead)

## Facets
- artifact type: library
- maturity: stable
- function: websocket, http-client, sdk
- domain: web-development, apis, frontend
- platform: browser
- tags: sip, webrtc, voip, sip-over-websocket, instant-messaging, telephony, rfc3261, rfc7118, user-agent, audio-video-calls, real-time, nodejs, javascript

## Member repositories
- versatica/JsSIP (main) score 69

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:03.251822+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:21:18.033730+00:00, confidence not recorded.
  - readme: https://github.com/versatica/JsSIP (fetched 2026-08-28T04:07:03.251822+00:00, sha 1c1a96953d0c)
  - homepage: https://jssip.net (fetched 2026-08-29T10:04:38.422352+00:00, sha 48f6c17b5a13)
  - site_page: https://jssip.net/documentation (fetched 2026-08-29T10:04:38.431319+00:00, sha 13e7a5a8e9a6)
  - site_page: https://jssip.net/documentation/faq (fetched 2026-08-29T10:04:38.433739+00:00, sha 96e55409a665)
  - site_page: https://jssip.net/documentation/misc/sip_websocket (fetched 2026-08-29T10:04:38.435835+00:00, sha 89432d397f2e)
  - site_page: https://jssip.net/documentation/misc/webrtc (fetched 2026-08-29T10:04:38.437673+00:00, sha ba5aab127190)
  - site_page: https://jssip.net/documentation/misc/interoperability (fetched 2026-08-29T10:04:38.439437+00:00, sha 3b2062cae393)
  - site_page: https://jssip.net/documentation/overview (fetched 2026-08-29T10:04:38.441269+00:00, sha 96adbcd59080)
  - site_page: https://jssip.net/documentation/api (fetched 2026-08-29T10:04:38.442907+00:00, sha e2ea19f353d9)
  - site_page: https://jssip.net/documentation/getting_started (fetched 2026-08-29T10:04:38.444385+00:00, sha 6ffeae5e1b16)
- Data as of 2026-08-30T08:39:29.467469+00:00.
