Receiving transfer status notification
When performing a transfer, VoiceAI Connect can be configured to allow the bot to regain control over the call after a failed transfer attempt. See Transferring the call for more details.
When such handling is configured, VoiceAI Connect sends transfer status notifications to the bot after each transfer attempt, indicating the outcome of the transfer.
How do I use it?
The notifications to the bot are done using the transferStatus event, which is sent by VoiceAI Connect after each transfer attempt.
The following table lists the fields of the transferStatus
event:
Field |
Type |
Description |
---|---|---|
status |
String |
Status of call transfer:
|
reasonCode |
String |
If a transfer failure occurred, indicates the reason for the failure.
|
reason |
String |
A free text describing the reason of the failure (for example, the SIP Reason header). |
The event format and syntax depends on the bot framework. The following table shows the event syntax for each of the bot frameworks.
The notification is sent as a transferStatus
event activity, with the fields inside the value
field.
For example:
{ "type": "event", "name": "transferStatus", "value": { "status": "failed", "reasonCode": "declined", "reason": "SIP ;cause=603 ;text=\"{603 Decline}\"" } }
The notification is sent as a transferStatus
event activity, with the fields inside the value
field.
For example:
{ "type": "event", "name": "transferStatus", "value": { "status": "failed", "reasonCode": "declined", "reason": "SIP ;cause=603 ;text=\"{603 Decline}\"" } }
The notification is sent as a transferStatus
event activity, with the fields inside the value
field.
For example:
{ "type": "event", "name": "transferStatus", "value": { "status": "failed", "reasonCode": "declined", "reason": "SIP ;cause=603 ;text=\"{603 Decline}\"" } }
The notification is sent as a transferStatus
event activity, with the fields inside the value
field.
For example:
{ "type": "event", "name": "transferStatus", "value": { "status": "failed", "reasonCode": "declined", "reason": "SIP ;cause=603 ;text=\"{603 Decline}\"" } }
The notification is sent as a transferStatus
event, with the fields as the event parameters.
For example:
{ "queryInput": { "event": { "name": "transferStatus", "parameters": { "status": "failed", "reasonCode": "declined", "reason": "SIP ;cause=603 ;text=\"{603 Decline}\"" } } } }
For Dialogflow CX the fields are also sent inside the event-transferStatus
session parameter, and can be accessed using a syntax such as this:
$session.params.event-transferStatus.status
The notification is sent as a transferStatus
event, with the fields as the event parameters.
For example:
{ "queryInput": { "event": { "name": "transferStatus", "parameters": { "status": "failed", "reasonCode": "declined", "reason": "SIP ;cause=603 ;text=\"{603 Decline}\"" } } } }