通过顶顶通呼叫中心中间件玩转FreeSWITCH媒体流

怎么获取FreeSWITCH的媒体流是一个老生常谈的问题了,最常见的方法media_bug,我在2019年就做的FreeSWITCH对接ASR开源的例子https://gitcode.net/iyaosan/FreeSWITCH-ASR用的就是media_bug,对接ASR常见的方法还有通过mod_mrcp模块对接mrcp的asrserver。

很多人需要直接获取原始的声音流,然后自己处理,其实FreeSWITCH也是支持的,只是知道的极少,FreeSWITCH原生支持 unicast 通过udp 把声音流推送到一个UDP端口,和播放网络的声音流。 fs实现的unicast,有一个缺陷如果启动了unicast 就没办法调用playback等放音函数了。

通过顶顶通呼叫中心中间件提供的 cti_unicast 则没这个缺点。可以不影响fs本身所有的功能情况下把媒体流推送到 远端udp端口,和播放网络声音。

cti_unicast 通过media_bug挂了2个回调SMBF_READ_STREAM和SMBF_WRITE_REPLACE,其中 SMBF_READ_STREAM,用来把媒体流推送到远端UDP端口,SMBF_READ_STREAM用来把远端发送来的声音混音到fs的放音。从而实现了完全不影响fs自身功能的前提下,实现推流和播放流。

顶顶通呼叫中心中间件还提供了tcp的推流和播放流函数 cti_audiao_stream。

这2个函数可以通过拨号方案启动,也可以通过 freeswitch esl 接口调用。

还有websocekt协议的播放流函数 wss://ip/tts?text=文字 可用于对接实时TTS。

顶顶通呼叫中心中间件ASR接口更高级的2个函数是

uuid_cti_start_detect_speech

用于质检 ,检测到说话实时推流给ASR,支持weboscket,mrcp等多种协议。用户说话停止自动停止推流。

cti_play_and_detect_speech

用于电话机器人,放音的时候检测用户说话,检测到说话实时推流给ASR,支持weboscket,mrcp等多种协议。支持多种打断模式,比如检测到人声打断,识别到多少文字打断。

详细可以看 http://www.ddrj.com/callcenter/asr.html

相关推荐
GlobalInfo3 小时前
机器人强化学习平台 专精特新小巨人专项报告:细分市场占有率、行业位次与主导地位证明
人工智能·ai·机器人
Pocker_Spades_A7 小时前
论文精读(十):面向具身人工智能的物体目标导航综述:从“找东西“到启元机器人的导航基础能力
人工智能·机器人
lingyubb8 小时前
做短视频配音,想找操作简单、效果好的 AI 配音软件,有哪些可选?
自然语言处理·语音识别·ai配音·多语种
YH行业报告分析8 小时前
2026两轴Delta并联机器人深度分析:高速分拣场景下的轻量化自动化升级路径
运维·机器人·自动化
wwjxhdyx8 小时前
建筑机器人新品类破局,依托市场调研实现新技术商业化落地
机器人·业界资讯
Pocker_Spades_A9 小时前
论文精读(十四):基于先验地图的视觉重定位方法综述:启元机器人“知道自己在哪“的底层能力
大数据·人工智能·机器人
是店小二呀11 小时前
想用自己的音色给视频配音?我用Index-TTS跑通参考音频、语音生成和远程访问
人工智能·音视频·语音识别
把我格子衫拿来11 小时前
四元数为什么突然变号?旋转表示、SLERP 与位姿插值避坑
python·机器人·坐标变换·四元数·slerp
禁默11 小时前
2026年具身智能“双线分流“:机器人进厂,也回家
机器人·具身智能
YoLo♪12 小时前
PicGo OpenHarmony PC 适配说明
人工智能·机器人·交互