Twilio-将排队调用连接到代理

Twilio-将排队调用连接到代理,twilio,twilio-php,Twilio,Twilio Php,我正在尝试创建一个电话系统,在这个系统中,呼叫者进入队列,理想情况下,系统将呼叫一个代理,然后代理将接听并修改呼叫以桥接队列顶部 <Say>Connecting to caller now.</Say> <Dial><Queue>name_of_queue</Queue></Dial> 到目前为止,我所完成的是拨号循环,在这个循环中,用户打电话进来,然后按顺序拨打代理,直到有人接电话,或者让用户在听到电话铃响时选择留言或在

我正在尝试创建一个电话系统,在这个系统中,呼叫者进入队列,理想情况下,系统将呼叫一个代理,然后代理将接听并修改呼叫以桥接队列顶部

<Say>Connecting to caller now.</Say>
<Dial><Queue>name_of_queue</Queue></Dial>
到目前为止,我所完成的是拨号循环,在这个循环中,用户打电话进来,然后按顺序拨打代理,直到有人接电话,或者让用户在听到电话铃响时选择留言或在线。和一个简单的排队等待音乐

我似乎不知道如何将这两个系统结合起来

我发现最接近的是,这很有帮助,但它掩盖了如何在呼叫者排队后呼出

不幸的是,到目前为止,我找到的唯一的Twilio文档告诉我如何拨入队列,这不是我想要从这个系统中得到的。我想让这个系统把一个呼叫者放在一个等待音乐的队列中,然后系统拨打代理号码,直到代理接电话

非常感谢您的任何帮助

谢谢

编辑:

解决方案

index.php

这是调用者最初点击的一般IVR树

<Say>This hits your general IVR tree</Say>
<Say>As the last action, since the caller hasn't pressed anything and should be enqueued, redirect the caller to EnqueueCaller.php</Say>
<Redirect>./EnqueueCaller.php</Redirect>

如果电话未接听或未完成,请拨打下一个代理。否则,当代理接到呼叫时,DialQueueHandler.php文件将被命中,呼叫将被桥接。

Jeff,我是Twilio的Megan

您可以利用
workflowSid
属性来配置一个任务,该任务使用TaskRouter启动到可用代理的调用流。PHP中有一个TaskRouter,我认为考虑到目前为止的情况,您可以从中学习


如果您觉得这有帮助,请告诉我。

你好,梅根!谢谢你的链接和回复。在一天的大部分时间里,我的头撞在墙上,我明白了简单地使用PHPAPI,然后将account->calls->create放在response->enqueue之后,就像我需要的那样工作。很好。这是因为create调用不像enqueue那样使用twiml,所以enqueue发生了,之后的任何PHP都会像平常一样发生。我将在下周完成并清理应用程序后发布后续信息。干杯,再次感谢。太好了,很高兴听到这个消息!祝你周末愉快。
<Say>Connecting to caller now.</Say>
<Dial><Queue>name_of_queue</Queue></Dial>
switch($_REQUEST['CallStatus'] {
    case 'answered':
    case 'completed':
        $next = false;
        break;
    default:
        $next = true;
        break;
}
if($next) { $call = $client->account->calls->create($from, $nextAgentNumber, "http://example.com/DialQueueHandler.php", array( "StatusCallback" => "DialQueueEventHandler.php?agentOffset=$num" ); } //same line from EnqueueCaller.php, and track where we are in agent array.