我试图通过修改实时通话来转发Twilio中的通话。我有一个号码设置,它将从呼叫者处获取邮政编码,然后通过在数据库中搜索来确定转发该呼叫的客户号码。对于调用的第一部分(获取邮政编码),我使用的是Gather动词。一旦我获得了邮政编码和客户指定的Twilio号码,我就可以使用REST API转发呼叫以修改实时呼叫。
我需要使用GET请求向回调URL添加一些额外的参数。
根据Twilio的网站,我应该能够将StatusCallbackURL和Method发布到修改后的调用。
https://www.twilio.com/docs/api/rest/change-call-state
但是,它不起作用。这是我的代码:
$url = 'http://xxxx.com/phone/customer?to='.$number;
$call = $this->twilio->account->calls->get($this->request->query->get('CallSid'));
$call->update(array(
'Url' => $url,
'Method' => 'GET',
'StatusCallbackMethod' => 'GET',
'StatusCallback' => 'http://xxxx.com/phone/log/callback'
));
“Url”和“Method”可选参数有效,但Twilio不回调所提供的回调网址。
twilio重定向调用的新URL返回TwiML for twilio进行处理。
电话是由接听电话和打电话的实际人发起的。我试图通过REST API创建一个调用,StatusCallback工作,但twilio期望返回TwiML,所以我在twilio中得到一个错误。