无双的技术博客 记录 AI、Linux、网络架构、FreeSWITCH 与企业数字化实践

开源的智能呼叫系统

可以满足中小型企业自用的呼叫平台,自己配置完话术、asr和tts就可以开始做业务相关的呼叫了,项目已开源。

Administrator Administrator 发布于 2026-07-04

不想再写 ESL 网关?我做了一个 FreeSWITCH 原生呼叫控制模块

如果你做过 FreeSWITCH 和业务系统集成,大概率会遇到一个绕不开的问题:ESL 很强大,但业务系统真正接入时,工程复杂度并不低。你需要维护 ESL 长连接,需要处理断线重连,需要从大量底层事件里还原通话状态,还要把 `uuid_kill`、`uuid_transfer`、`uuid_record`、`originate` 等命令再封装成业务接口。等到项目进入 AI 外呼、智能客服、语音机器人这类实时语音场景时,事情会更复杂:呼叫控制、通话状态、音频推流、播放打断、PCM 回灌,往往会分散在多个服务和多层逻辑里。所以我做了一个 FreeSWITCH 原生模块:`mod_fcc`。 它想解决的问题很明确:让业务系统不用直接面对 ESL,而是像调用普通服务接口一样使用 FreeSWITCH 的呼叫能力。

Administrator Administrator 发布于 2026-07-04

对接运营商SIP中继,我踩过的那些坑够写本书了

吐槽向复盘:对接新运营商SIP中继时,认证机制、头域格式、号码转换轮流坑了我一遍。记录一下当时的排查思路和最终方案,给后来人避坑。

Administrator Administrator 发布于 2026-07-04

华为防火墙SIP ALG于NAT后的SIP头的爱恨情仇:一次从抓包到配置绕过的完整复盘

FreeSWITCH部署在华为防火墙后,公网对端能收到INVITE但ACK总丢,BYE之后通话还不释放。抓包一看,NAT已经改了Contact头,但Via和Record-Route里的IP却和实际出口对不上——防火墙的SIP ALG在改写时序和改写范围上各有一套自己逻辑,禁用它又怕影响对端NAT穿越。最后靠抓包定位ALG的改写盲区,手动在SIP配置里对齐NAT行为,解决问题。

Administrator Administrator 发布于 2026-07-04

RTP语音流穿越NAT的深度排查:从STUN/TURN/ICE机制到媒体端口选择的完整定位链

FreeSWITCH对接传统PBX时,一方在NAT后出现单向通话或无声音。排查过程从STUN绑定响应入手,发现对端是对称型NAT导致的非对称路径拒绝。这篇文章复盘完整的排查链:SDP解析→ICE候选交换→STUN Binding→对称型NAT判定→TURN中继回退,重点剖析为什么最终选了TURN而不是其他方案。

Administrator Administrator 发布于 2026-07-04

FreeSWITCH多设备注册踩坑经历:同一个分机号在软硬电话同时注册的正确姿势

FreeSWITCH多设备注册踩坑经历,客服系统需要坐席分机号在软电话和IP话机上同时注册实现同振,但dual-reg默认是覆盖模式,外呼时From头域还可能选错终端。本文从故障排查到方案落地,完整记录这个看似简单却坑点重重的需求。

Administrator Administrator 发布于 2026-07-04

FreeSWITCH SIP中继注册403:From/To/Contact域名不一致的方案取舍

freeswitch SIP中继注册头导致的验证,返回403不代表密码错了,问题往往不在认证环节——运营商校验的是 SIP 头域里的域名格式,而不是你的密码。From/To 头域里的 `@your_domain.com` 和 Contact 头域里的 `172.16.1.100` 不匹配运营商的要求,注册请求在认证之前就被拒绝了。

Administrator Administrator 发布于 2026-07-04