1

我已经成功设置了 Twilio 的 JS WebRTC 客户端和 PHP 端进行调用。但是,我似乎无法弄清楚如何在通话进行后发送新的 TwiML 代码。

这就是我想做的事情:一旦通话进行,当我单击浏览器中的按钮时,我想播放预先录制的消息。实现这一目标的最佳方法是什么?在通话已经进行后,我不知道如何发送新消息。谢谢!

4

1 回答 1

2

Twilio 开发人员布道者在这里。

要将更多 TwiML 发送到正在进行的调用,您需要使用 REST API 来更新正在进行的调用。

为此,您将需要呼叫 SID。当呼叫被应答时,您可以从参数到原始 webhook 到您的服务器或通过对象parameters上的属性来Twilio.Connection获取此信息。

获得 Call SID 后,您可以通过调用 REST API 使用新的 TwiML 更新调用,如下所示:

require_once('/path/to/twilio-php/Services/Twilio.php'); // Loads the library

// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "{{ account_sid }}"; 
$token = "{{ auth_token }}"; 
$client = new Services_Twilio($sid, $token);

$call = $client->account->calls->get("{{ call_sid }}");
$call->update(array(
    "Url" => "{{ new_url_with_twiml }}"
));

有关如何在飞行中更新呼叫的更多信息:https ://www.twilio.com/docs/api/rest/change-call-state

于 2015-07-06T09:41:27.013 回答