Kurento

Kurento is an open source WebRTC platform that supports group communications, transcoding, recording, mixing, broadcasting and routing of audiovisual flows. Kurento is a part of Twilio.

See also our Twilio Video andTwilio Voice integration.

How to use the callstats.io integration

Currently only available for Kurento Rooms. Read the full documentation here

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 Kurento Utils library -->
    <script src="bower_components/kurento-utils/js/kurento-utils.js"></script>
    <!-- Load callstats-kurento library (it provides window.callstatskurento) -->
    <script src="js/callstats-kurento.js"></script>
    <!-- Load our app code -->
    <script src="js/app.js"></script>
  </head>

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

In app.js:

// Create a callstats-kurento App instance.
var ckApp;
var ckConference;

window.onload = function() {
    ckApp = callstatskurento(
        AppID,
        AppSecret,
        localUserID
    );

  // Create a callstats kurento conference interface, by supplying the CONFERENCE_ID
  ckConference = cskApp.createConference(CONFERENCE_ID);
}
webRtcPeer = kurentoUtils.WebRtcPeer.WebRtcPeerSendonly(options, function(error) {
    if(error) return onError(error);

    // Create a callstats-kurento peer, by handling the the webrTc peer returned by kurentoUtils
    // and supplying a PEER_ID (a session ID).
    var ckPeer = ckConference.handle(webRtcPeer, PEER_ID);

    this.generateOffer(onOfferPresenter);
});
NPM/Bower libraries have been published to the NPM/Bower registries.

Sample app

Sample app can be found here - https://github.com/nimbleape/kurento-tutorial-node