Nodejs 实现ESL内联FreeSWITCH设定说明

一、背景说明:

  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,分析... 接下来你就可以尝试其它的应用了。