一、背景说明:
SIP Server IP (Centos):192.168.11.61 ,服务器IP(Windows):192.168.11.19
二、目的:
能够从192.168.11.19上通过Nodejs的modesl 内联访问到SIP Server(FreeSWITCH),从而实现对SIP Server状态信息的获取。之前有看过很多文档,SIP Server 与 内联程序 都是在一台电脑上,本文提供两者分离的一种实现方式,供大家参考。
三、具体设定:
①在conf/autoload_configs/event_socket.conf.xml 中,修改listen-ip 为:192.168.11.61,默认为:127.0.0.1,设定后的参数如下:
<configuration name="event_socket.conf" description="Socket Client">
<settings>
<param name="nat-map" value="false"/>
<param name="listen-ip" value="192.168.11.61"/>
<param name="listen-port" value="8021"/>
<param name="password" value="ClueCon"/>
<!-- <param name="apply-inbound-acl" value="lan"/> -->
</settings>
</configuration>
②安装nodejs(具体安装不在本文介绍中),下载modesl (https://www.npmjs.org/package/modesl)
③ESL.js 内联代码编写:
var esl = require('D:\testChat\modesl'),
conn = new esl.Connection('192.168.11.61', 8021, 'ClueCon', function() {
conn.api('vension', function(res) {
//res is an esl.Event instance
console.log(res.getBody());
});
});
将modesl 与 ESL.js都放D:\testChat目录下,启动doc进入D:\testCha 文件夹,输入node ESL.js 即可看到FS版本信息,更换其它指令,就可以实现方便的操作。
基于该基础之上,可以将FreeSWITCH的信息通过 http 模块传递给web界面,也可以将这些信息存储到DB,分析... 接下来你就可以尝试其它的应用了。