iris-embedded-sdk

3.1.11 • Public • Published

IRIS Rtc Embedded SDK - A node js version of IRIS SDK

iris-embedded-sdk is a node js version of IRIS SDK targeted towards headless or native embedded implementations/products. It installs as a service on the embedded linux or linux enviornment and the APIs are accessible through a [REST interface]

API support

This SDK exposes local API interface and can be run locally as a service

Installation

npm i iris-embedded-sdk

How to Use

Initializing

IRIS Rtc Embedded SDK initializes with the default config during service startup.

RtcConfig.js - the default config

RtcConfig.json={
    urls:{
            appServer: <>, // Iris App server 
            authManager: <>, // Iris Auth Manager 
            idManager: <>, // Iris Identity manager
            eventManager: <>, // Iris Event Manager
            notificationManager: '', // Iris Notification Manager
        },
    port: <>, // Default port where service starts listening
    pingInterval: <>, // ping interval to keep web socket alive
    presInterval: <>, // presenceIQ interval
    reconnectInterval: <>, // reconnection interval
    statsInterval: <>, // stats to post interval 
    useAnonymousLogin: <>, // Set to use anonymous login
    useAutoAnswer: <>, // Set to auto answer
    useBridge: <>, // Set to use video bridge
    useEmPrivateIQ: <>, // Set to use private IQ.
    logLevel: <>, // 0: Error, 1: Warning, 2: Info, 3: Verbose
    webrtcLogs: <>, // Set to enable detailed libjingle logs
    loadCount: <>, // load testing count
    appKey: <>, // Set here Iris app key
    appSecret: <>, // Set here Iris app secret
    authMgrPath: <>, // Iris auth manager url
    audioForSessions: <>, // to enable/disable audio
    sdkVersion: <>, // sdk version
}

Starting Service

Run this command to start embededded SDK service:

$ node IrisRtcSdk.js

Creating Connection

Register API allows to handle the public id entered by application This public id will be exchanged with IRIS backend and a token will be obtained and makes the connection with IRIS backend.

 curl -v -X PUT -H "Content-Type: application/json" -d '{"uniqueId":"1234","type":"macid","domain":"service.example.net"}' http://localhost:8091/v1/rtc/register

Create Session

Create Session API allows to initiate outgoing calls using embedded SDK

 curl -v -X PUT -H "Content-Type: application/json" -d '{"type":"video","roomname":"testroom"}' http://localhost:8091/v1/rtc/createSession

Join Session

Join Session API allows to join and incoming call using embedded SDK

 curl -v -X PUT -H "Content-Type: application/json" -d '{"type":"audio", "roomid":"***", "roomtoken":"***","roomtokenexpirytime":"****", rtcserver:"***", traceid:"***"}' http://localhost:8091/v1/rtc/joinSession

End Session

End Session API allows to end the current sessions using embedded SDK

curl -v -X PUT -H "Content-Type: application/json" -d '{"type":"video","sessionId":"11321201"}' http://localhost:8091/v1/rtc/endSession

Get Events

Events API allows to send events using embedded SDK

var EventSource = require('eventsource');

var es = new EventSource('http://localhost:8091/v1/rtc/events');

es.onmessage = function(e) {
    var data = JSON.parse(e.data);
    console.log(data);
};

Readme

Keywords

Package Sidebar

Install

npm i iris-embedded-sdk

Weekly Downloads

8

Version

3.1.11

License

MIT

Unpacked Size

28.8 MB

Total Files

68

Last publish

Collaborators

  • npm.vamsi
  • sanbc