我无法让浏览器接受并使用Twilio JavaScript API接听来电。
每次拨打我的Twilio号码时,电话都会挂断,我的浏览器中没有发现任何事情。
根据我的JS,我应该在连接/回答呼叫时收到警告弹出窗口。
我在我的Twilio帐户中正确设置了我的请求URL,我甚至检查了Twilio调试器,但没有看到任何错误消息。
请参阅下面的代码,了解我在浏览器应用中应该接听来电的内容。
仅供参考,我正在使用PHP库生成Twilio令牌。我已经仔细检查了我的Twilio API凭据 - 它们都是正确的(我已经在下面的代码中删除了它们)。
FYI2,我收到了Twilio设备准备就绪的JS警告。
FY3,我知道语音请求URL是在Twilio中正确设置的,因为如果我将该代码更改为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>
这是我的语音请求网址代码:
<?php
header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>';
?>
<Response>
<Dial>
<Client>jack</Client>
</Dial>
</Response>
答案 0 :(得分:1)
我弄清楚问题是什么。很简单。帐户sid和auth令牌设置为我的沙盒/测试凭据,当我将其更改为其工作的实时凭据时。问题解决了!