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

        

       

  • 相关阅读:
    max_element( )
    dp
    dfs
    dp
    区间dp
    树形dp
    dp-最长回文串
    go 结构体函数
    go 结构体初始化
    Golang数组和切片的区别
  • 原文地址:https://www.cnblogs.com/logo-fox/p/4152767.html
Copyright © 2011-2022 走看看