WebSocket API
This document holds the technical & environmental details required to enable bespoke applications to use Geomant’s Desktop Connect WebSocket API, providing control and monitoring of Avaya stations and agents. Desktop Connect allows web application developers to monitor & control Avaya stations and extensions over a web socket.
Creating the WebSocket connection
To be able to control stations and receive call events, a WebSocket connection needs to be opened towards Desktop Connect Server
Open connection
Name | Description |
---|---|
Schema | HTTP has its own set of schemas such as http and https. Web socket protocol also has similar schema defined in its URL pattern. e.g. ws:// or wss:// |
Host | IP address or FQDN of Desktop Connect Host e.g. dc.contoso.com |
Port | Port where Desktop Connect server is published |
socket = new WebSocket(schema + host + port + "/dc4crm/ws");
socket.onopen = function (event) {
//connection open ready for communication
};
Receive requests
In order to receive request a subscription is required for the WebSocket onmessage
method
socket.onmessage = function (message) {
var event = JSON.parse(message.data);
if (event.error) {
console.error(event);
} else {
//process events received by Desktop Connect Server
processEvent(event);
}
};
Send requests
USe the web socket to send request to Desktop Connect server, please see the list of valid request in the published methods section
Name | Description |
---|---|
req | Request JSON payload to be sent to the server |
queueId | Client ID sent by the server after a succesfull connection |
var sendRequest = function (req, queueId) {
req.guid = queueId;
socket.send(JSON.stringify(req));
};;
Heartbeat
A heartbeat mechinsm needs to be implemented otherwise Desktop Connect server will close the socket connection and logout agents logged in via the API.
setTimeout(function () {
socket.send({ ping: "ping" });
}, 20000);
Handle heartbeat response from server
socket.onmessage = function (message) {
var event = JSON.parse(message.data);
if (event.pong){
//part of heartbeat
return;
}
}
Published Methods
Desktop Connect enables API users to emit call control, agent state change and recording control request.
Available call control methods
Name | Description |
---|---|
monitor | Start call observation on an Avaya station |
login | Start call observation and login an Avaya CM Elite agent |
logout | Logout agent and terminate call observation |
setAgentState | Change Avaya agent state |
makecall | Initiate a call to a specified destination |
drop | Terminate a call |
hold | Place a call on hold |
unhold | Resume call from hold |
answer | Answer an alerting call |
doTransfer | Initiate a trasnsfer request |
completeTransfer | Complete a consultation call with transfer |
completeConference | Complete a consultation call with conference |
Available recording control methods
Name | Description |
---|---|
start | Start call recording of the active call for a station |
stop | Stop call recording session for the active call on a given station |
pause | Pause the call recording session for the active call on a given station |
resume | Resume the call recording session for the active call on a given statio |
tag | Tag call recording with data - information is stored in the recorders metadatabase |
Call Observe
To indicate to the system that call events should be raised for a given station send a monitor request with the observable extension.
Parameter | Value | Required | Description |
---|---|---|---|
request | monitor | Yes | Indicates to the system that a monitor request has to be executed |
system | cti | Yes | Request is sent to the CTI server |
aesindex | number | No | The index of the configured AES server to send the request to, if omitted default AES server is used |
tenant | The Tenant Unique Name | No | The unique tenant name, received when license has been generated |
details | User details | No | User details of the license consumer |
extension | Valid station extension | Yes | Extensions to be used for call control |
password | Valid Avaya CM Elite agent extension password | No | Agent .... |
agentid | Valid Avaya CM Elite agent extension | No | ... |
force | Boolean | No | Force overtake of station if session is already opened |
var req = {
"request": "monitor",
"system": "cti",
"aesindex": "0",
"tenant": "CUSTOMER_UNIQUE_NAME",
"details": {
"organizationId": "UNIQUE_APP_ID",
"email": "olaf.devo@geomant.com",
"lastname": "Olaf",
"firstname": "Devo",
"username": "odevo"
},
"extension": "3352",
"password": "",
"agentid": "",
"force": "true"
}
sendRequest(req)
Login Avaya agent
To login an Avaya CM Elite agent, send a login request, specifying the agent extension, agent password and station extension.
Parameter | Value | Required | Description |
---|---|---|---|
request | login | Yes | Indicates to the system that a call observation and agent login request has to be executed |
system | cti | Yes | Request is sent to the CTI server |
aesindex | number | No | The index of the configured AES server to send the request to, if omitted default AES server is used |
tenant | The Tenant Unique Name | No | The unique tenant name, received when license has been generated |
details | User details | No | User details of the license consumer |
extension | Valid station extension | Yes | Extensions to be used for call control |
password | Valid Avaya CM Elite agent extension password | No | Agent Avaya password used for login |
agentid | Valid Avaya CM Elite agent extension | No | Agent identifier extension as administered in Avaya CM |
force | Boolean | No | Force overtake of station if session is already opened |
var req = {}
req.request = "login";
req.system = "cti";
req.aesindex = 0;
req.tenant = "CUSTOMER_UNIQUE_NAME";
req.details = JSON.stringify({
"organizationId": "UNIQUE_APP_ID",
"email": "olaf.devo@geomant.com",
"lastname": "Olaf",
"firstname": "Devo",
"username": "odevo"
});
req.extension = "40001";
req.password = "1111";
req.agentid = "335267";
req.force = "true";
sendRequest(req);
Logout Agent
Request logout of agent form a phone extension
Parameter | Value | Required | Description |
---|---|---|---|
request | logout | Yes | Indicates to the system that a monitor request has to be executed |
system | cti | Yes | Request is sent to the CTI server |
ext | Valid station extension | Yes | Extensions where the agent in logged in |
agent | Valid Avaya CM Elite agent extension | Yes | Agent identified that is to be logged out |
var req = {
ext: "40001",
agent: "335267",
request: "logout",
system: "cti"
}
sendRequest(req);
Change Avaya Agent State
Request an agent workmode state change
Parameter | Value | Required | Description |
---|---|---|---|
request | setAgentState | Yes | Indicates to the system that agent state change needs to be performed |
system | cti | Yes | Request is sent to the CTI server |
extension | Valid station extension | Yes | Extensions to be used for call control |
agentid | Valid Avaya CM Elite agent extension | No | ... |
mode | 0/1/2 | No | 0 = Default, 1 = Auto available, 2 = Go to Wrapup after each call |
state | Digit | No | Break = 3 ( also specify reasoncode), Ready state = 4 (also specify mode), Wrapup = 5 |
reasoncode | Number between 0 - 99 | No | Not ready reason code, that is sent to the Avaya switch, depending on the setup it's either a single or double digit code |
var req = {
mode: 2,
state: 4,
reasoncode: 0,
extension: "40001",
agentid: "335267",
request: "setAgentState",
system: "cti"
};
sendRequest(req);
Make Call
Request a new call to be initiated by the server.
NOTE: If there is already an active call on the users station, the call needs to be placed on hold before the make call action can be succesfully undertaken
Parameter | Value | Required | Description |
---|---|---|---|
request | makecall | Yes | Indicates to the system to initate a new call |
system | cti | Yes | Request is sent to the CTI server |
extension | Valid station extension | No | Extensions from where the call is initiated, it defaults to the |
destination | Destination to be called | No | The number to be dialed, with switch dialing rules applied |
uui | String | Yes | 96 character length user to user data that will be passed along with the call, when used with the Data Store API the ID of the data record needs to be added into this field |
var request = {
uui: "96",
request: "makecall",
system: "cti",
extension: "40001",
destination: "900441789387900"
};
sendRequest(request);
Terminate Call
Request termination of an active call
Parameter | Value | Required | Description |
---|---|---|---|
request | drop | Yes | Indicates to the system to terminate a call |
system | cti | Yes | Request is sent to the CTI server |
extension | Valid station extension | No | Users extension that for which the request is raised |
ucid | 20 decimal digit | Yes | Universal Call Identfier of the active call that should be terminated |
var request = {
request: "drop",
system: "cti",
extension: "40001",
ucid: "00001002161192633166"
};
sendRequest(request);
Hold Call
Request active call to be placed on hold
Parameter | Value | Required | Description |
---|---|---|---|
request | hold | Yes | Indicates to the system to place an active call on hold |
system | cti | Yes | Request is sent to the CTI server |
extension | Valid station extension | No | Users extension that for which the request is raised |
ucid | 20 decimal digit | Yes | Universal Call Identfier of the active call that should be held |
var request = {
request: "hold",
system: "cti",
extension: "40001",
ucid: "00001002161192633166"
};
sendRequest(request);
Resume Call
Request held call to be placed resumed
Parameter | Value | Required | Description |
---|---|---|---|
request | unhold | Yes | Indicates to the system to resume a call on hold |
system | cti | Yes | Request is sent to the CTI server |
extension | Valid station extension | No | Users extension that for which the request is raised |
ucid | 20 decimal digit | Yes | Universal Call Identfier of the active call that should be resumed |
var request = {
request: "unhold",
system: "cti",
extension: "40001",
ucid: "00001002161192633166"
};
sendRequest(request);
Answer Call
Request to answer a call that is ringing.
NOTE: If there is already an active call on the users station, the call needs to be placed on hold before the answer call action can be succesfully undertaken
Parameter | Value | Required | Description |
---|---|---|---|
request | answer | Yes | Indicates to the system to answer a call |
system | cti | Yes | Request is sent to the CTI server |
extension | Valid station extension | No | Users extension that for which the request is raised |
ucid | 20 decimal digit | Yes | Universal Call Identfier of the ringing call that should be answered |
var req = {
extension: "40001",
request: "answer",
system: "cti",
ucid: ucid
};
sendRequest(req);
Initiate Transfer
Request system to peform a single step transfer for the current active call.
Parameter | Value | Required | Description |
---|---|---|---|
request | doTransfer | Yes | Indicates to the system to initate a new call to the destination and tranfer the current active call |
system | cti | Yes | Request is sent to the CTI server |
extension | Valid station extension | No | Extensions from where the call is initiated, it defaults to the |
destination | Destination to be called | No | The number to be dialed, with switch dialing rules applied |
uui | String | Yes | 96 character length user to user data that will be passed along with the call, when used with the Data Store API the ID of the data record needs to be added into this field |
var request = {
request: "doTransfer",
system: "cti",
destination: "33546",
uui: "gds_000001233099923123",
extension: "40001"
};
sendRequest(request);
Complete Transfer
Request system to perform a transfer between two active calls
Parameter | Value | Required | Description |
---|---|---|---|
request | completeTransfer | Yes | Indicates to the system to performe a tranfer from the held call to the active call |
system | cti | Yes | Request is sent to the CTI server |
extension | Valid station extension | No | Extensions from where the call is initiated, it defaults to the |
ucid1 | 20 decimal digit | Yes | Universal Call Identfier of the call that should be transferred - this call is on hold |
ucid2 | 20 decimal digit | Yes | Universal Call Identfier of the call where the transfered needs to be made - this call is connected |
var request = {
request: "completeTransfer",
system: "cti",
ucid1: "00001002161192633166",
ucid2: "00001002161192633921",
extension: "40001"
};
sendRequest(request);
Complete Conference
Request system to perform a conference between two active calls
Parameter | Value | Required | Description |
---|---|---|---|
request | completeConference | Yes | Indicates to the system to perform a conference between the held call and the active call |
system | cti | Yes | Request is sent to the CTI server |
extension | Valid station extension | No | Extensions from where the call is initiated, it defaults to the |
ucid1 | 20 decimal digit | Yes | Universal Call Identfier of the first call participant - this call is on hold |
ucid2 | 20 decimal digit | Yes | Universal Call Identfier of the second call participant - this call is connected |
var request = {
request: "completeConference",
system: "cti",
ucid1: "00001002161192633923",
ucid2: "00001002161192633929",
extension: "40001"
};
sendRequest(request);
Send DTMF Tone
Request system to send DTMF tone over the PSTN
Parameter | Value | Required | Description |
---|---|---|---|
request | sendDTMF | Yes | Indicates to the system to send dial pad digits |
system | cti | Yes | Request is sent to the CTI server |
extension | Valid station extension | No | Extensions from where the call is initiated, it defaults to the |
dtmf | dialpad digit | Yes | Digit between 0-9 or *,# sign |
var request = {
request: "sendDTMF",
system: "cti",
extension: "40001",
dtmf: "9"
};
sendRequest(request);
Start Recording
Request Avaya Call Recorder or Verint call recorder to start recording the active call on the users station
Parameter | Value | Required | Description |
---|---|---|---|
request | start | Yes | Indicates to the system to start recording |
system | acr | Yes | Request is sent to the recording server ACR/Verint |
station | Valid station extension | No | Extensions from where the call is initiated, it defaults to the |
tags | name/value pair | No | Upto seven name-value pair items that will be saved in the recording system, the name used needs to exists in the recorder custom metadata definition |
var request = {
station: "40001",
request: "start",
tags: tags,
system: "acr"
};
sendRequest(request);
Stop Recording
Request Avaya Call Recorder or Verint call recorder to stop recording the active call on the users station
Parameter | Value | Required | Description |
---|---|---|---|
request | stop | Yes | Indicates to the system to stop recording |
system | acr | Yes | Request is sent to the recording server ACR/Verint |
station | Valid station extension | No | Extensions from where the call is initiated, it defaults to the |
tags | name/value pair | No | Upto seven name-value pair items that will be saved in the recording system, the name used needs to exists in the recorder custom metadata definition |
inum | Idenitifer | Yes | Unique recording identifier |
var request = {
station: "40001",
request: "stop",
tags: tags,
inum: "802721007000001",
system: "acr"
};
sendRequest(request);
Pause Recording
Request Avaya Call Recorder or Verint call recorder to pause recording the active call on the users station
Parameter | Value | Required | Description |
---|---|---|---|
request | pause | Yes | Indicates to the system to pause recording |
system | acr | Yes | Request is sent to the recording server ACR/Verint |
station | Valid station extension | No | Extensions from where the call is initiated, it defaults to the |
inum | Idenitifer | Yes | Unique recording identifier |
var request = {
station: "40001",
request: "pause",
system: "acr",
inum: "802721007000001"
};
sendRequest(request);
Resume Recording
Request Avaya Call Recorder or Verint call recorder to resume recording the active call on the users station
Parameter | Value | Required | Description |
---|---|---|---|
request | resume | Yes | Indicates to the system to resume recording |
system | acr | Yes | Request is sent to the recording server ACR/Verint |
station | Valid station extension | No | Extensions from where the call is initiated, it defaults to the |
inum | Idenitifer | Yes | Unique recording identifier |
var request = {
station: "40001",
request: "resume",
inum: "802721007000001",
system: "acr"
};
sendRequest(request);
Tag Recording
Request Avaya Call Recorder or Verint call recorder to save additional information associated with the recording in the metadatabase
Parameter | Value | Required | Description |
---|---|---|---|
request | tag | Yes | Indicates to the system to stop recording |
system | acr | Yes | Request is sent to the recording server ACR/Verint |
station | Valid station extension | No | Extensions from where the call is initiated, it defaults to the |
tags | name/value pair | No | Upto seven name-value pair items that will be saved in the recording system, the name used needs to exists in the recorder custom metadata definition |
inum | Idenitifer | Yes | Unique recording identifier |
var request = {
station: "40001",
request: "tag",
tags: tags,
inum: "802721007000001",
system: "acr"
};
sendRequest(request);
Published Events
Desktop Connect allows applications to open up multiple WebSocket connection from a given browser, all of these connection will be receiving unique identifiers.
Desktop Connect sends the following events on call & recording observed stations
function processEvent(ev) {
if (ev.active == "true") {
//active sessoin
} else if (ev.active == "false") {
//this session has been placed in the background,
}
if (ev.system && ev.system === "acr") {
//recording events
switch (ev.event) {
case "started":
onStarted(ev);
break;
case "stopped":
onStopped(ev);
break;
case "resumed":
onResumed(ev);
break;
case "paused":
onPaused(ev);
break;
case "tagged":
onTagged(ev);
break;
}
return;
}
var callData = parseCallData(ev.data);
switch (ev.event) {
case "queuestarted":
handleQueueStarted(ev);
break;
case "sessionend":
onSessionEnded(ev.takenBy);
break;
case "LOGIN_RESP":
handleLoginResp(ev);
break;
case "MONITOR_RESP":
handleLoginResp(ev);
break;
case "statechange":
handleStateChange(ev);
break;
case "oncallincoming":
onCallIncoming(callData);
break;
case "oncalldropped":
onCallDropped(callData);
break;
case "oncallinitiated":
onCallInitiated(callData);
break;
case "onoutboundcallringing":
onOutboundCallRinging(callData);
break;
case "oncallconnected":
onCallConnected(callData);
break;
case "oncallheld":
onCallHeld(callData);
break;
case "oncallresume":
onCallResumed(callData);
break;
case "callfailed":
onCallFailed(callData);
break;
case "oncallconferenced":
onCallConferenced(callData);
break;
case "oncalltransfer":
onCallTransfer(callData);
break;
}
}
Call events
Event | Event Data | CTI Data | Description |
---|---|---|---|
queuestarted | Yes | No | Event tunneling has started, session is open for communication, for existing sessions with the same connection paramters synchronization is provided. |
sessionend | Yes | No | Desktop Connect session has been terminated, taken over by a different user |
LOGIN_RESP | Yes | No | Provides notification that call observation and agent login request was successfull |
MONITOR_RESP | Yes | No | Provides notification that call observation request was successfull. |
statechange | Yes | No | Provides notification on state update, notification |
oncallincoming | No | ... | Call is alerting at the observed station |
oncalldropped | No | ... | Call has been terminated |
oncallinitiated | No | ... | Call was initiated successfully, reached public network |
onoutboundcallringing | No | ... | Initiated call reached the far end, and is ringing |
oncallconnected | No | ... | Call is connected |
oncallheld | No | ... | Call is in hold state |
oncallresume | No | ... | Call has been retreieved from hold state |
callfailed | No | ... | Failed to make a call |
oncalltransfer | No | ... | Call is transfered |
oncallconferenced | No | ... | Call is in confeerence |
queuestarted
Event tunneling has started, session is open for communication, for existing sessions with the same connection paramters synchronization is provided.
Data | Optional | Description |
---|---|---|
clientid | No | Session identifier |
buzzeasy | No | True if Buzzesy license is enabled for the user |
wallboard | No | True if Buzzesy license is enabled for the user |
version | No | Server WebSocket API version |
ctistate | No | State of the user NONE - No user logged in MONITOR_ONLY - Call observation started BUSY - User is on call ACW - Agent is in wrapup AUX - Agent is on break MANUAL_IN - Agent is available, will transition to wrapup after every ACD call AUTO_IN - Agent is available for calls |
reasoncode | Yes | Current break reason code of the agent if any |
agentid | Yes | Agent identifier associated witlogged in sessions |
station | Yes | User phone extension |
acrstate | Yes | Call recording state |
acrinum | Yes | Call recording unique identifier |
acrtype | Yes | Call recorder type (acr/verint) |
function handleQueueStarted(ev) {
if (ev.version !== version) {
console.error("BAD_VERSION");
}
store.dispatch({
type: "QUEUE_STARTED",
payload: {
queueId: ev.clientid
}
});
}
sessionend
Desktop Connect session has been terminated, taken over by a different user.
LOGIN_RESP
Provides notification that call observation and agent login request was successfull
Data | Optional | Description |
---|---|---|
acr | No | Call recording enabled |
extension | No | Users Avaya phone extension |
agentid | No | Users Avaya CM Elite agent extension |
acrVersion | No | version of the call recorder can be one of: 12 15 Verint |
wallboard | No | Is wallboard enabled |
buzzeasy | No | is call history enabled |
MONITOR_RESP
Provides notification on state update, notification
Data | Optional | Description |
---|---|---|
acr | No | Call recording enabled |
extension | No | Users Avaya phone extension |
agentid | No | Users Avaya CM Elite agent extension |
acrVersion | No | version of the call recorder can be one of: 12 15 Verint |
wallboard | No | Is wallboard enabled |
buzzeasy | No | is call history enabled |
statechange
Provides notification on state update, notification
Data | Optional | Description |
---|---|---|
workmode | No | CTI |
state | No | User state NONE - No user logged in MONITOR_ONLY - Call observation started BUSY - User is on call ACW - Agent is in wrapup AUX - Agent is on break MANUAL_IN - Agent is available, will transition to wrapup after every ACD call AUTO_IN - Agent is available for calls |
pending | No | Indicates if the state change is still pending |
reasoncode | Yes | Break reason code |
oncallincoming
Call is alerting at the observed station
Data | Optional | Description |
---|---|---|
called | No | Dialed number |
callid | No | Switch internal call identifier |
callstarted | No | Timestamp of call start |
delivacd | No | Extension of the hunt group where the call was delivered |
delivering | No | Alphanumeric name of the huntgroup |
inbound | No | Flag, showing the direction of the call |
party[0-9] | No | List of participants in the call |
ptime[0-9] | No | Connection timestamp of each participant int the call |
remotenumber | No | Remote party number undertaking the given action |
servertime | No | Timestamp of event |
state | No | State of the call talking |
ucid | No | Universal Call Identifier |
uui | No | User to user information, 96 character long string |
data: {
"delivering":"General Inquiry",
"callid":"1398",
"party0":"36704553352",
"ptime0":"1586550554609",
"called":"3618863396",
"inbound":"true",
"uui":"",
"servertime":"1586550554609",
"callstarted":1586550554609,
"remotenumber":"36704553352",
"state":"ringing",
"ucid":"00001013981586550552",
"delivacd":"330245"}
active: "true"
event: "oncallincoming"
oncalldropped
Call connection is dropped
Data | Optional | Description |
---|---|---|
called | No | Dialed number |
callid | No | Switch internal call identifier |
callstarted | No | Timestamp of call start |
inbound | No | Flag, showing the direction of the call |
remotenumber | No | Remote party number undertaking the given action |
servertime | No | Timestamp of event |
state | No | State of the call before being disconnected talking/ringing |
ucid | No | Universal Call Identifier |
uui | No | User to user information, 96 character long string |
data: {
"callid":"1400",
"remotenumber":"06704553352",
"called":"06704553352",
"inbound":"false",
"uui":"",
"servertime":"1586551495191",
"state":"talking",
"callstarted":1586551476579,
"ucid":"00001014001586551476"
}
active: "true"
event: "oncalldropped"
oncallinitiated
Call was initiated successfully, reached public network
Data | Optional | Description |
---|---|---|
called | No | Dialed number |
callid | No | Switch internal call identifier |
callstarted | No | Timestamp of call start |
inbound | No | Flag, showing the direction of the call |
remotenumber | No | Remote party number undertaking the given action |
servertime | No | Timestamp of event |
state | No | State of the call initated |
ucid | No | Universal Call Identifier |
uui | No | User to user information, 96 character long string |
data: {
"callid":"1399",
"remotenumber":"06704553352",
"called":"06704553352",
"inbound":"false",
"servertime":"1586551204174",
"state":"initiated",
"callstarted":1586551204174,
"ucid":"00001013991586551204"}
active: "true"
event: "oncallinitiated"
onoutboundcallringing
Initiated call reached the far end, and is ringing
Data | Optional | Description |
---|---|---|
called | No | Dialed number |
callid | No | Switch internal call identifier |
callstarted | No | Timestamp of call start |
inbound | No | Flag, showing the direction of the call |
party[0-9] | No | List of participants in the call |
ptime[0-9] | No | Connection timestamp of each participant int the call |
remotenumber | No | Remote party number undertaking the given action |
servertime | No | Timestamp of event |
state | No | State of the call ringing |
ucid | No | Universal Call Identifier |
uui | No | User to user information, 96 character long string |
data: {
"callid":"1399",
"remotenumber":"06704553352",
"party0":"Unknown trunk",
"ptime0":"1586551207241",
"called":"06704553352",
"inbound":"false",
"uui":"",
"servertime":"1586551207241",
"state":"ringing",
"callstarted":1586551204174,
"ucid":"00001013991586551204"}
active: "true"
event: "onoutboundcallringing"
oncallconnected
Call is connected
Data | Optional | Description |
---|---|---|
called | No | Dialed number |
callid | No | Switch internal call identifier |
callstarted | No | Timestamp of call start |
delivacd | No | Extension of the hunt group where the call was delivered |
delivering | No | Alphanumeric name of the huntgroup |
inbound | No | Flag, showing the direction of the call |
party[0-9] | No | List of participants in the call |
ptime[0-9] | No | Connection timestamp of each participant int the call |
remotenumber | No | Remote party number undertaking the given action |
servertime | No | Timestamp of event |
state | No | State of the call talking |
ucid | No | Universal Call Identifier |
uui | No | User to user information, 96 character long string |
data: {
"delivering":"General Inquiry",
"callid":"1398",
"party0":"36704553352",
"ptime0":"1586550554609",
"called":"3618863396",
"inbound":"true",
"uui":"",
"servertime":"1586550579585",
"callstarted":1586550554609,
"remotenumber":"36704553352",
"state":"talking",
"ucid":"00001013981586550552",
"delivacd":"330245"}
active: "true"
event: "oncallconnected"
oncallheld
Call is in hold state
Data | Optional | Description |
---|---|---|
called | No | Dialed number |
callid | No | Switch internal call identifier |
callstarted | No | Timestamp of call start |
delivacd | No | Extension of the hunt group where the call was delivered |
delivering | No | Alphanumeric name of the huntgroup |
inbound | No | Flag, showing the direction of the call |
party[0-9] | No | List of participants in the call |
ptime[0-9] | No | Connection timestamp of each participant int the call |
remotenumber | No | Remote party number undertaking the given action |
servertime | No | Timestamp of event |
state | No | State of the call held |
ucid | No | Universal Call Identifier |
uui | No | User to user information, 96 character long string |
data: {
"delivering":"General Inquiry",
"callid":"1398",
"party0":"36704553352",
"ptime0":"1586550554609",
"called":"3618863396",
"inbound":"true",
"uui":"",
"servertime":"1586550691593",
"callstarted":1586550554609,
"remotenumber":"36704553352",
"state":"held",
"ucid":"00001013981586550552",
"delivacd":"330245"}
active: "true"
event: "oncallheld"
oncallresume
Call has been retreieved from hold state
Data | Optional | Description |
---|---|---|
called | No | Dialed number |
callid | No | Switch internal call identifier |
callstarted | No | Timestamp of call start |
delivacd | No | Extension of the hunt group where the call was delivered |
delivering | No | Alphanumeric name of the huntgroup |
inbound | No | Flag, showing the direction of the call |
party[0-9] | No | List of participants in the call |
ptime[0-9] | No | Connection timestamp of each participant int the call |
remotenumber | No | Remote party number undertaking the given action |
servertime | No | Timestamp of event |
state | No | State of the call talking |
ucid | No | Universal Call Identifier |
uui | No | User to user information, 96 character long string |
data: {
"delivering":"General Inquiry",
"callid":"1398",
"party0":"36704553352",
"ptime0":"1586550554609",
"called":"3618863396",
"inbound":"true",
"uui":"",
"servertime":"1586550711191",
"callstarted":1586550554609,
"remotenumber":"36704553352",
"state":"talking",
"ucid":"00001013981586550552",
"delivacd":"330245"}
active: "true"
event: "oncallresume"
callfailed
Failed to make a call
Data | Optional | Description |
---|---|---|
called | No | Dialed number |
callid | No | Switch internal call identifier |
callstarted | No | Timestamp of call start |
inbound | No | Flag, showing the direction of the call |
remotenumber | No | Remote party number undertaking the given action |
servertime | No | Timestamp of event |
state | No | State of the call held |
ucid | No | Universal Call Identifier |
data: {
"callid":"1401",
"remotenumber":"3",
"called":"3",
"inbound":"false",
"servertime":"1586551651618",
"state":"failed",
"callstarted":1586551651517,
"ucid":"00001014011586551651"}
active: "true"
event: "callfailed"
oncallconferenced
Call is in conferenced
Data | Optional | Description |
---|---|---|
called | No | Dialed number |
callid | No | Switch internal call identifier |
callstarted | No | Timestamp of call start |
delivacd | No | Extension of the hunt group where the call was delivered |
delivering | No | Alphanumeric name of the huntgroup |
inbound | No | Flag, showing the direction of the call |
party[0-9] | No | List of participants in the call |
ptime[0-9] | No | Connection timestamp of each participant int the call |
remotenumber | No | Remote party number undertaking the given action |
servertime | No | Timestamp of event |
state | No | State of the call talking |
ucid | No | Universal Call Identifier |
uui | No | User to user information, 96 character long string |
data: {
"party1":"06704553352",
"callid":"1399",
"party0":"334725",
"ptime0":"1586551210864",
"called":"06704553352",
"inbound":"false",
"ptime1":"1586551210508",
"uui":"",
"servertime":"1586551210864",
"callstarted":1586551204174,
"remotenumber":"06704553352",
"state":"talking",
"ucid":"00001013991586551204"}
active: "true"
event: "oncallconferenced"
oncalltransfer
Call is in transfered
Data | Optional | Description |
---|---|---|
called | No | Transfer from station |
calling | No | Transfer to destination |
parties | No | Number of devices actively participating in the call |
ucid | No | Universal Call Identifier |
uui | No | User to user information, 96 character long string |
data: {
"called":"330212",
"calling":"330211",
"parties":"3",
"UUI":"geo_00001014091586551778",
"ucid":"00001014091586551778"}
active: "true"
event: "oncalltransfer"
Recorder events
Event | Description |
---|---|
started | Recording started for the observed station |
stopped | Recording stoppped for the observed station |
resumed | Recording resumed for the observed station and active call |
paused | Recording paused for the observed station and active call |
tagged | Custom data was written succesfully to the call recoder metadatabase |
started
Recording started for the observed station
Data | Description |
---|---|
inum | call recroding unique identifier |
type | call recorder type |
tags | call tags |
recdata | recording data details |
stopped
Recording stoppped for the observed station
Data | Description |
---|---|
inum | call recroding unique identifier |
type | call recorder type |
tags | call tags |
paused
Recording paused for the observed station and active call
Data | Description |
---|---|
inum | call recording unique identifier |
resumed
Recording resumed for the observed station and active call
Data | Description |
---|---|
inum | call recording unique identifier |
tagged
Custom data was written succesfully to the call recoder metadatabase
Data | Description |
---|---|
type | call recorder type tags - call tags |