IP 语音通话对一个因素最为敏感:延迟。200ms 的延迟就会让对话变成尴尬的来回抢话——双方不断互相打断。这就是为什么为 SIP 流量选对代理比几乎任何其他使用场景都更为重要。
为什么普通代理无法满足需求
SIP 通话涉及两个独立的数据流。信令(呼叫建立、振铃、挂断)通过 TCP 或 UDP 在 5060 端口传输。而实际的语音——您听到的音频——以 RTP 数据包的形式通过动态分配的 UDP 端口传输。
HTTP 或 HTTPS 代理处理的是网页流量,无法解析 UDP,也无法中继语音数据包。如果您尝试通过 HTTP 代理路由 Zoiper 或 Linphone 等 VoIP 软电话,信令可能部分正常,但不会有任何音频。通话在表面上已建立连接,实际却完全无声。
要进行 SIP 通话,您需要一台支持 SOCKS5 UDP 中继的 SIP 代理服务器。该协议会将信令和语音流同时通过代理进行隧道传输,确保整个通话完整不断。
SOCKS5 UDP 中继的实际作用
当您的软电话或 PBX——无论是 Asterisk、FreePBX 还是 Zoiper 等桌面客户端——通过支持 UDP 的 SOCKS5 代理进行路由时,代理会同时处理两个层面:
- SIP 信令:INVITE、ACK、BYE——所有用于建立和终止通话的消息
- RTP 媒体:双向传输的实际音频数据包
代理还能解决 NAT 问题。SIP 设计之初是基于点对点直连通信的,它会在信令消息中嵌入私有 IP 地址。在 NAT 环境下,这些地址从外部是无法访问的。SIP 出站代理会重写连接信息,使双方都能正常交换音频——无需 STUN 服务器,也不用配置复杂的防火墙规则。
适用场景
跨境运营的呼叫中心是最常见的场景。您的坐席在一个国家,电话号码和 SIP 中继在另一个国家。通过号码所在地区的代理路由通话,既能保持低延迟,又能让流量在服务商看来像本地通话。
运营多条 SIP 中继线路的企业有时需要为每条中继分配独立 IP——服务商会跟踪连接到其系统的 IP 地址,多条中继共用一个地址可能触发欺诈警报。为每条中继分配一个独享代理可确保一切运行正常。
VoIP 封锁是另一种常见场景。一些网络和国家会对 SIP 流量进行限速甚至完全封锁。通过位于不受限制地区的代理进行路由即可绕过——网络看到的只是普通的加密流量,而非 SIP 数据包。
选择通话代理时需要关注什么
延迟决定一切。对于网络抓取来说,每个请求 500ms 完全可以接受。但对于电话通话,单向延迟超过 150ms 就会明显感知到。数据中心代理在此方面具有明显优势——它们部署在拥有直连线路和最少跳数的数据中心。住宅代理或移动代理会增加额外的中继节点,导致延迟上升。
稳定性同样至关重要。代理在数据抓取过程中断连半秒无伤大雅——脚本会自动重试。但在通话中,这就意味着掉线。静态 IP 搭配可靠的基础设施可以避免此类问题。
FineProxy 提供完整的 SOCKS5 UDP 中继支持——信令和语音均通过单一连接传输。数据中心基础设施确保低延迟,静态 IP 在整个租用期间保持不变。对于需要在信令层进行加密的场景,我们的 HTTPS 代理为每个 IP 配备独立的 SSL 证书,同样可以满足需求。