Freeswitch如何接收 RECORD_STOP 和 RECORD_START事件

简介: Freeswitch如何接收 RECORD_STOP 和 RECORD_START事件

#如何接收 RECORD_STOP 和 RECORD_START事件


准备工作:


(1).  把邮件中的三个文件  switch_core_io.c 和 switch_core_media_bug.c 以及 switch_ivr_async.c

放入到src目录,然后编译,编译过程:

./rebootstrap.sh -j        

./configure -C --enable-portable-binary --enable-sctp --prefix=/usr --localstatedir=/var --sysconfdir=/etc --with-gnu-ld --with-openssl --enable-core-odbc-support --enable-zrtp --enable-core-pgsql-support --enable-static-v8 --disable-parallel-build-v8 --disable-selinux  

          src根目录:找到MakeFile: vi编辑          

           libfreeswitch_la_LINK = (LIBTOOL)(LIBTOOL) (LIBTOOL)(AM_V_lt) --tag=CXX \

            (AMLIBTOOLFLAGS)(AM_LIBTOOLFLAGS) (AMLIBTOOLFLAGS)(LIBTOOLFLAGS) --mode=link $(CXXLD) \

            (AMCXXFLAGS)(AM_CXXFLAGS) (AMCXXFLAGS)(CXXFLAGS) $(libfreeswitch_la_LDFLAGS) \

            (LDFLAGS)−lvad−o(LDFLAGS) -lvad -o (LDFLAGS)lvado@

           你的makefile 里面 参照修改

           加上 -lvad

make -j install

编译过程无任何错误,只有部分警告信息,成功编译并安装成功之后,就在/usr/bin/目录已经生成 freeswitch 可执行文件。\

          编译问题请参考: /affairs/Article.asp?id=2356


(3).  vars.xml增加以下配置:


 



(4).启动Freeswitch:

/usr/bin/freeswitch -nonat -nosql


测试方式:通过telnet方式模拟,检测是否在通话过程中收到vad生成的Record_Stop事件;


(1).

telnet 192.168.2.28 8021

auth ClueCon 两个回车;

(2).

然后输入:(接收应答和挂机,已经录音开始停止事件)

event plain CHANNEL_ANSWER CHANNEL_HANGUP RECORD_START RECORD_STOP DTMF

 

(3).

bgapi originate {absolute_codec_string=pcma,origination_uuid=123456,rtp_enable_vad_in=true,rtp_enable_vad_out=true}sofia/gateway/MRWG/15005600327  &bridge({absolute_codec_string=pcma,origination_uuid=654321}user/1001)

 

(4).

api uuid_record 123456  start /home/asr/123456_1.wav 30

api uuid_record 123456  start /home/asr/123456_2.wav 30

api uuid_record 123456  start /home/asr/123456_3.wav 30


注意一定要设置录音时间:否则就不生效!!


每次收到record_stop事件之后,立即送到asr去识别,然后收到 record_start事件之后,

再次手动开始录音,注意文件名称要不同.


测试结果:


此时,手机用户(外线)开始说话,然后停顿2秒钟,检测是否收到 Record_Stop事件,发现并未收到该事件。有关系统问题欢迎和博主进行交流。


多次测试,仍然无法收到 Record_Stop事件;  仅仅在通话开始和通话结束的时候收到 Record_Start 和 Record_Stop事件,


说话的过程并未收到该事件。

相关文章
|
语音技术
FreeSwitch中音乐功能保持和静音回铃声怎样设置
FreeSwitch中音乐功能保持和静音回铃声怎样设置
|
机器人
智能电话机器人源码系统 的VAD和CNG
概观 VAD概述 VAD代表语音活动检测。它的作用是区分声音和其他任何东西,包括沉默。在VoIP应用中,它可以用作最小化传输的音频分组数量的工具。如果没有人说话,则可以停止音频数据包的流动,或者至少改变为低得多的舒适噪声数据包
|
Web App开发 存储 人工智能
从入门到进阶-如何基于FreeSWITCH搭建呼叫中心平台
FreeSWITCH 是一个开源的电话交换平台。博主从事多年AI技术,外呼中心搭建,需要演示站或技术支持联系博主。官方给它的定义是–世界上第一个跨平台的、伸缩性极好的、免费的、多协议的电话软交换平台
2067 0
|
人工智能 中间件 Java
呼叫中心系统如果对接阿里灵积大模型
自chatgpt3.5发布以来,各种大模型飞速发展,各行各业都有接入大模型的需求,呼叫中心行业非常适合通过接入大模型用AI来回答用户的各种咨询,降低人力资源,使用顶顶通呼叫中心中间件,只需要100行不到的代码,就可以非常简单容易的让电话机器人系统,呼叫中心系统快速接入各种大模型
811 2
|
关系型数据库 MySQL 数据库连接
FreeSWITCH通过mod_mariadb原生连接MySQL
FreeSWITCH通过mod_mariadb原生连接MySQL
1183 0
|
存储 视频直播
FreeSwitch中的录像和录音设置
FreeSwitch中的录像和录音设置
|
Java 数据库连接 数据库
FreeSwitch实现简单呼叫中心功能
FreeSwitch实现简单呼叫中心功能
|
编解码
FreeSWITCH 编码协商
FreeSWITCH 编码协商
|
开发工具 C++
FREESWITCH 怎样添加自定义模块
FREESWITCH 怎样添加自定义模块
|
JSON Linux 语音技术
FreeSWITCH 语音识别 ASR 模块
最近很多人都对FreeSWITCH和ASR对接比较感谢兴趣,(,考虑到大部分人,只是研究一下,并不准确购买商业模块,特意做一个开源项目给大家提供一个参考。
3198 0