Skip to main content

Retell Voice Agent and FreePBX

The following tutorial provides a generalized scaffolding overview of how to implement Smart Transfers for your voice agent, using RetellAI, Cloudonix and FreePBX.

ReTell does call transfers, why is this needed at all?

Yes, ReTell (and also the other voice agent tools) are capable of performing call transfers. However, these tools rely on specific features available from the various telephony platforms, which if not used or not available, thus, call transfers can't be peformed. The following document illustrates a generic approach, which will work in a similar fashion on any voice agent platform, any telephony system or automatic platorm.

Community attribution

This tutorial was made possible through the assistance and collaboration of ReTellai.com and specifically, Alex's ReTell workshop.

Cold vs. Warm vs. Supervised Transfers

In call transfers, cold transfers are unannounced, warm transfers involve a brief handover with context, and supervised transfers require the agent to consult with the recipient before transferring. While some may conclude that supervised and warm transfers are identical, they are different - a warm transfer will provide the transfer target some context information, while a supervised transfer will provide context and wait for the transfer target to confirm the transfer.

Below is a comparison table showing the differences between these:

Transfer
Type
DescriptionProsCons
ColdA call is transferred to another agent or department without any prior communication or context.Faster and efficient for simple transfers.Lacks personalization and customer rapport, leading to a negative experience.
WarmThe original agent calls the recepient, announces the context of the inbound call, and then transfers the call.Provides a personalized experience, and allows for more informed problem-solving.Slower than cold transfers. Transfer destination can't reject the call.
SupervisedThe original agent call the recepients, announces the context of the inbound call, then asks the recepients approval for transfer. The original agent will communicate the result of the transfer to the transferee, based on the transfer destination response.Context and clarification provided on each transfer, a human like experience.Slower than the previous two.

FreePBX and Cloudonix Setup

For this tutorial, we shall assume that your FreePBX (or any other PBX system) is already connected to Cloudonix, and the connections follow the following guidelines:

  • FreePBX regards Cloudonix as an internal PBX resource (uses the from-pstn as the context of the Clouodnix SIP peer).
  • FreePBX uses internal extension numbers which are 5 digits long, all within the range of 10000 to 29999.
  • FreePBX is used and the Cloudonix connection to the world, so call to Cloudonix always come from FreePBX.
  • Calls to ReTell are always routed via Cloudonix.

For sake of simplicity, we shall assume the following about our setup:

  • All inbound calls shall be sent to FreePBX, the the phone number +12127773456.
  • Calls to +12127773456 shall be routed automatically to Cloudonix, by routing call to the domain name xxxxx-yyyyy-zzzzz.sip.cloudonix.net, which is the Cloudonix inbound calls hostnmae for our domain.
  • Our Cloudonix domain name is: smartxfer.cloudonix.net.
  • Our Cloudonix domain application API key is: X-1234567890
  • You will be using n8n as your automation tool.