Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 无法注册到FreeSwitch服务器&;无法使用SIPml5客户端分别调用SIP客户端(XLite)_Html_Sip_Freeswitch_Sipml - Fatal编程技术网

Html 无法注册到FreeSwitch服务器&;无法使用SIPml5客户端分别调用SIP客户端(XLite)

Html 无法注册到FreeSwitch服务器&;无法使用SIPml5客户端分别调用SIP客户端(XLite),html,sip,freeswitch,sipml,Html,Sip,Freeswitch,Sipml,我无法注册到FreeSwitch服务器&无法使用SIPml5SIP客户端调用SIP客户端(XLite) 以下是我的HTML5代码: <!DOCTYPE html> <html> <head> <meta content="charset=utf-8"/> <script type="text/javascript" src="SIPml-api.js"></script> <title>SIP Client

我无法注册到FreeSwitch服务器&无法使用SIPml5SIP客户端调用SIP客户端(XLite)

以下是我的HTML5代码:

<!DOCTYPE html>
<html>

<head>

<meta content="charset=utf-8"/>
<script type="text/javascript" src="SIPml-api.js"></script>
<title>SIP Client 1</title>

<script type="text/javascript">
window.onload = function()
{
var readyCallback = function(e){
    createSipStack(); // see next section
};
    var errorCallback = function(e){
    console.error('Failed to initialize the engine: ' + e.message);
}
SIPml.init(readyCallback, errorCallback);

console.info("WINDOW ONLOAD");
}
       var sipStack;
        function createSipStack()
        {
            var eventsListener = function(e)
            {
                if(e.type == 'started')
                {
                    login();
                }
                else if(e.type == 'i_new_message')
                {
                    acceptMessage(e);
                }
                else if(e.type == 'i_new_call')
                {
                    acceptCall(e);
                }
            }
            sipStack = new SIPml.Stack(
            {
                realm: '192.168.1.33', // mandatory: domain name
                impi: '1001', // mandatory: authorization name (IMS Private Identity)
                impu: 'sip:1001@192.168.1.33', // mandatory: valid SIP Uri (IMS Public Identity)
                password: '1234',
                display_name: 'Osama', // optional
                enable_rtcweb_breaker: true,
                events_listener: { events: '*', listener: eventsListener } // optional: '*' means all events
            });
            sipStack.start();
            console.info("CREATE SIP STACK");

        }

        var registerSession;
        var eventsListener = function(e){
            console.info('session event = ' + e.type);
            if(e.type == 'connected' && e.session == registerSession){
                makeCall();
            }
        }
        function login(){
            registerSession = sipStack.newSession('register', {
                events_listener: { events: '*', listener: eventsListener } // optional: '*' means all events
            });
            registerSession.register();
            console.info("LOGIN");
        }


        var callSession;
        function makeCall()
        {
            var eventsListener = function(e)
            {
                console.info('session event = ' + e.type);
            }
            callSession = sipStack.newSession('call-audiovideo', {
                video_local: document.getElementById('video_local'),
                video_remote: document.getElementById('video_remote'),
                audio_remote: document.getElementById('audio_remote'),
                events_listener: { events: '*', listener: eventsListener } // optional: '*' means all events
            });
            callSession.call('1002');
            console.info("MAKE CALL");
        }

        function acceptCall(e){
            e.newSession.accept(); // e.newSession.reject() to reject the call
        }

</script>
</head>
<body>

<form method="post" style="height: 197px">
<input name="Button1" type="button" value="Call" onclick="makeCall()">&nbsp;
<input name="Button2" type="button" value="Accept" onclick="acceptCall"><video class="video" id="video_remote" autoplay="autoplay" style="width: 184px; height: 188px"></video>&nbsp;
<audio id="audio_remote" autoplay="autoplay" />
</audio><video class="video" width="88px" height="72px" id="video_local" autoplay="autoplay"></video><span></span></form>

</body>

</html>

SIP客户端1
window.onload=函数()
{
var readyCallback=函数(e){
createSipStack();//参见下一节
};
var errorCallback=函数(e){
console.error('未能初始化引擎:'+e.message);
}
SIPml.init(readyCallback,errorCallback);
控制台信息(“窗口加载”);
}
var-sipStack;
函数createSipStack()
{
var eventsListener=函数(e)
{
如果(e.type=='started')
{
登录();
}
else if(e.type=='i_new_message')
{
接受信息(e);
}
else if(e.type=='i\u new\u call')
{
接受呼叫(e);
}
}
sipStack=新的SIPml.Stack(
{
领域:'192.168.1.33',//必填:域名
impi:'1001',//必填:授权名称(IMS专用标识)
输入:sip:1001@192.168.1.33“,//必需:有效的SIP Uri(IMS公共标识)
密码:“1234”,
显示名称:'Osama',//可选
启用\u rtcweb\u断路器:true,
events_listener:{events:'*',listener:eventsListener}//可选:'*'表示所有事件
});
sipStack.start();
console.info(“创建SIP堆栈”);
}
var注册会话;
var eventsListener=函数(e){
console.info('session event='+e.type);
if(e.type='connected'&&e.session==registerSession){
makeCall();
}
}
函数登录(){
registerSession=sipStack.newSession('register'{
events_listener:{events:'*',listener:eventsListener}//可选:'*'表示所有事件
});
registerSession.register();
控制台信息(“登录”);
}
var-callSession;
函数makeCall()
{
var eventsListener=函数(e)
{
console.info('session event='+e.type);
}
callSession=sipStack.newSession('call-audiovideo'{
video\u local:document.getElementById('video\u local'),
video\u remote:document.getElementById('video\u remote'),
音频远程:document.getElementById(“音频远程”),
events_listener:{events:'*',listener:eventsListener}//可选:'*'表示所有事件
});
callSession.call('1002');
控制台信息(“拨打电话”);
}
函数接受调用(e){
e、 newSession.accept();//e.newSession.reject()拒绝调用
}
.
我不知道哪里出了问题。如前所述,我甚至启用了RTCWebbreaker。

请帮助我注册到FreeSwitch服务器并使用SIPml5客户端呼叫SIP客户端。XLite已注册到FreeSwitch并处于就绪状态。

我查看了
sipml
源代码,似乎传输实现希望在
领域
变量中接收域,但您直接设置了IP地址。您是否尝试将realm设置为“freeswitch.org”?

您也将ws(web套接字)设置为: websocket_proxy_url:'ws://192.168.200.10:8088/ws'

您需要安装才能使用web客户端。我也面临同样的问题,即传输错误,但在安装webrtc2sip后,此问题已得到解决。我能够成功连接到FreeSwitch,尽管现在还有其他问题

要安装它,请转到此链接-

它看起来很长,但很直截了当

也别忘了看报纸

成功安装后,在终端中运行此命令

sudo netstat -nlpa | grep webrtc
并找到webrtc2sip服务器的套接字地址,该地址应类似于“192.168.1.2:10060”
并将此地址放在websocket地址前面的代码中ws://192.168.1.2:10060准确地说。

我尝试了
freeswitch.org
&
OsamaMohammed
作为
领域
,但仍然是一样的。
sudo netstat -nlpa | grep webrtc