Disconnect
The Disconnect event is fired when a call ends, for any reason. The cause
for a disconnect event on a call can be:
hangup
: one party hung up the call, a<Hangup>
verb was executed, or there was no more BXML to execute; it indicates that the call ended normally.busy
: the callee was busy.timeout
: the call wasn't answered before thecallTimeout
was reached.cancel
: the call was cancelled by its originator while it was ringing.rejected
: the call was rejected by the callee.callback-error
: a BXML callback couldn't be delivered to your callback server.invalid-bxml
: invalid BXML was returned in response to a callback.application-error
: an unsupported action was tried on the call, e.g. trying to play a .ogg audio.account-limit
: the account rate limits were reached.node-capacity-exceeded
: the system maximum capacity was reached.error
: some error not described in any of the other causes happened on the call.unknown
: some unknown error happened on the call.
caution
This list is not exhaustive and other values can appear in the future.
Request Parameters
Property | Description |
---|---|
eventType | The event type, value is disconnect . |
eventTime | The approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution. |
accountId | The user account associated with the call. |
applicationId | The id of the application associated with the call. |
to | The phone number that received the call, in E.164 format (e.g. +15555555555). |
from | The provided identifier string of the caller used in the from field of the original call. |
direction | The direction of the call. Either inbound or outbound . The direction of a call never changes. |
callId | The call id associated with the event. |
callUrl | The URL of the call associated with the event. |
startTime | Time the call was started, in ISO 8601 format. |
enqueuedTime | (optional) If call queueing is enabled and this is an outbound call, time the call was queued, in ISO 8601 format. |
answerTime | (optional) Time the call was answered, in ISO 8601 format. |
endTime | Time the call ended, in ISO 8601 format. |
cause | Reason the call ended. See above for possible values. |
errorMessage | (optional) Text explaining the reason that caused the call to be ended in case of errors. |
errorId | (optional) Bandwidth internal id that references the error event. |
tag | (optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present. |
Expected Response
HTTP/1.1 204
Examples
Call Ended due to a Busy Signal
POST http://yourUrl.example/disconnect
Content-Type: application/json
{
"eventType" : "disconnect",
"eventTime" : "2019-06-20T15:55:55.533Z",
"accountId" : "55555555",
"applicationId" : "7fc9698a-b04a-468b-9e8f-91238c0d0086",
"from" : "+15551112222",
"to" : "+15553334444",
"direction" : "outbound",
"callId" : "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d",
"callUrl" : "https://voice.bandwidth.com/api/v2/accounts/55555555/calls/c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d",
"startTime" : "2019-06-20T15:54:22.234Z",
"endTime" : "2019-06-20T15:55:54.123Z",
"cause" : "busy",
"errorMessage" : "Callee is busy",
"errorId" : "4642074b-7b58-478b-96e4-3a60955c6765"
}
Call Ended due to a Busy Signal with Enqueued Time
POST http://yourUrl.example/disconnect
Content-Type: application/json
{
"eventType" : "disconnect",
"eventTime" : "2019-06-20T15:55:55.533Z",
"accountId" : "55555555",
"applicationId" : "7fc9698a-b04a-468b-9e8f-91238c0d0086",
"from" : "+15551112222",
"to" : "+15553334444",
"direction" : "outbound",
"callId" : "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d",
"callUrl" : "https://voice.bandwidth.com/api/v2/accounts/55555555/calls/c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d",
"enqueuedTime" : "2019-06-20T15:51:09.729Z",
"startTime" : "2019-06-20T15:54:22.234Z",
"endTime" : "2019-06-20T15:55:54.123Z",
"cause" : "busy",
"errorMessage" : "Callee is busy",
"errorId" : "4642074b-7b58-478b-96e4-3a60955c6765"
}