SBC 邊界控制器
Session Border Controller(SBC)是 VoIP 網路裡擺在信任邊界上的關鍵設備。它信令和媒體一起管,負責安全防護、互通性和通話品質。
SBC 在做什麼
SBC 站在不同網路信任域的交界,是 VoIP 通訊的守門員。在客服中心裡,它通常擺在企業網路和 SIP Trunk 供應商之間:
ITSP / PSTN Gateway 企業內部網路
| |
[SIP Trunk] ── SBC ── [內部 SIP] ── IP-PBX / ACD
| | | |
外部 RTP DMZ 內部 RTP IP 話機它的工作大致分四塊:拓撲隱藏、NAT 穿透、協議轉換、安全防護,外加通話品質管理。
拓撲隱藏(Topology Hiding)
SIP 訊息天生就帶一堆網路資訊——IP 位址、埠號、路由路徑。不擋一下,攻擊者從 SIP 訊息裡就能摸清企業內部的 IP 配置、設備型號,等於把攻擊面攤開給人看。所以 SBC 對外會把內部結構藏起來:
| 隱藏項目 | 說明 |
|---|---|
| IP 位址替換 | 將內部 IP 替換為 SBC 的外部 IP |
| Via 標頭清理 | 移除內部 Proxy 的 Via 記錄 |
| Route/Record-Route 改寫 | 隱藏內部路由路徑 |
| SDP 改寫 | 替換媒體接收位址 |
| User-Agent 標頭 | 替換或移除設備識別資訊 |
NAT 穿透
SIP 在 NAT 環境下常出狀況,SBC 專門解這些:信令層改寫 Contact 標頭裡的私有 IP 為公網 IP;媒體層改寫 SDP 裡的 c= 和 m= 位址;用對稱式 RTP 偵測實際媒體來源、動態修正轉發目標;再用 Keep-alive 維持 NAT 映射不過期。
協議轉換(Interworking)
不同廠商的 SIP 實作總有出入,SBC 在中間做適配:
| 轉換類型 | 範例 |
|---|---|
| SIP 版本差異 | 不同廠商的 SIP 標頭處理差異 |
| 信令協議 | SIP 與 H.323 之間轉換 |
| Codec 轉碼 | G.711 與 G.729 之間轉碼(Transcoding) |
| DTMF 模式 | RFC 4733 與 SIP INFO 之間轉換 |
| 早期媒體處理 | 183 Session Progress 的不同行為 |
| 傳真協議 | T.38 與 G.711 Fax Passthrough |
安全防護
| 防護功能 | 說明 |
|---|---|
| DoS/DDoS 防護 | 速率限制、異常流量偵測 |
| SIP 訊息驗證 | 格式檢查、RFC 合規性驗證 |
| TLS/SRTP 終結 | 加密連線終結與轉換 |
| ACL 控制 | 基於 IP、域名的存取控制 |
| 動態黑名單 | 自動封鎖異常來源 |
| 防盜打 | 通話頻率、目的地異常偵測 |
| SIP 訊息清洗 | 過濾惡意或異常的 SIP 標頭 |
QoS 管理
品質這塊,SBC 靠通話准入控制(Call Admission Control, CAC)限制並發通話數、防過載;靠頻寬管理按 Codec 算需求、擋掉超門檻的新呼叫;對信令和媒體封包打不同的 DSCP 標記;也能強制特定 Codec 或優先順序。
部署位置
最常見的是雙臂部署(Dual-homed):SBC 有兩個網路介面,一個對外(ITSP)、一個對內(企業 LAN)。
Internet/ITSP ── [外部介面] SBC [內部介面] ── 企業 LAN
| |
DMZ 區域(可選)另一種是 DMZ 部署:SBC 放在 DMZ,外部防火牆放行 SIP/RTP 到 SBC,內部防火牆只允許 SBC 跟 IP-PBX 通訊。
| 防火牆 | 允許的流量 |
|---|---|
| 外部防火牆 | ITSP IP → SBC: SIP (5060/5061) + RTP (動態埠範圍) |
| 內部防火牆 | SBC → IP-PBX: SIP + RTP |
現代 SBC 也支援虛擬化——跑在 VMware/KVM/Hyper-V 上、部分廠商支援 Docker/Kubernetes,或部署在 AWS/Azure/GCP 的雲上。但要注意,SBC 的媒體處理(尤其 Transcoding)很吃 CPU 和即時性,虛擬化環境要確保 CPU 資源獨佔(CPU Pinning)、避開 Hyper-threading 干擾、別做記憶體 Overcommit,不然語音品質容易出問題。
跟防火牆的差別
這兩者容易被當成同一件事,其實分工不同:
| 特性 | 防火牆 | SBC |
|---|---|---|
| 工作層級 | L3/L4(部分 L7) | L3-L7(深度 SIP 感知) |
| SIP 感知 | 有限(SIP ALG 常有問題) | 完整的 SIP 協定堆疊 |
| 媒體處理 | 不處理 | Transcoding、媒體錨定 |
| NAT 處理 | 基本 NAT,SIP ALG 不穩定 | 專為 SIP/RTP 設計的 NAT 穿透 |
| 拓撲隱藏 | IP 層級 | SIP 應用層級完整隱藏 |
| DoS 防護 | 通用型 | SIP 專用(偵測 SIP 異常行為) |
| QoS | 基本標記 | 通話准入控制、Codec 策略 |
| 互通性 | 無 | SIP 正規化、協議轉換 |
實務上兩者各司其職:防火牆管 L3/L4 的 ACL(只放行已知 ITSP IP)、通用 DoS 防護、DMZ 網路隔離;SBC 管 SIP/RTP 的深度檢查、VoIP 專用安全、媒體處理與 QoS、互通性。
選型要看的面向
替客服中心挑 SBC 時,大致從這幾個面向評估:
| 評估面向 | 關鍵指標 |
|---|---|
| 效能 | 並發通話數、CPS(每秒新建呼叫數)、Transcoding 容量 |
| 可用性 | HA 機制(Active-Standby / Active-Active)、故障切換時間 |
| 互通性 | 支援的 SIP RFC、與主要 ITSP 的驗證紀錄 |
| 安全性 | TLS/SRTP 支援、DoS 防護能力、ACL 粒度 |
| 管理性 | Web GUI、API、SNMP、日誌與追蹤能力 |
| 擴展性 | 授權升級方式、叢集部署能力 |
| 合規性 | 錄音分流(SIPREC)、合法監聽(LI)支援 |
| 成本 | 硬體 + 授權 + 維護合約的 TCO |
幾個進階功能
SIPREC 錄音分流:SBC 用 SIPREC(RFC 7865/7866)把通話媒體複製一份送到錄音伺服器,做到被動錄音又不動到原本的通話路徑。
SIP Trunk 負載平衡:管多條 SIP Trunk 時,可用輪詢(Round Robin,均勻分配)、權重分配(Weighted,依容量比例)、溢流(Overflow,主線滿載溢到備線)、最小使用(Least Used,優先用負載最低的線)。
WebRTC 閘道:現代 SBC 通常整合 WebRTC 閘道,處理 WebSocket (WSS) ↔ SIP/TLS 的信令轉換、DTLS-SRTP ↔ SRTP/RTP 的媒體轉換、ICE/STUN/TURN,以及 VP8/VP9 ↔ H.264 的視訊轉碼。
承暉的做法
- AICC 智能客服系統:線路經第三方 SBC 承接,可搭配 AudioCodes、Oracle 或 AbovEdge。SBC 由專案依規模和既有網路環境選型,承暉負責對接和互通測試。
- InfoCenter 語音客服平台:採語音板卡直接串接線路,是另一種接入型態,不經 SBC。
兩種接入方式的差異、以及什麼時候該選哪一種,會在建置規劃階段依線路型態(類比/E1/SIP Trunk)和機房條件一起評估。
延伸閱讀:
- SIP Trunk 中繼線路 — SBC 對外承接的線路型態