Skip to content

Latest commit

 

History

History
78 lines (47 loc) · 1.85 KB

README.md

File metadata and controls

78 lines (47 loc) · 1.85 KB

jssip-node-websocket

JsSIP.Socket interface for Node.js based on the websocket module.

The aim of this module is to provide JsSIP with WebSocket support when running in Node.js.

Installation

$ npm install jssip-node-websocket --save

Requirements

  • jssip >= v2.0.0
  • Node.js >= v4.0.0 < v20.0.0

Node >= v20.0.0

Since Node v20.0.0 the API for parsing URL has changed. To be compatible with Node v20.0.0 and previous versions you can use the following package:

@meecode/jssip-node-websocket

Usage

const JsSIP = require('jssip');
const NodeWebSocket = require('jssip-node-websocket');

let socket = new NodeWebSocket('wss://foo.example.com');

let ua = new JsSIP.UA(
  {
    uri          : 'sip:[email protected]',
    password     : 'xxxxxxxx',
    display_name : 'Alice',
    sockets      : [ socket ]
  });

API

The module exports a NodeWebSocket class conforming with the JsSIP.Socket interface.

var socket = new NodeWebSocket(url, [options])

  • url (String): The WebSocket URL.
  • options (Object): An object with fields origin, headers, requestOptions and clientConfig matching the same meaning and format of the parameters given to the websocket.W3CWebSocket class constructor.

F.A.Q.

How to allow invalid TLS certificates?
var socket = new Socket('wss://foo.example.com',
  {
    origin         : 'https://www.example.com',
    requestOptions :
    {
      agent : new https.Agent({ rejectUnauthorized: false })
    }
  });

Author

Iñaki Baz Castillo (@ibc at Github)

License

ISC