2013-04-27 123 views
0

我无法让浏览器接受并使用Twilio JavaScript API接听来电。Twilio来电客户端浏览器无法正常工作

每当我打电话给我的Twilio号码,电话就挂断了,我没有看到我的浏览器中发生任何事情。

根据我的JS,当呼叫连接/应答时,我应该会看到一个警报弹出窗口。

我已经在我的Twilio帐户中正确设置了我的请求URL,我甚至检查过Twilio Debugger,但没有看到任何错误消息。

请参阅下面的代码,了解我在浏览器应用程序中使用的应接听来电的内容。

仅供参考,我正在使用PHP库生成Twilio令牌。我已经仔细检查了我的Twilio API凭据 - 它们都是正确的(我在下面的代码中删除了它们)。我得到JS警报Twilio设备设置已准备就绪。

FY3,我知道语音请求URL是在Twilio中正确设置的,因为如果我将该代码更改为“说声问好”,它会打个招呼,然后在我拨打我的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> 
+0

conn.accept(incomingCall(data)); - var'data'包含什么? – Shanthakumar 2014-07-23 16:07:05

回答

0

我想出什么问题了。很简单。设置为我的沙箱/测试凭证的帐户sid和授权令牌,以及何时将其更改为其有效凭据的情况。问题解决了!

相关问题