通过顶顶通呼叫中心中间件玩转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

相关推荐
行如流水4 小时前
详解RoboCasa:通用机器人日常任务的大规模模拟
机器人
2401_841495645 小时前
具身智能:从理论到现实,人工智能的下一场革命
人工智能·算法·机器人·硬件·具身智能·通用智能·专用智能
Deepoch7 小时前
Deepoc具身模型开发板:居家机器人的智能核心
科技·机器人·开发板·具身智能·未来·具身模型·deepoc
qdprobot10 小时前
具身智能小智AI小车图形化编程Mixly MQTT MCP AIOT控制齐护机器人
人工智能·机器人
开开心心_Every11 小时前
文件数量统计工具:支持多层文件夹数量统计
游戏·微信·pdf·excel·语音识别·swift·lisp
TsingtaoAI11 小时前
2025具身端侧芯片与云边协同:除了NV Thor,还有哪些芯片在具身机器人上整活儿
机器人
General_G11 小时前
irobot_benchmark的编译和使用
linux·中间件·机器人·ros2
蚍蜉撼树谈何易12 小时前
二、ctc基础--待完善
学习·语音识别
Sanse_12 小时前
Ubuntu18.04下面配置阿木实验室amov仿真系统Promethus的一系列运行环境
人工智能·机器人·自动驾驶
博思云为12 小时前
企业级智能PPT生成:Amazon云+AI驱动,全流程自动化提效
人工智能·语言模型·云原生·数据挖掘·云计算·语音识别·aws