MRCP 协议入门:让 SIP 呼叫用上语音识别与合成的那根控制通道

Posted on 日 27 9月 2026 in Tech • Tagged with tech, mrcp, sip, asr, tts, voip, rtc, telephony

前面几篇讲 FreeSWITCH、OpenSIPS 都是在讲"怎么接通一路电话"。往上走一层:电话接通之后,想让机器听懂人说话(ASR)、让机器开口说话(TTS),媒体流已经在 RTP 上跑了,可谁来告诉引擎"现在开始识别""用这个语法""合成这段 SSML"?这就是 MRCP 干的活。它是什么、v1 和 v2 差在哪、一次识别在协议上到底怎么流转、UniMRCP 是怎么落地的、有哪些典型场景和踩坑点,这里一并说清。


Continue reading

给 FreeSWITCH 集群配两个搭档:OpenSIPS 管信令,rtpengine 管媒体

Posted on 六 19 9月 2026 in Tech • Tagged with tech, freeswitch, opensips, rtpengine, voip, sip, webrtc, architecture

FreeSWITCH 是一台优秀的媒体/B2BUA 引擎,但它没有原生集群能力,信令和媒体又和业务逻辑挤在同一个进程里。想把它扩到上万路,硬堆 FreeSWITCH 是最贵的一条路。这篇讲清 FreeSWITCH 架构的精华与包袱各在哪,为什么 OpenSIPS 和 rtpengine 恰好补在它最薄的两个地方——信令边缘和媒体传输——以及三件套怎么分工、容量能提到什么量级。


Continue reading

OpenSIPS 入门:一台 SIP 服务器,一个可编程的呼叫路由引擎

Posted on 一 14 9月 2026 in Tech • Tagged with tech, sip, opensips, voip, rtc, telephony

FreeSWITCH 那几篇讲的是"怎么接通一路电话",这篇换个角度:当你有成千上万路电话、要做注册、鉴权、路由、限流、防欺诈时,前面挡在最前线的往往是 OpenSIPS。它是什么、怎么编译、一次注册和一次呼叫在脚本里到底怎么流转、代码结构长什么样、有哪些best practice、又有哪些新手必踩的坑——一次讲清。


Continue reading

webrtc-to-freeswitch:一个浏览器软电话的架构、流程与协议全解

Posted on 一 14 9月 2026 in Tech • Tagged with tech, webrtc, sip, freeswitch, vue, fastapi

上一篇讲清了 SIP.js 怎么打进 FreeSWITCH,这次把它做成了一个完整项目——webrtc-to-freeswitch。这篇从整体架构、信令与媒体的完整流程、协议分层三个层面把它讲透:它是什么、有什么用、怎么用;浏览器到 FreeSWITCH 之间一次通话到底发生了什么;以及最容易被忽略、却最容易踩坑的 FreeSWITCH 侧配置——WSS binding、candidate ACL、ext-rtp-ip。


Continue reading

用 SIP.js 从浏览器打电话到 FreeSWITCH

Posted on 五 11 9月 2026 in Tech • Tagged with tech, webrtc, sip, freeswitch, javascript

SIP.js 官方 demo 一键就能打通电话,但那是因为对端是一台匿名公共服务器。想让浏览器真正打进自己的 FreeSWITCH,绕不开三件 demo 帮你藏起来的事:注册、鉴权、还有一座 WSS 到 SIP 的桥。这篇拆掉 demo-1,把这三件事补齐。


Continue reading

SIP 协议回顾:从一通电话到呼叫中心

Posted on 六 29 8月 2026 in Tech • Tagged with SIP, VoIP, Contact Center, SIPREC, SBC

SIP 看起来像 HTTP,真正用起来却更像一套分布式状态机。本文系统回顾寻址注册、消息、事务、Dialog、SDP Offer/Answer 和重要扩展,再把它放进呼叫中心,拆解 SIP Trunk、SBC、IVR、ACD、转接、录音与典型排障案例。


Continue reading