Twilio在拨打目标号码之前发起连接座席电话的外拨电话

时间:2013-12-08 14:46:04

标签: twilio

我想创建一个帮助台网页,其中代理可以单击链接以启动对目标号码的出站呼叫。我理解如何使用Web客户端来实现这一点,但对于没有带宽来支持VoIP的代理,我希望Twilio拨打代理的电话号码然后拨打目标号码。

体验与使用谷歌语音与Google聊天/环聊客户端非常相似 - 谷歌语音呼叫您的号码/客户端,然后启动对目标的呼叫。

此外,如果座席和目标电话号码都是国内固定电话,那么这种情况是否会产生每分钟固定电话费的2倍?

我不是必须寻找代码,而是基于Twilio API和Twiml概念的答案。

3 个答案:

答案 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>