Skip to main content

Transfer Answer

When processing a <Transfer> verb, this event is sent when a called party (B-leg) answers. The event is sent to the endpoint specified in the transferAnswerUrl attribute of the <PhoneNumber> tag that answered. BXML returned by this callback will be executed for the called party only. After all BXML has been executed, the called party will be bridged to the original call.

Most BXML verbs are allowed in response to a transferAnswer event, but some are not allowed. A full list of verbs and whether or not they are allowed:

VerbAllowed
BridgeNo
ConferenceNo
ForwardNo
GatherYes
HangupYes
PauseYes
PauseRecordingYes
PlayAudioYes
RecordYes
RedirectYes
ResumeRecordingYes
RingYes
SendDtmfYes
SpeakSentenceYes
StartGatherYes
StartRecordingYes
StopGatherYes
StopRecordingYes
TagYes
TransferNo

Request Parameters

PropertyDescription
eventTypeThe event type, value is transferAnswer.
eventTimeThe 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.
accountIdThe user account associated with the call.
applicationIdThe id of the application associated with the call.
fromThe provided identifier string of the caller used in the from field of the original call.
toThe phone number used in the to field of the original call, in E.164 format (e.g. +15555555555).
directionThe direction of the call. Always outbound for this event.
callIdThe call id of the newly-created B leg.
parentCallIdThe call id of the original call leg that executed the <Transfer> tag.
callUrlThe URL of the call associated with the event.
enqueuedTime(optional) If call queueing is enabled and this is an outbound call, time the call was queued, in ISO 8601 format.
startTimeTime the call was started, in ISO 8601 format.
answerTimeTime the call was answered, in ISO 8601 format.
tag(optional) The tag specified earlier in the call. If no tag was specified or it was previously cleared, this field will not be present.
transferCallerIdThe phone number used as the from field of the B-leg call, in E.164 format (e.g. +15555555555) or one of Restricted, Anonymous, Private, or Unavailable.
transferToThe phone number used as the to field of the B-leg call, in E.164 format (e.g. +15555555555).

Expected Response

HTTP/1.1 200
Content-Type: application/xml; charset=utf-8

<Response>
<!-- Valid, executable BXML verbs to play to the called party -->
</Response>

Examples

Transfer Answer Event

POST http://yourUrl.example/transferAnswer
Content-Type: application/json

{
"eventType" : "transferAnswer",
"eventTime" : "2019-06-20T15:57:22.477Z",
"accountId" : "55555555",
"applicationId" : "7fc9698a-b04a-468b-9e8f-91238c0d0086",
"from" : "+15551112222",
"to" : "+15553334444",
"direction" : "outbound",
"callId" : "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d",
"parentCallId" : "c-2a913f94-6a486f3a-3cae-4034-bcc3-f0c9fa77ca2f",
"callUrl" : "https://voice.bandwidth.com/api/v2/accounts/55555555/calls/c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d",
"startTime" : "2019-06-20T15:54:22.234Z",
"answerTime" : "2019-06-20T15:54:25.432Z",
"transferTo" : "+15556667777",
"transferCallerId" : "+15551112222"
}

Transfer Answer Event with Enqueued Time

POST http://yourUrl.example/transferAnswer
Content-Type: application/json

{
"eventType" : "transferAnswer",
"eventTime" : "2019-06-20T15:57:22.477Z",
"accountId" : "55555555",
"applicationId" : "7fc9698a-b04a-468b-9e8f-91238c0d0086",
"from" : "+15551112222",
"to" : "+15553334444",
"direction" : "outbound",
"callId" : "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d",
"parentCallId" : "c-2a913f94-6a486f3a-3cae-4034-bcc3-f0c9fa77ca2f",
"callUrl" : "https://voice.bandwidth.com/api/v2/accounts/55555555/calls/c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d",
"enqueuedTime" : "2019-06-20T15:52:59.308Z",
"startTime" : "2019-06-20T15:54:22.234Z",
"answerTime" : "2019-06-20T15:54:25.432Z",
"transferTo" : "+15556667777",
"transferCallerId" : "+15551112222"
}