我无法让浏览器使用 Twilio JavaScript API 接受和接听来电。
每次我拨打我的 Twilio 号码时,电话都会挂断,而我的浏览器中看不到任何事情发生。
根据我的 JS,当呼叫连接/应答时,我应该会弹出一个警报。
我已经在我的 Twilio 帐户中正确设置了我的请求 URL,我什至检查了 Twilio 调试器并且没有看到任何错误消息。
请参阅下面的代码,了解我在浏览器应用程序中使用的应该接听来电的内容。
仅供参考,我正在使用 PHP 库来生成 Twilio 令牌。而且我已经仔细检查了我的 Twilio API 凭据——它们都是正确的(我已经在下面的代码帖子中删除了它们)。
仅供参考,我收到 Twilio 设备设置已准备就绪的 JS 警报。
FY3,我知道在 Twilio 中正确设置了语音请求 URL,因为如果我将该代码更改为 Say Hello,它会说你好,然后在我拨打我的 Twilio 号码时挂断。
<?php
###############
# Define Vars #
###############
include 'Services/Twilio/Capability.php';
$accountSid = 'A_xxxxxxxxxxxxxxxxxxx';
$authToken = 'f_xxxxxxxxxxxxxxxxxxx';
$appSid = 'AP_xxxxxxxxxxxxxxxxxxx';
$clientName = 'jack';
####################
# Get Twilio Token #
####################
$capability = new Services_Twilio_Capability($accountSid, $authToken);
$capability->allowClientOutgoing($appSid);
$capability->allowClientIncoming($clientName);
$token = $capability->generateToken();
?>
<!DOCTYPE html>
<html>
<head>
<title>Twilio Incoming Call Test</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="//static.twilio.com/libs/twiliojs/1.1/twilio.min.js"></script>
<script>
Twilio.Device.setup('<?=$token?>');
Twilio.Device.ready(function(device) {
alert('ready!');
});
Twilio.Device.incoming(function(conn) {
conn.accept(incomingCall(data));
});
function incomingCall(data)
{
alert("Incomging Call:\n"+data);
}
Twilio.Device.error(function(conn) {
alert("Error:\n"+data);
});
</script>
</head>
<body>
<h1>Twilio Incoming Call Test</h1>
</body>
</html>
这是我的语音请求 URL 代码:
<?php
header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>';
?>
<Response>
<Dial>
<Client>jack</Client>
</Dial>
</Response>