• 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中进行传输。

        

       

  • 相关阅读:
    061.Python前端Django组件用户认证组件
    060.Python组件-中间件
    059.Python前端Django组件cooki和session
    058.Python前端Django与Ajax
    057.Python前端Django模型ORM多表查询
    数字签名与数字证书的原理
    加密算法的分类与区别
    Linux操作php.ini文件
    Linux添加普通权限账号并授予root权限
    Linux 切换 shell
  • 原文地址:https://www.cnblogs.com/logo-fox/p/4152767.html
Copyright © 2020-2023  润新知