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中进行传输。
FreeSWITCH IVR中lua调用并执行nodejs代码的更多相关文章
- xLua中Lua调用C#
xLua中Lua调用C# 1.前提 这里使用的是XLua框架,需要提前配置xlua,设置加载器路径: 可以参考之前的Blog:<xlua入门基础>: //调用段,所有的lua代码都写在Lu ...
- unittest中更高效的执行测试用例一个类只需要打开一次浏览器
示例代码 baidu.py # _*_ coding:utf-8 _*_ import csv,unittest #导入csv模块 from time import sleep from seleni ...
- JS中怎么调用<%%>的值
JS中怎么调用<%%>的值 示例代码一: <% String usercode = request.getParameter("usercode");//用req ...
- Eclipse与Android源码中ProGuard工具的使用(代码混淆)
由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的 ...
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
HTML代码: <html> <head> <title>HTML中用JS调用OC方法</title> <meta http-equiv=&quo ...
- Coco2dx-3.0中怎样调用LUA
一个用3.0的工具导出类到lua,自己主动生成代码的方法. 曾经要导出c++类到lua.就得手动维护pkg文件,那简直就是噩梦.3.0以后就会感觉生活非常轻松了. 以下我就在说下详细做法. 1.安装必 ...
- lua调用不同lua文件中的函数
a.lua和b.lua在同一个目录下 a.lua调用b.lua中的test方法,注意b中test的写法 _M 和 a中调用方法: b.lua local _M = {}function _M.test ...
- 在python中调用js或者nodejs
在python中调用js或者nodejs要使用PyExecJs第三方包. pip install pyexecjs 示例代码 >>> import execjs >>&g ...
- ? 原创: 铲子哥 搜狗测试 今天 shell编程的时候,往往不会把所有功能都写在一个脚本中,这样不太好维护,需要多个脚本文件协同工作。那么问题来了,在一个脚本中怎么调用其他的脚本呢?有三种方式,分别是fork、source和exec。 1. fork 即通过sh 脚本名进行执行脚本的方式。下面通过一个简单的例子来讲解下它的特性。 创建father.sh,内容如下: #!/bin/bas
? 原创: 铲子哥 搜狗测试 今天 shell编程的时候,往往不会把所有功能都写在一个脚本中,这样不太好维护,需要多个脚本文件协同工作.那么问题来了,在一个脚本中怎么调用其他的脚本呢?有三种方式,分别 ...
随机推荐
- 【洛谷P1091】合唱队列
题目大意:给定一个有 N 个正整数的序列,从其中拿走一些数,使得剩下的数满足严格单峰性,即先严格递增后严格递减,允许单调增和单调减,求最少需要拿走多少数. 题解:先考虑严格单调的情况,最少需要拿走多少 ...
- 硬盘性能 & 文件碎片的一些思考
昨天将一台机器上的数据转移(备份)到另一台机器上,花了差不多一个晚上,传输了100G左右的数据. 感觉数据源机器的硬盘越来越不行了,读写性能下降的很历害. 这些年来写软件的时候很少去考虑硬盘的读写性能 ...
- Solr各个版本重大变化之安装方式【请别违背规律】
这里主要讲安装方式的变化 4.x~5.x的变化 这是4.x的安装方式,大家都熟知,在我看来未免繁琐了一点. 或许官方也感觉繁琐了,于是5.x有个最大的改变.↓ 现在Solr是一个独立的服务器 什么叫S ...
- 洛谷P2148 [SDOI2009]E&D(博弈论)
洛谷题目传送门 先安利蒟蒻仍在施工的博弈论总结 首先根据题目,石子被两两分组了,于是根据SG定理,我们只要求出每一组的SG值再全部异或起来就好啦. 把每一对数看成一个ICG,首先,我们尝试构造游戏的状 ...
- 51job_selenium测试2
Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...
- 面向对象【day07】:面向对象概念介绍(二)
本节内容 1.概念 2.特性 3.面向对象介绍 一丶概念 1.面向对象编程 OOP(Object-Oriented Programming)编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描 ...
- redis分布式工具类 ----RedisShardedPoolUtil
这个是redis分布式的工具类,看非分布式的看 这里 说一下redis的分布式,分布式,无疑,肯定不是一台redis服务器.假如说,我们有两台redis服务器,一个6379端口,一个6380端口.那 ...
- 运用Zabbix实现内网服务器状态及局域网状况监控(5) —— Zabbix监控路由器
1. 首先在zabbix服务器端安装snmp工具 [root@zabbix ~]# yum -y install net-snmp-utils net-snmp-libs net-snmp-devel ...
- clip:rect()
写进度条的时候用过这个方法,记录一下 它的用法是 .test{ clip: rect(<top>, <right>, <bottom>, <>left) ...
- Git 设置过滤忽略的文件或文件夹(ignore file)
我们一般向代码仓库提交项目的时候,一般需要忽略编译生成的中间文件以及文件夹的提交,因为它们是无用的,而且也会占用仓库的空间.一般只用提交.pro,.sln,makefile,程序源文件等编译必须用到的 ...