无法使TURN REST API正常工作

时间:2014-10-01 09:23:59

标签: node.js webrtc rfc5766turnserver

我正在尝试在node.js中生成用户名和密码。看来我的密码与TURN服务器生成的密码不匹配。

以下是我正在尝试的代码:

var turn_user='arafat';
 var timestamp= Math.round(new Date().getTime() / 1000) ;
 var turn_username=turn_user+':'+timestamp; 
 var turn_password=crypto.createHmac('sha1','abc').update(turn_username).digest('base64');
 var turnCredentials={};
 turnCredentials.username=turn_username;
 turnCredentials.password=turn_password;

我的服务器网址是:

var server = { iceServers: [ {url: "stun:stun.l.google.com:19302"}, //google's stun server 
{url: "stun:23.21.150.121"}, //mozilla's stun server
 {url: "turn:"+url, credential: turnCredentials.password, username: turnCredentials.username} // our working turn server 
] }

以下是我从转弯服务器获得的消息:

错误:check_stun_auth:找不到用户的凭据

1 个答案:

答案 0 :(得分:0)

请注意,TURN REST API文档说时间戳表示凭据何时到期。

var timestamp= Math.round(new Date().getTime() / 1000) ;
var turn_username=turn_user+':'+timestamp;

在这里,您使用当前时间作为到期时间。我建议添加几分钟给同伴一些时间来创建TURN分配:

var timestamp= Math.round(new Date().getTime() / 1000) + 300;