脚本宝典收集整理的这篇文章主要介绍了Twilio – 将已排队的呼叫连接到代理,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
什么我迄今完成的是拨号循环,其中一个用户呼叫,并拨打顺序剂,直到有人拿起,或为用户提供选项,以留言或留下就行了,同时听到响铃.还有一个简单的入场音乐.
我似乎无法弄清楚如何将这两个系统结合起来.
我发现的最接近的是this post,它很有帮助,但是一旦呼叫者入队,它就会掩盖如何召唤出来.
不幸的是,到目前为止我发现的唯一的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>
由于PHP是一个预处理器,因此没有真正的方法可以暂停或超时拨打电话. IVR树中的重定向是必需的,因此当用户仍在IVR树中时不会拨打代理.
EnqueueCaller.PHP
这是在IVR树完成并且用户选择等待代理后,调用者被重定向的地方.调用实际上发生在Enqueue之前,因为PHP在读取TwiML XMl之前首先加载(我认为?).但是,由于呼叫时存在固有的延迟,因此呼叫者将始终在代理人可以接听之前入队(我希望).
<Enqueue waitUrl="wait_file.xml">name_of_queue</Enqueue> $call = $client->account->calls->create($From,$to,"http://example.COM/DialQueueHandler.PHP",array( "statusCallback" => "DialQueueEventHandler.PHP" );
DialQueueHandler.PHP
这简单地将代理和管理程序桥接在队列的顶部.
<Say>Connecting to caller Now.</Say> <Dial><Queue>name_of_queue</Queue></Dial>
DialQueueEventHandler.PHP
此脚本包含当拨号代理状态从$_REQUEST [‘CallStatus’]更改(应答,完成,启动,响铃)时发生的情况的逻辑.在我的例子中,我从enqueue脚本中拨打了一个代理,并在此脚本中,通过设置标志继续拨打下一个代理.
switch($_REQUEST['CallStatus'] { case 'answered': case 'completed': $next = false; break; default: $next = true; break; } if($next) { $call = $client->account->calls->create($from,$nextAgentNumber,array( "StatusCallback" => "DialQueueEventHandler.PHP?agentOffset=$num" ); } //same line from EnqueueCaller.PHP,and track where we are in agent array.
如果未接听或完成呼叫,则拨打下一个座席.否则,当代理接听到呼叫时,DialQueueHandler.PHP文件将被命中,呼叫将被桥接.
您可以使用< Enqueue>的workflowSid属性.配置任务,使用TaskRouter启动到可用代理的呼叫流. PHP中有一个TaskRouter quickstart,我认为到目前为止,你可以在third part上找到它.
如果您觉得这有用,请告诉我.
以上是脚本宝典为你收集整理的Twilio – 将已排队的呼叫连接到代理全部内容,希望文章能够帮你解决Twilio – 将已排队的呼叫连接到代理所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。