我想创建一个帮助台网页,其中代理可以单击链接以启动对目标号码的出站呼叫。我理解如何使用Web客户端来实现这一点,但对于没有带宽来支持VoIP的代理,我希望Twilio拨打代理的电话号码然后拨打目标号码。
体验与使用谷歌语音与Google聊天/环聊客户端非常相似 - 谷歌语音呼叫您的号码/客户端,然后启动对目标的呼叫。
此外,如果座席和目标电话号码都是国内固定电话,那么这种情况是否会产生每分钟固定电话费的2倍?
我不是必须寻找代码,而是基于Twilio API和Twiml概念的答案。
答案 0 :(得分:11)
Twilio传道者在这里。
听起来您正在寻找创建“点击通话”。以下是我们文档中的一些代码,说明了如何执行此操作:
https://www.twilio.com/docs/howto/click-to-call
基础知识是:
使用REST API发起出站呼叫。当回答该调用时,Twilio将向您在初始REST请求中告知的某个URL发出HTTP请求。该URL的作用是返回包含<Dial>
动词的TwiML,该动词告诉Twilio拨打第二个电话号码并将两个呼叫线桥接在一起。
对于美国国内电话,总费用为4美分/分钟。每条腿2美分,因为每条腿被认为是出境。请参见本页的示例4:
https://www.twilio.com/help/faq/voice/how-much-am-i-charged-for-call-forwarding
希望有所帮助。
答案 1 :(得分:4)
简单/直接Twilio呼叫代理 - &gt;呼叫
原始网址:https://www.twilio.com/docs/quickstart/php/rest/call-request#call-end-callback
从浏览器加载的第一个文件:
use Twilio\Rest\Client;
// Step 2: Set our AccountSid and AuthToken from https://twilio.com/console
$AccountSid = "SID";
$AuthToken = "AuthTok";
// Step 3: Instantiate a new Twilio Rest Client
$client = new Client($AccountSid, $AuthToken);
try {
// Initiate a new outbound call
$call = $client->account->calls->create(
"+12125551111",// connect this number(Agent)
// that you've purchased or verified with Twilio.
"+12135554646",// caller id for call
// Set the URL Twilio will request when the call is answered.
array("url" => "http://example.com/call_them.php")
);
echo "Started call: " . $call->sid;
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
call_them.php:
<?php
header("content-type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
//inside dial.. actual number you want to reach
?>
<Response>
<Dial>+18185556363</Dial>
</Response>
答案 2 :(得分:0)
感谢您的好回答,@ user3229526,它像一个魅力。
要对要拨打的电话号码进行硬编码,只需在Twilio Requst URL中将要拨打的电话号码作为URL参数添加>
array("url" => "http://example.com/call_them.php?number=1234567890")
然后编辑call_them.php
以接受该参数
<Response>
<Dial>
<?php echo '+1'. $_GET['number']; ?> // +1 for country code
</Dial>
</Response>