SIP、RTP 和语音编码是什么关系?一通网络电话的声音是怎么走的
网络电话里三个词总是一起出现:SIP、RTP、语音编码。简单说:SIP 负责“拨通和挂断”,RTP 负责“运送声音”,编码决定“声音被压成什么样”。本文用一通电话从拨号到挂断的完整过程,把三者的分工、常见编码(G.711、G.729、Opus)的区别和通话卡顿的原因讲清。
上一篇我们讲了 FreeSWITCH、SIP 线路、OKCC 这些“系统”的关系。这一篇往下钻一层:一通电话的声音本身,在网络里是怎么走的。
SIP:只管拨通,不管声音
SIP(会话初始协议)干的是“打电话的动作”:发起呼叫(INVITE)、振铃、接通确认、转接、挂断(BYE),以及告诉对方“声音请发到这个地址、用这个编码”。它像快递的下单系统:把单下好、地址协商好,但包裹不是它运的。
RTP:真正运声音的车
RTP(实时传输协议)负责把声音切成小包、带上序号和时间戳,实时送到对端。声音对延迟极其敏感——晚到的数据包没有意义,所以 RTP 走的是“先送达速度、不保证每一包必达”的路子:丢一两个包,人耳几乎察觉不到;为了等重传而卡住,通话反而没法听。这也是网络电话偶尔“吞字”的原因。
语音编码:声音的压缩方式
麦克风采到的声音要变成数据,先要经过编码(Codec)。选哪种编码,是音质和带宽的权衡:
· G.711:基本不压缩,音质等同传统固话,一路通话约占 64kbps,内网和线路质量好的场景最常用
· G.729:压缩到约 8kbps,音质略降但省带宽,多路并发、带宽紧张时常用
· Opus:码率在低速和高速之间动态调整,抗网络波动强,互联网语音和新一代系统常用
· 编码不一致时,中间的软交换(如 FreeSWITCH)要负责转码,转码消耗服务器性能,也是部署时要算账的一项
一通电话的完整路径
· 坐席点拨号,软电话发出 SIP 请求,经呼叫系统协商好双方地址和编码
· FreeSWITCH 等软交换完成接通控制,电话经 SIP 线路出局
· 声音被编码成数据包,走 RTP 实时送达客户一端,客户的声音同理返回
· 通话结束,SIP 信号拆除会话,录音文件在系统侧落盘
通话不清、卡顿,先查什么
· 先查网络:抖动(数据包到达忽快忽慢)和丢包是头号原因,加大抖动缓冲能缓解,但会增加延迟
· 再查编码:带宽不足还硬上 G.711,会挤爆通道;并发大又全用高压缩编码,服务器转码压力大
· 最后查终端:耳机、声卡、电脑性能跟不上,也会表现为“线路不清”
和爱摸鱼的关系
爱摸鱼超级 AI 员工是由多方智联(北京)信息科技有限公司提供的营销工作台,它的智能外呼走的正是这套标准链路:SIP 管接通、RTP 送声音、编码可按线路条件选配。企业不需要懂到协议层,但选线路和排障时懂这三者的分工,能少被“线路玄学”忽悠——通话质量问题九成能在这三层里定位。
资料来源
- SIP 协议标准 RFC 3261 https://www.rfc-editor.org/rfc/rfc3261.html
- RTP 协议标准 RFC 3550 https://www.rfc-editor.org/rfc/rfc3550.html
- 爱摸鱼超级 AI 员工官网 https://aimoyu.chat/