zoukankan      html  css  js  c++  java
  • FreeSWITCH IVR中lua调用并执行nodejs代码

    一、功能需求:

      通过FreeSWITCH的IVR按键调用相应的脚本文件;nodejs提供很多的模组,可以方便的与其它系统或者进行任何形式的通讯,我的应用是通过nodejs发送http post请求;

      由于不太熟悉FreeSWITCH直接调动执行nodejs文件的方法,所以我通过执行Lua脚本,在lua脚本中执行对nodejs文件的调用并执行,具体的设定记录如下:

    二、具体设定:

      ①IVR设定:

        <entry action="menu-exec-app" digits="1" param="lua testLighton.lua"/>
      ②testLighton.lua脚本内容:

        os.execute('node /usr/local/freeswitch/scripts/lighton.js');  //Nodejs文件存放位置:/usr/local/freeswitch/scripts/lighton.js 

      ③/usr/local/freeswitch/scripts/lighton.js 脚本内容:  

        var rest = require('restler');

        rest.post('http://192.168.11.17:3021/serviceUp/cmd/sendCMDDispatcher', {
          data: {
            cmdContent:[{
              'DeviceEntityAID': '03003c00',
              'DataID': '03010000',
              "Value":"ff"
            }]
          },
        }).on('complete', function(data, response) {
          console.log(data);
        }).on('error',function(er){
          console.log(er);
        });

      到此,就可以根据IVR提示中的 “1” 按钮实现Http post的请求,其中data区在body中进行传输。

        

       

  • 相关阅读:
    实习第一周小记------生活不易
    第一次实习面试感受----苦逼程序员生活初体验
    第一次实习面试感受----苦逼程序员生活初体验 分类: 程序人生 2013-07-28 14:13 2395人阅读 评论(0) 收藏
    Java-基于JDK的动态代理
    JS字符串去替换元素再转换成数组
    byte溢出栗子
    Java链式写法
    Scala笔记
    Java反射使用方法
    Java数组3种创建方式
  • 原文地址:https://www.cnblogs.com/logo-fox/p/4152767.html
Copyright © 2011-2022 走看看