Skip to content

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.