Transfer an IVR telephone call

As an IVR user, I want the bot to have the ability to transfer the caller to another phone number. I am not looking for Agent Transfer but rather, a simple phone call, IVR transfer. Any thoughts or suggestions?

1 Like

I’m looking for the same thing. Did you ever figure this out?

@mreynolds @eeskildsen
This should be possible through a custom VXML / IVR Channel override, which would have a SIP transfer instruction.

Here is a sample VXML:-

var agentTransferVxml = "<?xml version='1.0'?>";
agentTransferVxml += "<!DOCTYPE vxml PUBLIC '-//W3C//DTD VOICEXML 2.1//EN' ''>";
agentTransferVxml += "<vxml xmlns='' version='2.1'>";
agentTransferVxml += "<form id='main'>";
agentTransferVxml += "<var name='message' expr='\"\"'/>";
agentTransferVxml += "<var name='callId' expr='\"";
agentTransferVxml += [](;
agentTransferVxml += "\"'/>";
agentTransferVxml += "<block><!--<goto next='#exit'/>--></block>";
agentTransferVxml += "<transfer name=\"agentTransfer\" dest=\"sip:";
agentTransferVxml += context.session.UserSession.agentTransferNumber;
agentTransferVxml += "@[](\" connecttimeout=\"30s\" bridge=\"true\">";
agentTransferVxml += "<prompt>";
agentTransferVxml += "Okay, I'm transferring you now...";
agentTransferVxml += "</prompt>";
agentTransferVxml += "</transfer>";
agentTransferVxml += "</form>";
agentTransferVxml += "</vxml>";


You may change that message to something like “Connecting you to <phone_num> now”.
The <phone_num> would be the value from context.session.UserSession.agentTransferNumber

Credits: @venkataphani.ailavar

Hi Swagat,

Thanks for the reply. This sounds like what I’m looking for.

Where would we put it…a script node in a dialog task?

In script node print does not work.
You need advanced js section of a message node. Prefer a channel override specific to the channel you are using (webhook/ slack/ etc.)

1 Like