【发布时间】:2017-02-17 19:24:29
【问题描述】:
我们有一个小型的 twilio 应用程序,我们用它来从网站呼叫任何客户号码。现在我们正在尝试在我们的应用程序中添加转接呼叫功能。 但是我们无法使用 php api 转移呼叫。 这是我们正在使用的:
- 从网站拨号,JS返回callid
- 我们有另一个号码需要在几分钟后转接电话
- 所以我们有“传输”按钮,它使 ajax 调用 php 文件
有以下代码:
<?php
$existing_call_sid = $_REQUEST['CallSid'];
$new_number = $_REQUEST['new_number'];
$call = $client->calls($existing_call_sid)->update(
array(
"url" => "transfer_xml_main.php?new_number=".$new_number,
"method" => "POST"
)
);
echo $call->to;
?>
transfer_xml_main.php 包含:
<Response>
<Dial><?php echo $_GET['new_number'];?></Dial>
<Say>Please be on line we are transferring your call</Say>
</Response>
- 但是当这个请求发生时,现有的呼叫正在掉线并且没有呼叫到新号码。
- $call->to 也是空白
我做错了吗?
更新
在实现 philnash 的答案后,我收到以下致命错误:
<b>Fatal error</b>: Uncaught exception 'Twilio\Exceptions\RestException' with message '[HTTP 400] Unable to update record: No 'To' number is specified' in /twilo/twillo_php_master_new/Twilio/Version.php:85
Stack trace:
#0 /twilo/twillo_php_master_new/Twilio/Version.php(127): Twilio\Version->exception(Object(Twilio\Http\Response), 'Unable to updat...')
#1 /twilo/twillo_php_master_new/Twilio/Rest/Api/V2010/Account/CallContext.php(109): Twilio\Version->update('POST', '/Accounts/AC618...', Array, Array)
#2 /twilo/twilo_call_transfer.php(26): Twilio\Rest\Api\V2010\Account\CallContext->update(Array)
#3 {main}
thrown in <b>/twilo/twillo_php_master_new/Twilio/Version.php</b> on line <b>85</b><br />
但是,我正确地获取了父呼叫 ID,并且在 $child_calls 中,我正确地往返于哪个是第一个呼叫的,另一个是呼叫用户的。还有什么问题吗?
是的,我们想要的就像你说的那样: 1. User1(代理)从twilio JS Client呼叫一个号码(客户A) 2. 现在用户1(代理)想将呼叫转移到另一个号码,可以是代理或其他号码。
调试器也没有错误
【问题讨论】:
-
你能给我发一个 CallSid 来处理发生这种情况的电话吗?您可以通过电子邮件将其发送至 philnash@twilio.com。
-
谢谢!给你发了一封电子邮件。
-
我有个主意。您如何发送您正在转发呼叫的
new_number?你能分享那个JS吗? -
好的,给你邮寄了 JS。
标签: twilio twilio-php