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.
npm install piopiyjs
yarn add piopiyjs
bower install telecmi/piopiy_client_js
<script src="dist/piopiy.min.js" type="text/javascript"></script>
import PIOPIY from 'piopiyjs';
var PIOPIY = require('piopiyjs');
var piopiy = new PIOPIY( {
name: 'Display Name',
debug: false,
autoplay: true,
ringTime: 60
} );
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 |
Using this method user can able to connect with TeleCMI SBC.
piopiy.login('user_id','password','SBC_URI');
Parameter Name | Type | Description |
---|---|---|
user_id | string | The user login ID |
password | string | The user login Password |
SBC_URI | url |
|
Using this method user can able to make call to PSTN or Other user extension.
piopiy.call('PHONE_NUMBER');
Parameter Name | Type | Description |
---|---|---|
PHONE_NUMBER | string | Enter phone number or user extention number ,Phone number start with country code example '13158050050' |
Using this method user can able to send DTMF tone to ongoing call.
piopiy.sendDtmf('DTMF_TONE');
Parameter Name | Type | Description |
---|---|---|
DTMF_TONE | string | Your DTMF tone input |
Using this method user can able to hold ongoing call.
piopiy.hold();
Using this method user can able to unhold ongoing call.
piopiy.unHold();
Using this method user can able to mute ongoing call.
piopiy.mute();
Using this method user can able to unmute ongoing call.
piopiy.unMute();
Using this method user can able to answer incoming call.
piopiy.answer();
Using this method user can able to reject or disconnect incoming call.
piopiy.reject();
Using this method user can able to hangup ongoing call.
piopiy.terminate();
Using this method user can able to logout from SBC session.
piopiy.logout();
This event will triger when user login sucessfully
piopiy.on( 'login', function ( object ) {
// Data is JSON it contain event and status.
});
piopiy.on( 'login', function ( object ) {
if(object.code == 200) {
// Login successfully and do your stuff here.
}
});
code | status |
---|---|
200 | Login Successfully |
This event will trigger when user authentication failed.
piopiy.on( 'loginFailed', function ( object ) {
// Data is JSON it contain event and status.
});
piopiy.on( 'loginFailed', function ( object ) {
if(object.code == 401) {
// Verify that the user_id and password are correct.
}
});
code | status |
---|---|
401 | Invalid user_id or password |
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.
});
piopiy.on( 'trying', function ( object ) {
if(object.code == 100 ) {
// The outgoing call is currently being started.
}
});
code | status | type | call_id |
---|---|---|---|
100 | trying | ougoing | 95ea3424-d77e-123b-0ca1-463d48e96190 |
This event will trigger when call start ringing.
piopiy.on( 'ringing', function ( object ) {
// Data is JSON it contain event and status.
});
piopiy.on( 'ringing', function ( object ) {
if(object.code == 183) {
// An incoming or outgoing call is ringing.
}
});
code | status | type | call_id |
---|---|---|---|
183 | ringing | outgoing & incoming | 95ea3424-d77e-123b-0ca1-463d48e96190 |
This event will trigger when ongoing call was answered.
piopiy.on( 'answered', function ( object ) {
// Data is JSON it contain event and status.
});
piopiy.on( 'answered', function ( object ) {
if(object.code == 200) {
// An incoming or outgoing call is answered.
}
});
code | status | call_id |
---|---|---|
200 | answered | 95ea3424-d77e-123b-0ca1-463d48e96190 |
This event will trigger when mediastream established.
piopiy.on( 'callStream', function ( object ) {
// Data is JSON it contain event and status.
});
piopiy.on( 'callStream', function ( object ) {
// MediaStream has been established.
});
code | status | call_id |
---|---|---|
200 | MediaStream | 95ea3424-d77e-123b-0ca1-463d48e96190 |
This event will trigger when user recive incmoing call.
piopiy.on( 'inComingCall', function ( object ) {
// Data is JSON it contain event and status.
});
This event will trigger when user reject or hangup incmoing call.
piopiy.on( 'hangup', function ( object ) {
// Data is JSON it contain event and status.
});
piopiy.on( 'hangup', function ( object ) {
if(object.code == 200 ) {
// to hangup the incoming and ongoing calls.
}
});
code | status | call_id |
---|---|---|
200 | call hangup | 95ea3424-d77e-123b-0ca1-463d48e96190 |
This event will trigger when ongoing call end.
piopiy.on( 'ended', function ( object ) {
// Data is JSON it contain event and status.
});
piopiy.on( 'ended', function ( object ) {
if(object.code == 200 ) {
// An incoming or outgoing call is ended.
}
});
code | status | call_id |
---|---|---|
200 | call ended , Unavailable , Busy & Canceled | 95ea3424-d77e-123b-0ca1-463d48e96190 |
This event will trigger when ongoing call on hold.
piopiy.on( 'hold', function ( object ) {
// Data is JSON it contain event and status.
});
piopiy.on( 'hold', function ( object ) {
if(object.code == 200 ) {
// The call is now being hold.
}
});
code | status | whom | call_id |
---|---|---|---|
200 | call on hold | myself | 95ea3424-d77e-123b-0ca1-463d48e96190 |
This event will trigger when ongoing call on unhold.
piopiy.on( 'unhold', function ( object ) {
// Data is JSON it contain event and status.
});
piopiy.on( 'unhold', function ( object ) {
if(object.code == 200 ) {
// The call is now being released.
}
});
code | status | whom | call_id |
---|---|---|---|
200 | call on active | myself | 95ea3424-d77e-123b-0ca1-463d48e96190 |
This event will trigger when error will occurr.
piopiy.on( 'error', function ( object ) {
// Data is JSON it contain event and status.
});
piopiy.on( 'error', function ( object ) {
if(object.code == 1001 || object.code == 1002) {
// If there are any incorrect commands in the function, displays error.
}
});
code | status |
---|---|
1001 & 1002 | common error |
This event will trigger when user logout .
piopiy.on( 'logout', function ( object ) {
// Data is JSON it contain event and status.
});
piopiy.on( 'logout', function ( object ) {
if(object.code == 200 ) {
// The user logged out successfully.
}
});
code | status |
---|---|
200 | logout successfully |