piopiyjs v0.10.0
PIOPIY Client JS SDK for voice
PIOPIY WebRTC SDK allows you to make and receive voice calls, where making voice calls can be made to a public switched telephone network(PSTN), APP to APP calling and browser to browser calling.
Package Installation
Using NPM
npm install piopiyjsUsing YARN
yarn add piopiyjsUsing Bower
bower install telecmi/piopiy_client_jsMonolithic Import
In Browser
<script src="dist/piopiy.min.js" type="text/javascript"></script>In ESM/Typescript
import PIOPIY from 'piopiyjs';In CommonJS
var PIOPIY = require('piopiyjs');Initializing the PIOPIY Object
var piopiy = new PIOPIY( {
name: 'Display Name',
debug: false,
autoplay: true,
ringTime: 60
} );Configuration Parameters
Below is the configuration parameters
| Attribute | Description | Allowed Values | Default Value |
|---|---|---|---|
| name | Your Display Name in App | string | none |
| debug | Enable debug message in browser console | Boolean | false |
| autoplay | Handle media stream automatically | Boolean | true |
| ringTime | Your incoming call ringing time in seconds | number | 60 |
PIOPIY Methods
Login
Using this method user can able to connect with TeleCMI SBC.
piopiy.login('user_id','password','SBC_URI');Configuration Parameters
| Parameter Name | Type | Description |
|---|---|---|
| user_id | string | The user login ID |
| password | string | The user login Password |
| SBC_URI | url | ASIA - sbcsg.telecmi.comEurope - sbcuk.telecmi.comAmerica - sbcus.telecmi.comIndia - sbcind.telecmi.com |
Make call
Using this method user can able to make call to PSTN or Other user extension.
piopiy.call('PHONE_NUMBER');Configuration Parameters
| Parameter Name | Type | Description |
|---|---|---|
| PHONE_NUMBER | string | Enter phone number or user extention number ,Phone number start with country code example '13158050050' |
Send DTMF
Using this method user can able to send DTMF tone to ongoing call.
piopiy.sendDtmf('DTMF_TONE');Configuration Parameters
| Parameter Name | Type | Description |
|---|---|---|
| DTMF_TONE | string | Your DTMF tone input |
Hold Call
Using this method user can able to hold ongoing call.
piopiy.hold();Unhold Call
Using this method user can able to unhold ongoing call.
piopiy.unHold();Mute Call
Using this method user can able to mute ongoing call.
piopiy.mute();Unmute Call
Using this method user can able to unmute ongoing call.
piopiy.unMute();Answer call
Using this method user can able to answer incoming call.
piopiy.answer();Reject call
Using this method user can able to reject or disconnect incoming call.
piopiy.reject();Hangup call
Using this method user can able to hangup ongoing call.
piopiy.terminate();Logout
Using this method user can able to logout from SBC session.
piopiy.logout();PIOPIY Call Event Handler
Login
This event will triger when user login sucessfully
piopiy.on( 'login', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'login', function ( object ) {
if(object.code == 200) {
// Login successfully and do your stuff here.
}
});List of event and status
| code | status |
|---|---|
| 200 | Login Successfully |
LoginFailed
This event will trigger when user authentication failed.
piopiy.on( 'loginFailed', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'loginFailed', function ( object ) {
if(object.code == 401) {
// Verify that the user_id and password are correct.
}
});List of event and status
| code | status |
|---|---|
| 401 | Invalid user_id or password |
Trying
This event will trigger when user make call to phone number or extention (Destination Number)
piopiy.on( 'trying', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'trying', function ( object ) {
if(object.code == 100 ) {
// The outgoing call is currently being started.
}
});List of event and status
| code | status | type | call_id |
|---|---|---|---|
| 100 | trying | ougoing | 95ea3424-d77e-123b-0ca1-463d48e96190 |
Ringing
This event will trigger when call start ringing.
piopiy.on( 'ringing', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'ringing', function ( object ) {
if(object.code == 183) {
// An incoming or outgoing call is ringing.
}
});List of event and status
| code | status | type | call_id |
|---|---|---|---|
| 183 | ringing | outgoing & incoming | 95ea3424-d77e-123b-0ca1-463d48e96190 |
Answered
This event will trigger when ongoing call was answered.
piopiy.on( 'answered', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'answered', function ( object ) {
if(object.code == 200) {
// An incoming or outgoing call is answered.
}
});List of event and status
| code | status | call_id |
|---|---|---|
| 200 | answered | 95ea3424-d77e-123b-0ca1-463d48e96190 |
CallStream
This event will trigger when mediastream established.
piopiy.on( 'callStream', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'callStream', function ( object ) {
// MediaStream has been established.
});List of event and status
| code | status | call_id |
|---|---|---|
| 200 | MediaStream | 95ea3424-d77e-123b-0ca1-463d48e96190 |
InComingCall
This event will trigger when user recive incmoing call.
piopiy.on( 'inComingCall', function ( object ) {
// Data is JSON it contain event and status.
});Hangup
This event will trigger when user reject or hangup incmoing call.
piopiy.on( 'hangup', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'hangup', function ( object ) {
if(object.code == 200 ) {
// to hangup the incoming and ongoing calls.
}
});List of event and status
| code | status | call_id |
|---|---|---|
| 200 | call hangup | 95ea3424-d77e-123b-0ca1-463d48e96190 |
Ended
This event will trigger when ongoing call end.
piopiy.on( 'ended', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'ended', function ( object ) {
if(object.code == 200 ) {
// An incoming or outgoing call is ended.
}
});List of event and status
| code | status | call_id |
|---|---|---|
| 200 | call ended , Unavailable , Busy & Canceled | 95ea3424-d77e-123b-0ca1-463d48e96190 |
Hold
This event will trigger when ongoing call on hold.
piopiy.on( 'hold', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'hold', function ( object ) {
if(object.code == 200 ) {
// The call is now being hold.
}
});List of event and status
| code | status | whom | call_id |
|---|---|---|---|
| 200 | call on hold | myself | 95ea3424-d77e-123b-0ca1-463d48e96190 |
UnHold
This event will trigger when ongoing call on unhold.
piopiy.on( 'unhold', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'unhold', function ( object ) {
if(object.code == 200 ) {
// The call is now being released.
}
});List of event and status
| code | status | whom | call_id |
|---|---|---|---|
| 200 | call on active | myself | 95ea3424-d77e-123b-0ca1-463d48e96190 |
Error
This event will trigger when error will occurr.
piopiy.on( 'error', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'error', function ( object ) {
if(object.code == 1001 || object.code == 1002) {
// If there are any incorrect commands in the function, displays error.
}
});List of event and status
| code | status |
|---|---|
| 1001 & 1002 | common error |
Logout
This event will trigger when user logout .
piopiy.on( 'logout', function ( object ) {
// Data is JSON it contain event and status.
});Example
piopiy.on( 'logout', function ( object ) {
if(object.code == 200 ) {
// The user logged out successfully.
}
});List of event and status
| code | status |
|---|---|
| 200 | logout successfully |