文章

讲解什么是SIP、VoIP、GMS、电话机(软硬)等

讲解什么是SIP、VoIP、GMS、电话机(软硬)等

作者: claude fable5

结构图

  • VoIP(Voice over IP) 是大类概念:把语音采集后用编解码器(如 G.711、Opus)压缩成数字数据,切成小包,通过互联网/IP 网络传输,到对端再还原成声音。它取代的是传统”电路交换”——传统电话要为一次通话独占一条线路,VoIP 则和网页、视频共用同一条网络。

  • SIP(Session Initiation Protocol,会话发起协议) 是 VoIP 中最主流的”信令”协议。注意它本身不传声音,只负责”打电话这件事的管理”:找到对方在哪(注册与寻址)、发起呼叫、振铃、接听、协商用什么编解码器、挂断。真正的语音由 RTP 协议承载——这就是 VoIP 的核心设计:信令与媒体分离。信令走 SIP 服务器,语音流往往在两个终端之间直接传输。

  • 软电话(Softphone) 是纯软件形态的话机,运行在电脑或手机上,比如 Zoiper、MicroSIP、微信/Teams 的通话功能本质上也类似。用设备自带的麦克风和扬声器,灵活、便宜、随装随用。硬话机(Hardphone / IP 话机) 则是长得像传统座机的专用硬件(如 Yealink、Cisco IP Phone),内置 SIP 协议栈,插网线(通常支持 PoE 供电)就能注册到 SIP 服务器,稳定性和通话体验更好,常见于办公室和呼叫中心。还有一种中间形态:普通模拟老话机接一个 ATA 适配器,由适配器把模拟信号转成 SIP/RTP。

  • GSM 是第二代(2G)蜂窝移动通信标准:手机通过无线电连接基站(BTS),基站汇聚到基站控制器(BSC),再进入移动交换中心(MSC)完成呼叫接续,用 SIM 卡做身份认证。它本质上还是电路交换的”传统电话”思路,只是接入方式是无线的。后来的 3G/4G 演进中,4G VoLTE 实际上已经”VoIP 化”了——核心网 IMS 内部用的正是 SIP 协议。VoIP 系统要打通手机或固话,就靠架构图中的媒体网关/SIP 中继,由运营商完成 IP 世界与 PSTN/移动网之间的协议和媒体转换。

下面这张原理图展示一次 SIP 呼叫从拨号到挂断的完整信令过程:

这个时序里有几个关键点值得注意。 INVITE 消息体内携带 SDP(会话描述协议),里面写明”我支持哪些编解码器、我的语音收在哪个 IP 和端口”; 被叫在 200 OK 里回应自己的选择,双方就此协商好媒体参数。 ACK 确认后通话正式建立,橙色那条 RTP 语音流通常在两个终端之间直接走,SIP 服务器只在信令路径上——这就是为什么 VoIP 系统可以用一台不太强的服务器支撑大量并发通话。

通话流程

注册上线(REGISTER)

话机或软电话启动后,向 SIP 服务器发送 REGISTER 消息,相当于报到:”分机 1001 现在位于 IP 192.168.1.50 的 5060 端口”。服务器先回 401 要求鉴权,话机用账号密码计算摘要后重发,注册成功。此后每隔几分钟刷新一次。 没有这一步,别人呼叫 1001 时服务器不知道往哪送。

拨号与号码分析

你按下被叫号码。 话机依据拨号规则(dial plan)判断号码是否收齐——比如内线 4 位、外线以 9 开头等。号码收齐后,话机构造一条 INVITE 请求,消息体里附上 SDP:声明自己支持的编解码器(如 G.711、Opus)以及准备接收语音的 IP 和端口。

鉴权与呼叫路由

SIP 服务器收到 INVITE 后先验证主叫身份和呼叫权限,然后查路由:如果被叫是本系统的分机,就查注册表找到它当前的 IP 直接转发;如果是外部手机或固话号码,则把呼叫送往 SIP 中继 / 媒体网关,由运营商接续到 PSTN 或移动网络。

振铃与应答

被叫话机收到 INVITE 开始振铃,同时回送 180 Ringing,主叫端听到回铃音。被叫摘机后回 200 OK,消息体里带上自己的 SDP 应答——确认选用的编解码器和媒体地址。主叫发送 ACK 确认,三次握手完成,会话正式建立。若双方有 NAT 阻隔,还会借助 STUN/ICE 等机制打通媒体通路。

RTP 语音流传输

通话期间走的是下面这条媒体路径,每 20 毫秒打包发送一次,通常端到端直传、不经过 SIP 服务器。接收端用抖动缓冲吸收网络时延的波动,再解码播放:

Wifi Calling

WiFi Calling(VoWiFi,WiFi 通话) 是运营商提供的一项原生通话技术:当手机连着 WiFi 时,可以直接用系统拨号盘、用你自己的手机号打电话和收发短信,语音不走基站无线信号,而是经过 WiFi 和互联网送进运营商核心网。 它和微信、Skype 这类 App 通话有本质区别:WiFi Calling 不需要安装任何软件,对方看到的就是你的正常号码,按运营商正常话费计费,而且能接听打到你号码上的来电。它其实就是我们前面讲的那套 VoIP/SIP 技术——只不过部署在运营商的 IMS 核心网里,IMS 内部的呼叫信令用的正是 SIP 协议。换句话说,现代手机打电话(VoLTE 走 4G、VoWiFi 走 WiFi)本质上都已经是”运营商级的 VoIP”了。 它的关键技术问题是:语音要穿越不受运营商控制的公共互联网,如何保证安全和身份可信?

答案是一条加密隧道:

几个要点展开说明。安全机制:手机发现自己连上了 WiFi 且信号策略允许时,会用 IKEv2 协议与运营商的 ePDG 网关建立 IPsec 加密隧道,身份认证用的是 SIM 卡里的密钥(EAP-AKA 机制)——所以它的身份可信度和插卡打电话完全一样,公网上的任何人都看不到隧道内的语音内容。隧道建好后,里面跑的就是我们前面讲过的那套流程:SIP 的 REGISTER 注册、INVITE 呼叫建立、RTP 语音流,只是这一切都封装在加密隧道里送进 IMS。 它解决什么问题:最典型的是室内信号差——地下室、电梯旁、钢结构大楼里基站信号进不来,但 WiFi 满格,开启 WiFi Calling 后打电话完全不受影响。另一个场景是国际旅行:人在国外连上酒店 WiFi,手机相当于”逻辑上回到了国内运营商网络”,部分运营商按国内通话计费而非昂贵的漫游费(具体资费政策因运营商而异)。 无缝切换也是它的亮点:通话中从 WiFi 覆盖范围走出去,呼叫可以在 VoWiFi 和 VoLTE 之间自动切换而不掉线,因为两者背后是同一个 IMS 核心网、同一个 SIP 会话,切换的只是接入路径。使用上一般只需在手机设置里打开”WiFi 通话”开关,前提是你的运营商和手机型号都支持这项功能。

本文由作者按照 CC BY 4.0 进行授权