【发布时间】:2018-02-02 09:51:37
【问题描述】:
使用 twilio Api 我正在尝试实现以下功能:
- 代理单击列表中的号码以通过 twilio javaacript Web 客户端拨号
- 如果接收器不可用并且他的应答机响应 那时代理可以选择单击我网站上的按钮来播放将留在他的机器上的预先录制的音频
但我无法将呼叫转接到预先录制的音频。 到目前为止,我尝试的是更新正在进行的对页面的调用,该页面输出 twiml 播放动词,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Play>https://mywebsite.com/audio.mp3</Play>
</Response>
但是,一旦呼叫被重定向到上述 twiml,接收方电话似乎已断开连接,并且没有预先录制的音频留在他的语音信箱中,而是将音频回放给代理(呼叫者)。
我尝试更新父调用和子调用(从parentsid和child sid获得),但它似乎不起作用。
我用于更新调用的 php 代码:
$client->calls($callSid)->update([
'url' => route('twilio.play-vm'),
'StatusCallback' => route('twillo.call-complete')
]);
//Trying with child call
$childCall = $client->calls->read(['parentCallSid' => $callSid])[0];
$childCall->update([
'record' => true,
'url' => route('twilio.play-vm'),
'StatusCallback' => route('twillo.call-complete')
]);
【问题讨论】:
-
从你描述的方式来看,听起来你实际上并没有更新子 sid 或者你用错误的值更新它
-
你是如何得到孩子 callid 的? Twiml 看起来是正确的,用于修改调用的 PHP 看起来是正确的,所以我同意 @A-Developer-Has-No-Name 似乎错误的 callid 正在更新。您应该能够从
<Number>名词的 statusCallback webhook 中获取子 callid。
标签: laravel twilio twilio-api twilio-php twilio-click-to-call