PhoneCallController
Outgoing Messages
SendDTMF
Notifies the platform implementation to send a DTMF signal to the calling device.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "SendDTMF"
}
},
"payload": {
"payload": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
payload |
String |
Yes |
Details of the DTMF request in structured JSON format. |
|
Dial
Notifies the platform implementation to initiate an outgoing phone call to the destination address.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "Dial"
}
},
"payload": {
"payload": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
payload |
String |
Yes |
Details of the dial request in structured JSON format. |
|
Redial
Notifies the platform implementation to redial the last called phone number.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "Redial"
}
},
"payload": {
"payload": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
payload |
String |
Yes |
Details of the redial request in structured JSON format. |
|
Stop
Notifies the platform implementation to end an ongoing call or stop inbound or outbound call setup.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "Stop"
}
},
"payload": {
"payload": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
payload |
String |
Yes |
Details of the stop request in structured JSON format. |
|
Answer
Notifies the platform implementation to answer an inbound call.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "Answer"
}
},
"payload": {
"payload": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
payload |
String |
Yes |
Details of the answer request in structured JSON format. |
|
CreateCallIdReply
Reply for CreateCallId message.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Reply",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "CreateCallId",
"replyToId": {{String}}
}
},
"payload": {
"callId": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
callId |
String |
Yes |
Unique identifier for a call. |
|
Incoming Messages
CreateCallId
Generates a unique identifier for a call.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "CreateCallId"
}
}
}
CallStateChanged
Notifies the Engine of a change in the state of an ongoing call.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "CallStateChanged"
}
},
"payload": {
"state": {{CallState}},
"callId": {{String}},
"callerId": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
state |
CallState |
Yes |
The state of the call. |
|
callId |
String |
Yes |
The unique identifier associated with the call. |
|
callerId |
String |
No |
The identifier for a contact. |
|
SendDTMFSucceeded
Notifies the Engine that sending the DTMF signal succeeded.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "SendDTMFSucceeded"
}
},
"payload": {
"callId": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
callId |
String |
Yes |
The unique identifier for the associated call. |
|
ConnectionStateChanged
Notifies the Engine of a change in connection to a calling device.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "ConnectionStateChanged"
}
},
"payload": {
"state": {{ConnectionState}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
state |
ConnectionState |
Yes |
The state of connection to a calling device. |
|
CallFailed
Notifies the Engine of an error related to a call.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "CallFailed"
}
},
"payload": {
"callId": {{String}},
"code": {{CallError}},
"message": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
callId |
String |
Yes |
The unique identifier for the call associated with the error. |
|
code |
CallError |
Yes |
The error type. |
|
message |
String |
No |
A description of the error. |
|
CallerIdReceived
Notifies the Engine that a caller id was received for an inbound call.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "CallerIdReceived"
}
},
"payload": {
"callId": {{String}},
"callerId": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
callId |
String |
Yes |
The unique identifier for the call associated with the callId. |
|
callerId |
String |
Yes |
The caller's identifier or phone number. |
|
DeviceConfigurationUpdated
Notifies the Engine of the calling feature configuration of the connected calling device.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "DeviceConfigurationUpdated"
}
},
"payload": {
"configurationMap": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
configurationMap |
String |
Yes |
A map of configuration properties to the boolean state of the properties. |
|
SendDTMFFailed
Notifies the Engine that the DTMF signal could not be delivered to the remote party.
JSON Structure
{
"header": {
"version": "4.0",
"messageType": "Publish",
"id": {{String}},
"messageDescription": {
"topic": "PhoneCallController",
"action": "SendDTMFFailed"
}
},
"payload": {
"callId": {{String}},
"code": {{DTMFError}},
"message": {{String}}
}
}
Payload
Property |
Type |
Required |
Description |
Example |
callId |
String |
Yes |
callId The unique identifier for the associated call. |
|
code |
DTMFError |
Yes |
The error type. |
|
message |
String |
No |
A description of the error. |
|
Enums
CallingDeviceConfigurationProperty
Values
Value |
Description |
"DTMF_SUPPORTED" |
Whether the device supports DTMF signaling. |
ConnectionState
Values
Value |
Description |
"CONNECTED" |
A calling device is connected. |
"DISCONNECTED" |
No calling device is connected. |
DTMFError
Values
Value |
Description |
"CALL_NOT_IN_PROGRESS" |
There is no active call through which a DTMF signal can be sent. |
"DTMF_FAILED" |
Generic DTMF error. |
CallError
Values
Value |
Description |
"NO_CARRIER" |
No carrier is available on the calling device. |
"BUSY" |
The calling device is busy when setting up an outbound call, such as when a call is already in progress. |
"NO_ANSWER" |
The remote party did not answer the call. |
"NO_NUMBER_FOR_REDIAL" |
Redial was requested, but there is no previously dialed number available. |
"OTHER" |
Generic error. |
CallState
Values
Value |
Description |
"IDLE" |
The call is not in an active state. |
"DIALING" |
The outbound call is initiated by the user. Call setup is in progress. |
"OUTBOUND_RINGING" |
The outbound call has been set up, and the remote party is alerted. |
"ACTIVE" |
The call is active, and media is being transmitted between the caller and remote party. |
"CALL_RECEIVED" |
An alert for the inbound call has been received. |
"INBOUND_RINGING" |
The inbound call is ringing. |