jssip-rtcninja
v2.0.7
Published
the Javascript SIP library
Downloads
6
Maintainers
Readme
Overview
- Runs in the browser and Node.js.
- SIP over WebSocket (use real SIP in your web apps)
- Audio/video calls (WebRTC) and instant messaging
- Lightweight!
- Easy to use and powerful user API
- Works with OverSIP, Kamailio, Asterisk. Mobicents and repro (reSIProcate) servers (more info)
- Written by the authors of RFC 7118 "The WebSocket Protocol as a Transport for SIP" and OverSIP
Support
For questions or usage problems please use the jssip public Google Group.
For bug reports or feature requests open an Github issue.
Getting Started
The following simple JavaScript code creates a JsSIP User Agent instance and makes a SIP call:
// Create our JsSIP instance and run it:
var configuration = {
'ws_servers': 'ws://sip-ws.example.com',
'uri': 'sip:[email protected]',
'password': 'superpassword'
};
var ua = new JsSIP.UA(configuration);
ua.start();
// Make an audio/video call:
var session = null;
// HTML5 <video> elements in which local and remote video will be shown
var selfView = document.getElementById('my-video');
var remoteView = document.getElementById('peer-video');
// Register callbacks to desired call events
var eventHandlers = {
'progress': function(e){
console.log('call is in progress');
},
'failed': function(e){
console.log('call failed with cause: '+ e.data.cause);
},
'ended': function(e){
console.log('call ended with cause: '+ e.data.cause);
},
'confirmed': function(e){
var local_stream = session.connection.getLocalStreams()[0];
console.log('call confirmed');
// Attach local stream to selfView
selfView = JsSIP.rtcninja.attachMediaStream(selfView, local_stream);
},
'addstream': function(e){
var stream = e.stream;
console.log('remote stream added');
// Attach remote stream to remoteView
remoteView = JsSIP.rtcninja.attachMediaStream(remoteView, stream);
}
};
var options = {
'eventHandlers': eventHandlers,
'mediaConstraints': {'audio': true, 'video': true}
};
session = ua.call('sip:[email protected]', options);
Want to see more? Check the full documentation at http://jssip.net/documentation/.
Online Demo
Check our Tryit JsSIP online demo:
Website and Documentation
Download
- As Node module:
$ npm install jssip
- As Bower module:
$ bower install jssip
- Manually: jssip.net/download
Authors
José Luis Millán
- Main author. Core Designer and Developer.
- [email protected] (Github @jmillan)
Iñaki Baz Castillo
- Core Designer and Developer.
- [email protected] (Github @ibc)
Saúl Ibarra Corretgé
- Core Designer.
- [email protected] (Github @saghul)
License
JsSIP is released under the MIT license.