腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
FreeSWITCH中文社区
专栏作者
举报
148
文章
201884
阅读量
59
订阅数
订阅专栏
申请加入专栏
全部文章(148)
tcp/ip(36)
编程算法(31)
访问管理(24)
网络安全(24)
https(21)
http(19)
linux(16)
xml(14)
打包(12)
lua(11)
api(11)
node.js(10)
javascript(8)
NAT 网关(8)
开源(8)
nat(8)
json(7)
git(7)
github(7)
html(6)
腾讯云测试服务(6)
容器(6)
配置(6)
数据库(5)
网站(5)
windows(5)
c++(4)
makefile(4)
sql(4)
命令行工具(4)
socket编程(4)
微信(4)
安全(4)
路由(4)
java(3)
php(3)
python(3)
android(3)
nginx(3)
容器镜像服务(3)
视频处理(3)
分布式(3)
ssh(3)
测试(3)
通信(3)
系统(3)
协议(3)
.net(2)
ide(2)
unix(2)
centos(2)
SSL 证书(2)
DevOps 解决方案(2)
markdown(2)
rpc(2)
udp(2)
数据分析(2)
action(2)
data(2)
编码(2)
服务器(2)
管理(2)
脚本(2)
交换机(2)
设计(2)
数据(2)
虚拟机(2)
字符串(2)
负载均衡(1)
语音识别(1)
机器学习(1)
c 语言(1)
bash(1)
regex(1)
vue.js(1)
react(1)
css(1)
arm(1)
嵌入式(1)
云数据库 SQL Server(1)
postgresql(1)
maven(1)
windows server(1)
apache(1)
apt-get(1)
神经网络(1)
深度学习(1)
容器服务(1)
云直播(1)
语音合成(1)
云推荐引擎(1)
人工智能(1)
图像处理(1)
企业(1)
渲染(1)
sass(1)
webpack(1)
存储(1)
缓存(1)
运维(1)
压力测试(1)
爬虫(1)
shell(1)
正则表达式(1)
面向对象编程(1)
dns(1)
flash(1)
敏捷开发(1)
机器人(1)
安全漏洞(1)
迁移(1)
app(1)
crontab(1)
expression(1)
field(1)
flags(1)
function(1)
gpt(1)
ip(1)
location(1)
mp4(1)
project(1)
proxy(1)
record(1)
server(1)
stream(1)
var(1)
video(1)
wiki(1)
wikipedia(1)
变量(1)
编译(1)
部署(1)
操作系统(1)
程序(1)
登录(1)
函数(1)
教程(1)
进程(1)
镜像(1)
客户端(1)
可视化(1)
路由器(1)
日志(1)
软件(1)
摄像头(1)
视频(1)
手机(1)
索引(1)
网关(1)
网络(1)
异常(1)
音频(1)
语音(1)
源码(1)
终端(1)
UX(1)
搜索文章
搜索
搜索
关闭
mod_lua和mod_v8
访问管理
lua
javascript
tcp/ip
嵌入式
这两个模块都是在FreeSWITCH支持使用嵌入式语言来控制呼叫流程的。我们在以前的文章中也曾不同程度地提到他们。 其中,mod_lua支持Lua语言,Lua是很有名的嵌入式语言,能非常好地嵌入其它语言的程序中。该模块有两个版本,最新的版本支持Lua 5.2,而支持Lua 5.1的版本现在已被移动到源代码的legacy目录中。 而mod_v8支持Javascript,由Google的v8库提供支持,v8库已被成功用于Chrome及node.js中,性能强劲。其实对Javascript的支持也有两个版本,另一个版本也在legacy目录中,叫做mod_spidermonkey。Spidermonkey是Firefox中的Javascript引擎。 Lua和Javascript两种语言有很多相似的地方,我们不必多说,先来看两个脚本: test.lua session:answer() session:sleep(1000) session:streamFile("/tmp/hello-lua.wav") session:hangup() test.js session.answer(); session.sleep(1000); session.streamFile("/tmp/hello-js.wav"); session.hangup(); 可以看出,两个脚本的内容和功能基本上一样。第一行,对当前呼叫进行应答;然后,小睡一会(以确定能正确的建立媒体流);接着,播放一个声音文件;最后,挂机。 可以分别使用如下Dialplan将来话路由到上述脚本: <action application=“lua” data=“/tmp/test.lua”/> 或 <action application=“javascript” data=“/tmp/test.js”/> 当然,两个脚本本质上是Lua或Javascript,因而你可以很容易地在脚本中加入条件判断、循环等,甚至也可以通过相关的API与数据库或其它系统交互。能实现什么样的程序,完全在于你的想象力,从现在起,就写个脚本练一练吧? ---------------------------------------- FreeSWITCH-CN是什么? ---------------------------------------- FreeSWITCH-CN是FreeSWITCH中文社区,我们的官方网站是 http://www.freeswitch.org.cn 。FreeSWITCH-CN同时也是一个微信公共账号,可以通过点击本页最顶端的「FreeSWITCH中文社... 」,或在通迅录->订阅号中搜索「FreeSWITCH-CN」来订阅,也可以到官方网站上扫描二维码。当然,不管是新用户还是老用户,随时都可以输入m或1显示本账号的主菜单。 FreeSWITCH-CN的账号维护者是Seven Du,在此,他会分享多年的FreeSWITCH使用经验,分享一些对开源VoIP软件以及软件社区的思考,并隔三差五的解答一些粉丝关心的问题。Seven Du于2007年听说、2008年开始使用FreeSWITCH,2009年创办FreeSWITCH-CN中文社区,2011~2013连续三年参加了在美国芝加哥举办的ClueCon全球VoIP开发者大会,该会议是由FreeSWITCH核心团队主办的。 如果你在学习和使用FreeSWITCH的过程中,有什么有趣的故事,也欢迎与我分享。移动设备上打字不方便,如果想写长的留言可以发邮件到 wechat@freeswitch.org.cn 。
Seven Du
2020-12-21
1.2K
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档