尝试使用SipML5 api和代码连接到Freeswitch时出现传输错误

时间:2014-05-09 12:39:36

标签: javascript sip rtc freeswitch sipml

我正在尝试使用chrome的网页调用在 Twinkle 上注册的用户1001。但我收到 Terminated_X_transportError 错误。 JavaScript代码就是这个

 <html>
<head>
<script type="text/javascript" src="SIPml-api.js"></script>
<script type="text/javascript">
alert("hello");
SIPml.init(
         function(e){

             var stack =  new SIPml.Stack({realm: '192.168.49.170', 
                                           impi: '1002', 
                                           impu: 'sip:1002@192.168.49.170', 
                                           password: '1234',

                 events_listener: { events: 'started', listener: function(e){
                             var callSession = stack.newSession('call-audio', {
                                     audio_remote: document.getElementById('audio-remote')
                                 });
                             callSession.call('1001');
                         } 
                     }
             });
             stack.start();
         }
 );

 alert("hello 1");

 </script>

 </head>
 <body>
 <input type="text" id="phonenumber"/><br/>
 <button type=submit id="button1" >Call</button>
  <audio id="audio_remote" autoplay="autoplay"/> 

 </body>
 </html>

here is the JavaScript log

我在代码中使用websocket和出站代理地址。但正如this问题中所建议的那样,我现在使用它 它既没有抛出任何错误,也没有响应。

我在后面的代码

中的'password'行之后添加了这些行
websocket_proxy_url : 'ws://192.168.49.170:5080',
outbound_proxy_url : 'udp://192.168.49.170:5060',
enable_rtcweb_breaker:'yes'

这是我在运行修改后的代码后得到的JavaScript日志。

SIPML5 API version = 1.4.217 SIPml-api.js:1
User-Agent=Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 SIPml-api.js:1
WebSocket supported = yes SIPml-api.js:1
Navigator friendly name = chrome SIPml-api.js:1
OS friendly name = linux SIPml-api.js:1
Have WebRTC = yes SIPml-api.js:1
Have GUM = yes SIPml-api.js:1
Engine initialized SIPml-api.js:1
s_websocket_server_url=ws://192.168.49.170:5080 SIPml-api.js:1
s_sip_outboundproxy_url=udp://192.168.49.170:5060 SIPml-api.js:1
b_rtcweb_breaker_enabled=yes SIPml-api.js:1
b_click2call_enabled=no SIPml-api.js:1
b_early_ims=yes SIPml-api.js:1
b_enable_media_stream_cache=no SIPml-api.js:1
o_bandwidth={} SIPml-api.js:1
o_video_size={} SIPml-api.js:1
SIP stack start: proxy='ns313841.ovh.net:12062', realm='<sip:192.168.49.170>', impi='1002', impu='<sip:1002@192.168.49.170>' SIPml-api.js:1
Connecting to 'ws://192.168.49.170:5080' 

命令 sudo netstat -nlpa |的输出grep freeswitch 就是这个 -

tcp        0      0 192.168.49.170:5060     0.0.0.0:*               LISTEN      8796/freeswitch 
tcp        0      0 127.0.0.1:8021          0.0.0.0:*               LISTEN      8796/freeswitch 
tcp        0      0 192.168.49.170:5080     0.0.0.0:*               LISTEN      8796/freeswitch 
tcp6       0      0 ::1:5060                :::*                    LISTEN      8796/freeswitch 
udp        0      0 192.168.49.170:5060     0.0.0.0:*                           8796/freeswitch 
udp        0      0 192.168.49.170:5080     0.0.0.0:*                           8796/freeswitch 
udp        0      0 192.168.49.170:55718    192.168.48.11:5351      ESTABLISHED 8796/freeswitch 
udp6       0      0 ::1:5060                :::*                                8796/freeswitch 
unix  3      [ ]         STREAM     CONNECTED     99781    8796/freeswitch     
unix  3      [ ]         STREAM     CONNECTED     99031    8796/freeswitch     
unix  3      [ ]         STREAM     CONNECTED     99784    8796/freeswitch     
unix  3      [ ]         STREAM     CONNECTED     99030    8796/freeswitch     
unix  3      [ ]         STREAM     CONNECTED     99029    8796/freeswitch     
unix  3      [ ]         STREAM     CONNECTED     98261    8796/freeswitch     
unix  3      [ ]         STREAM     CONNECTED     98262    8796/freeswitch     
unix  3      [ ]         STREAM     CONNECTED     98263    8796/freeswitch     
unix  3      [ ]         STREAM     CONNECTED     99783    8796/freeswitch     
unix  3      [ ]         STREAM     CONNECTED     98260    8796/freeswitch     
unix  3      [ ]         STREAM     CONNECTED     99782    8796/freeswitch     
unix  3      [ ]         STREAM     CONNECTED     99032    8796/freeswitch 

有人可以建议我的代码有什么问题吗? OS- Ubuntu 12.04

代码取自SipML5 site.

2 个答案:

答案 0 :(得分:1)

在互联网上彻底搜索后,我发现要从网络客户端拨打电话,我们还需要安装 webrtc2sip 服务器。并在我的代码中的“192.168.62.6:5080”处提供此服务器的websocket地址。 所以我从here.安装了它,现在一切正常。至少这个错误已被消除。

答案 1 :(得分:0)

这取决于您使用的是什么开关。我们已经使用sipml5作为客户端在星号11上成功实现了webRTC,而没有在中间放置任何webrtc2sip。您将从以下链接中找到有关如何为webRTC配置星号的详细信息

http://forums.asterisk.org/viewtopic.php?f=1&t=91007

较新版本的Freeswitch也支持webRTC。请查看以下链接

https://wiki.freeswitch.org/wiki/Webrtc