如何使用twilio进行浏览器电话呼叫

时间:2013-06-11 05:47:25

标签: php xml twilio

我目前正在使用twilio客户端呼叫,我必须从浏览器呼叫用户。让我们看看情景。

启动片段:

include 'twilio/Services/Twilio/Capability.php';
include 'twilio/Services/Twilio.php';

$accountSid = 'ACxxxxxxxxxxxxxxx';
$authToken  = 'xxxxxxxxxxxxxxxxx';

$token = new Services_Twilio_Capability($accountSid, $authToken);
$token->allowClientOutgoing('APXXXXXXXXXXX');

$client = new Services_Twilio($accountSid, $authToken);
$call = $client->account->calls->create("twilio Number", "client number", "https://www.mysite.com/twilio/callback", array());

我的回电是这样的:

function callback(){
$xml = "<Response><Say>Placing your call now.</Say><Dial callerId='twilio verified number' timeout='40' record='true'></Dial></Response>";
        header("content-type: text/xml");
        echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" . $xml;
        exit();
}

我不知道$from函数中的$tocalls->create()参数究竟是什么。如果我们最初启动对$的调用那么它应该有效。 我的要求是从我的浏览器调用客户端到客户端号码。是的,我看到引用here但又重叠了。

2 个答案:

答案 0 :(得分:2)

Twilio传道者在这里。

看起来您当前的代码正在使用REST库来启动呼叫。这会向Twilio发送一条消息,以便从Twilio拨打电话到某个电话。所有这些都发生在服务器上,而不是在浏览器中。

在您的情况下,您似乎想要直接从浏览器拨打电话。为此,您需要使用Twilio Client,它是一个JavaScript框架,允许您创建从浏览器到Twilio的音频连接,并使用WebRTC(或Flash,如果需要)进行连接。它是Twilio Client SDK的工作,用于确定如何创建和管理浏览器与Twilio之间的实际音频连接。

http://www.twilio.com/client

https://www.twilio.com/docs/tutorials/walkthrough/browser-calls/php/laravel

这与使用REST API启动呼叫不同。使用REST API启动出站呼叫时,API实际上不会管理音频连接。您使用API​​只是告诉Twilio在Twilio和手机之间发起电话(或发送短信),或向Twilio询问信息(如获取发送短信的列表)。实际音频连接的管理由Twilios内部系统处理。

您的PHP代码的第一部分是正确的,您需要创建Twilio Capability令牌。该令牌由我们的JavaScript库使用。本教程显示了可用于从浏览器调用Twilio的JavaScript代码:

https://www.twilio.com/docs/tutorials/walkthrough/browser-calls/php/laravel

一旦浏览器连接到Twilio,Twilio将向您在TwiML App上设置的URL发出请求(以您在创建功能令牌时指定的“AP”开头的字符串)。您可以从此URL返回任何您喜欢的TwiML,包括使用&lt; Dial&gt;非常告诉Twilio将Twilio Client连接桥接到&lt; Conference&gt;。

希望有所帮助。

德文

答案 1 :(得分:0)

This会很有帮助。如果你查看代码,有一些api(我认为callFromBrowser())可以解决问题。