1

我目前正在使用 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,$to参数到底是什么。calls->create()如果我们最初启动对 $to 的调用,那么它应该可以工作。我的要求是从我的浏览器呼叫客户到客户号码。是的,我在这里看到了参考文献,但又堆积了起来。

4

2 回答 2

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 询问信息(例如获取发送 SMS 消息的列表)。实际音频连接的管理由 Twilios 内部系统处理。

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

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

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

希望有帮助。

德文

于 2013-06-11T22:28:46.117 回答
0

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

于 2014-08-11T22:03:00.150 回答