Menu

Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Call Control Concepts | Appendix | Web Sequence Diagrams

The following web sequence diagrams are meant to help better understand a few of TaskRouter's key call control concepts: Blind Transfer and Warm Transfer

If you want to customize any of the flows described here for your own use, you can paste the full descriptions found below each diagram into websequencediagrams.com and edit from there.

Brand new to these call control concepts? We've got you covered: check out our documentation to learn more about blind call transfers and warm transfers.

Blind Transfer

Blind Calls Transfer web sequence diagram

title Blind Call Transfer



Caller->Twilio: new call

note over Twilio, App: <not shown> create Task

Twilio->App: Reservation request

App->Twilio: instruction:conference

note right of Twilio: Twilio connects agent and caller to conference

App->Twilio: Conference hold conference.participants.customer

App->Twilio: New Task

note right of Twilio:

fill in task.requested_agent or task.desired_queue.

Ensure workflow acts on this information

Include conference SID of existing call

and TaskSID of original task

end note

App->Twilio: remove original agent leg from conference

App->Twilio: complete original task (or move to wrap)

note right of Twilio: Task gets assigned

Twilio->App: Reservation request

App->Twilio: instruction:call

note right of Twilio: Agent answers

Twilio->App: webhook for TwiML for answered call

App->Twilio: <Dial><Conference>Original Task SID</Conference></Dial>

Warm Transfer

Warm Transfer sequence diagram

title Warm Transfer



Caller->Twilio: new call

note over Twilio, App: <not shown> create Task

Twilio->App: Reservation request

App->Twilio: instruction:conference

note right of Twilio: Twilio connects agent and caller to conference

App->Twilio: Conference hold conference.participants.customer

App->Twilio: New Task

alt Warm Transfer to known person

   note right of Twilio:

   fill in task.requested_agent

   Ensure workflow acts on this information

   end note

else Warm Transfer to queue

   note right of Twilio:

   fill in task.desired_queue.

   Ensure workflow acts on this information

   end note



end

note right of Twilio:

For either option, include in Task:

- conference SID of existing call

- TaskSID of original task

end note

note right of Twilio: Task gets assigned

Twilio->App: Reservation request

App->Twilio: instruction:call

note right of Twilio: Agent answers

Twilio->App: webhook for TwiML for answered call

App->Twilio: <Dial><Conference>Original Task SID</Conference></Dial>

note over Twilio, App: Customer, Agent 1 and Agent 2 in 3-way

App->Twilio: remove original agent leg from conference

App->Twilio: complete original task (or move to wrap)

note over Twilio, App: Customer and Agent 2 in 1:1

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.

Loading Code Sample...