JsSIP

JsSIP is a client side pure JavaScript library to build SIP endpoints in Web environments. It’s an open source project and runs in the browser and Node.js.

JsSIP needs a SIP WebSocket capable server to which connect and exchange SIP messages.

Integration steps

For more details see jsSIP interface to callstats.io on Github.

Add a <script> tag in the HTML.

In case no module loaded is used, a global window.callstatsjssip is exposed.

NOTE: This library does not include the callstats.io library (it must be added separately).

For full documentation, see Github.

Usage example

In the HTML:

<!DOCTYPE html>
<html>
  <head>
    <!-- Load callstats.io library (it provides window.callstats -->
    <script src="https://api.callstats.io/static/callstats.min.js"></script>
    <!-- Load JsSIP library -->
    <script src="js/jssip.js"></script>
    <!-- Load callstats-jssip library (it provides window.callstatsjssip) -->
    <script src="js/callstats-jssip.js"></script>
    <!-- Load our app code -->
    <script src="js/app.js"></script>
  </head>

  <body>
    <!-- your stuff -->
  </body>
</html>

In app.js:

// Create a JsSIP.UA instance
var ua = new JsSIP.UA(config);

// Run it
ua.start();

// Run the callstats-jssip library for this UA
callstatsjssip(ua, AppID, AppSecret);