【FreeSWITCH】录音功能调试报告-2
1.2.2 从接听到挂断分时录音
【测试案例3】设想这样一种监控式的使用环境,终端1000呼叫总台1239,总台对1000进行监控式录音,即录音不间断,并且为了便于存储与查找,将长时间的录音按固定长度切割,录入不同文件。使用Lua脚本实现,首先在Dialplan中加入如下配置:
<extension name="RecordTest4">
<conditionfield="destination_number" expression="^1239$">
<actionapplication="answer" data=""/>
<actionapplication="lua" data ="test_record.lua"/>
</condition>
</extension>
在scripts文件夹下添加test_record.lua文件,代码如下:
api=freeswitch.API()
functionmain_1()
while(session:ready()==true) do
nowtime= api:getTime()
session:recordFile("/tmp/ RecordTest_1.2.2_"..nowtime..".wav",10)
end
end
--函数执行
session:answer()
main_1()
代码中利用session:recordFile()进行录音,其功能类似于测试案例1中的record命令,参数为file_name, max_len_secs,silence_threashold, silence_secs,分别表示录音文件名,录音最长秒数,静音阈值,静音容忍秒数,后三个参数可省略。
测试案例中将录音最长秒数设为10s,通话时长34s,录音文件有4个,文件名以RecordTest_1.2.2_开头,文件名中的数字为录音开始时的新世纪时间毫秒数,文件大小依次为10s,10s,10s,4s,均为单声道。
1.2.3 从终端按键到挂断
【测试案例4】终端1000呼叫总台1240,总台监听1000按键操作,当终端按0时开始录音,直到挂断。使用Lua脚本实现,首先在Dialplan中加入如下配置:
<extension name="RecordTest5">
<conditionfield="destination_number" expression="^1240$">
<actionapplication="answer" data=""/>
<actionapplication="lua" data ="test_record2.lua"/>
</condition>
</extension>
在scripts文件夹下添加test_record2.lua文件,代码如下:
functionmain_1()
if(session:ready()==true) then
digits=session:playAndGetDigits(1,1,3,5000,"#",
"ivr/homemenu.wav",error_say, "^0$")
if(digits=="0") then
session:recordFile("/tmp/ RecordTest_1.2.3.wav")
end
end
--函数执行
session:answer()
main_1()
测试案例中通话时长10s,第5s按下0按键,文件时长5s,单声道。
【FreeSWITCH】录音功能调试报告-2相关推荐
- FreeSWITCH开启录音功能
FreeSwitch录音功能默认是关闭的,需要修改配置开启录音功能. 首先备份freeswitch/conf/dialplan/default.xml . 然后编辑default.xml ,在 < ...
- 第十二章 HTTAPI – FreeSWITCH向Webserver寻问下一步操作
HTTAPI允许FreeSWITCH向webserver询问如何处理呼叫,还可以在执行之后再次询问.因此,它实际上是一种高层次的动态协议,FreeSWITCH向webserver发送呼叫的所有相关信息 ...
- SIP电话(一)之程控交换机-FreeSWITCH的使用总结
最近由于项目需要一直在研究Sip电话,Sip电话是基于sip协议的实现voip即网络电话的的功能.那么问题来了?我们打电话都是使用某动,某通,某信的电话卡,这种电话卡是在全国范围内收费的gms卡,如果 ...
- freeswitch 录音录像
freeswitch支持录音和录像功能,录音功能主要是通过mod_sndfile.mod_shout等模块实现的,录像模块是通过mod_mp4v2和mod_av模块实现. mod_sndfile录制w ...
- freeswitch录音
freeswitch 录音录像 freeswitch支持录音和录像功能,录音功能主要是通过mod_sndfile.mod_shout等模块实现的,录像模块是通过mod_mp4v2和mod_av模块实现 ...
- 使用Opensips和FreeSwitch搭建万级别的高可用软交换架构
最近因为项目的原因,需要提供一个支持万级别以上,支持多应用的软交换服务端架构,对以前的架构做了一个调整,写一篇文章总结下. 新的架构主要解决了一下几个问题: 单套要支持1w左右并发的呼叫 完全的高可用 ...
- [freeswitch]mod_dptools功能总结(updating)
mod_dptools功能总结 前言 freeSWITCH的mod_dptools模块各功能总结,这里只是整理下功能,具体用法参考官方wiki answer "接通".建立aleg ...
- Freeswitch操作基本配置
1.SIP 协议 2. hangup_after_bridge = true 设置该变量,告诉系统如果当前有一个桥接成功的通话,挂断当前通话. 3.Freeswitch 监听电话: mod_spy 是 ...
- FreeSwitch 的初始化及其模块加载过程
FS 主函数main() Freeswitch的主函数是在文件switch.c中定义的,该文件的260行是整个程序的入口,主函数主要完成的功能是包括,命令行解析,初始化apr库,构建全局内存池,模块加 ...
- FreeSWITCH快速录音
一.背景 测试人员反映FreeSWITCH录音不及时,需要大约5秒的时间才能捕获到RTP流. 二.原因及解决 查了下资料,FreeSWITCH默认的录音参数配置是开启缓冲的, 即RTP流大小到达655 ...
最新文章
- 【VMCloud云平台】SCCM(三)初始配置
- piwik的安装与配置
- pytorch强化学习训练倒摆小车
- 面向对象第四单元(UML)总结体会课程总结
- openstack 使用集锦
- JZOJ 3853. 【NOIP2014八校联考第2场第2试9.28】帮助Bsny(help)
- linux退出python环境_Linux中的python虚拟环境
- matlab连续投影算法SPA使用示例
- excel两列数据对比找不同_Excel找出不同数据
- 笔记本电脑插耳机后耳机无声音有外放情况,咋办??
- Word的”交叉引用“和”插入题注“快捷键设置
- linux 卸载 sdcc,Linux sdcc安装
- 微信公众号商城前景分析
- win10商店打不开_win10应用商店的卸载和安装
- pdf怎么删除其中一页与添加新页面
- vue解析excel文件(使用xlsx)
- 啊,CET6----六级高频词2
- linux命令简化,Linux ls 命令实现(简化版)
- 非接触CPU卡与非接触IC卡的区别是什么?
- 《最高人民法院最高人民检察院关于办理非法利用信息网络、帮助信息网络犯罪活动等刑事案件适用法律若干问题的解释》
热门文章
- apt-get 与 yum 的区别
- 《Entity Framework 6 Recipes》中文翻译系列 (24) ------ 第五章 加载实体和导航属性之查询内存对象...
- TableView载入WebView的一些小技巧 By 徐
- C#获取屏幕大小或任务栏大小
- Linux课程---3、Linux远程登录和传输(操作Linux服务器软件)
- sass-RGB颜色函数-RGB()颜色函数
- 【转】Java的package和import机制
- GitHub上README写法暨markdown语法解读
- 第一堂TCP/IP课
- 迷你博客突然走红 至今尚无商业模式