在維護SIP防爆電話時,REGISTER事務回傳200 OK,只能確認終端已經與註冊伺服器成功建立經過認證的地址綁定關係。它並不能保證INVITE能夠被正確路由,也不能保證SDP可以協商出相容的編解碼器,更不能保證RTP媒體能夠在防爆電話與對端之間雙向通過。換句話說,“已註冊”只描述了SIP控制平面可達性的一部分,並不代表端到端通話能力已經完整可用。
因此,防爆電話即使顯示註冊正常,仍可能出現不振鈴、接通後無聲音、單通,或者接聽後立即斷開的情況。很多時候,真正的故障並不在註冊伺服器,而是在註冊之後的信令路徑、媒體路徑或本機音訊鏈路。按照信令、媒體、終端音訊三個層次進行故障排除,可以把“已經註冊但無法通話”這種模糊現象拆成一系列可獨立驗證的步驟,也能避免反覆重新啟動裝置卻始終查錯方向。
為什麼“已註冊”不等於電話一定可以正常通話?
首先要看清註冊到底完成了什麼。終端發送的REGISTER請求通常包含幾個重要欄位:Request-URI用於標識註冊域;To表示正在註冊的帳號,也就是Address-of-Record(AOR);Contact表示終端當前可到達的地址,通常是IP地址和連接埠;Expires則定義註冊綁定的有效時間。
註冊並不是一次性操作。平台會在Location Service中保存一條關係,表示某個AOR當前可以通過某個Contact到達。這個綁定關係有過期時間,常見設定約為1小時。終端必須在到期前刷新註冊,否則平台最終可能把該分機判斷為離線。
認證通常需要兩次交互。終端先發送不帶認證資料的REGISTER,伺服器回傳401 Unauthorized,並攜帶realm、nonce等挑戰參數。終端使用帳號認證資料計算認證摘要,再發送一個帶Authorization頭的REGISTER,隨後通常才會收到200 OK。因此從信令角度看,“註冊成功”只是說明終端與伺服器剛剛完成了一次經過認證的REGISTER事務。
真正的電話通話還需要更多環節。使用者撥號後,終端必須生成INVITE;PBX、SIP伺服器或調度平台必鬚根據號碼規則和權限把被叫號碼正確路由;雙方還要通過SDP協商編解碼器、媒體地址和RTP連接埠,之後語音才可能真正傳輸。
信令和媒體還可能走不同的路徑。SIP信令通常使用UDP/TCP 5060或TLS 5061,而RTP一般使用另一段動態UDP連接埠範圍。如果防火牆放行了5060,卻阻斷了RTP連接埠範圍,就會出現註冊完全正常、通話卻沒有聲音的情況。
REGISTER成功
→ SIP帳號顯示線上
→ INVITE仍可能被拒絕
→ 即使回傳200 OK
→ RTP仍可能被防火牆、NAT或錯誤的媒體地址阻斷
→ 即使RTP已經到達終端
→ 本機麥克風或喇叭仍可能發生故障
核心結論很簡單:註冊狀態只是某個時間點一次事務成功的快照,並不能證明端到端語音一定可用。它甚至不能證明此刻網路仍然可達,因為註冊會週期性刷新,界面上顯示的“已註冊”狀態可能只是上一次刷新成功留下的結果。

先判斷故障發生在呼叫建立還是語音媒體
當有人回報電話“已經註冊但無法通話”,第一步不應該直接修改編解碼或網路參數,而是先明確“無法通話”到底是什麼現象。在使用任何工具之前,只需問幾個問題,通常就能確定故障排除方向。
一個完整的SIP通話可以分成兩個主要階段。第一個階段是呼叫建立,從INVITE開始,一直到被叫回傳200 OK、主叫發送ACK。第二個階段是語音媒體,此時SDP協商已經完成,雙向RTP應該開始實際傳輸。最簡單的分界線,就是界面是否已經顯示通話接通。
如果一撥號就報錯、沒有振鈴,或者對端完全看不到來電,問題更可能出在SIP信令或呼叫路由。如果雙方都顯示已接通、通話計時已經開始,但沒有聲音或只有單向聲音,就應把檢查重點轉到SDP與RTP媒體路徑。
| 現象 | 可能階段 | 優先檢查 |
|---|---|---|
| 撥號立即報錯 / 不振鈴 / 對端完全收不到 | 呼叫建立 | 號碼路由、權限、SIP回應碼、信令可達性 |
| 顯示已接通但沒有聲音 | 語音媒體 | SDP媒體地址、RTP連接埠、防火牆、NAT、編解碼 |
| 通話接通但只有單向聲音 | 語音媒體 | 按方向對比SDP、RTP、NAT對映和抓取到的媒體流 |
| 接通幾秒後斷開 | 呼叫建立 + 媒體 | ACK、Session Timer、NAT逾時、平台釋放策略 |
| 聲音斷續或間歇性異常 | 媒體傳輸品質 | 封包遺失、抖動、延遲、頻寬和RTP連接埠變化 |
還有兩種模式也很有參考價值。如果電話能呼出卻無法接聽,原因往往與入呼號碼路由、Contact地址、NAT或平台路由有關;如果能接聽卻無法呼出,則應把檢查重點轉向撥號計畫、外呼權限、號碼格式或SIP中繼設定。
如果普通SIP分機之間可以互撥,但撥打調度台、廣播系統或PSTN失敗,故障範圍就已經明顯縮小,更可能與某一條特定路由或系統介面有關。
一份有價值的現場故障回報,至少應該回答四個問題:
故障發生在呼出還是呼入?
通話是否振鈴?
界面是否顯示已經接通?
是完全無聲音、單向聲音,還是接通幾秒後斷開?
這四個答案遠比一句“電話無法使用”更有故障排除價值。
通話建立失敗時,應先查號碼、權限還是SIP回應?
如果故障發生在通話建立階段,在懷疑防爆電話硬體之前,應沿SIP信令路徑排查。一個實用順序是:號碼 → 權限 → 回應碼 → 信令可達性。
先檢查號碼和撥號計畫。終端發出的Request-URI是否符合平台預期?分機是否需要加前綴?跨系統通話是否需要區號、接入碼或號碼轉換?很多“註冊正常但無法呼出”的問題,最終都是因為電話發送的號碼格式與PBX中的路由規則不一致。
例如,電話可能發送8001,而PBX要求8#8001,或者要求完整的E.164格式號碼。封包擷取查看INVITE中的Request-URI,就能立即確認這一點。
接著檢查帳號權限。有些分機只允許內部通話,沒有PSTN權限;另一些可以撥打普通SIP分機,卻不能訪問緊急熱線、調度組或廣播分區。這類服務等級設定在工業專案中尤其容易被忽略,因為註冊過程並不會驗證這些業務權限。REGISTER回答的是“這個帳號是否線上?”,真正的通話嘗試回答的是“這個帳號是否允許通話這個目的地?”
然後可以利用SIP回應碼進一步縮小範圍:
| 類別 | 常見回應 | 典型故障排除方向 |
|---|---|---|
| 1xx 資訊回應 | 100 Trying、180 Ringing、183 Session Progress | 通話建立正在繼續;問題可能位於後續路由或媒體階段 |
| 2xx 成功 | 200 OK | 通話建立成功;轉入媒體檢查 |
| 4xx 使用者端失敗 | 401/407認證、403權限、404未找到、408逾時、480不可用、486忙、488編解碼不匹配 | 通常與終端設定、路由或業務策略有關 |
| 5xx 伺服器失敗 | 500、503 Service Unavailable | PBX、SBC或調度平台側 |
| 6xx 全局失敗 | 603 Decline | 目的端明確拒絕通話 |
故障排除中有幾個回應尤其常見。401/407通常指向認證挑戰處理問題,例如認證資料、演算法或帳號綁定異常;403應把檢查方向轉向權限規則、帳號策略或平台拒絕請求的原因;404可能表示號碼不存在,或者沒有任何路由匹配;408和480通常與逾時或使用者不可用有關;488常見於媒體能力不相容或編解碼協商失敗。
如果SIP設定看起來正常,但INVITE始終到不了目的系統,就要回到網路路徑檢查。檢查VLAN、閘道器、防火牆、ACL規則,以及電話實際使用的目的地址。最快的方法是在伺服器側封包擷取:如果INVITE已經到達但沒有繼續轉發,就檢查PBX或調度平台路由;如果INVITE根本沒有到達,就把重點放在終端或終端到伺服器之間的網路路徑。
通話已接通卻無聲音或只有單向聲音,應檢查什麼?
“雙方都顯示已接通,但沒有聲音”是最常見的SIP故障之一。此時通話信令通常已經成功完成,問題更可能出在SDP協商或RTP傳輸。故障排除重點應該從信令平面轉到媒體平面。
先看SDP中攜帶的媒體資訊。其中幾行特別重要:c=標識連線地址,m=定義媒體和連接埠,a=rtpmap把Payload Type對映到編解碼器,a=sendrecv/sendonly/recvonly定義媒體方向。
終端在INVITE或200 OK的SDP中公佈的音訊地址,必須能被對端到達。如果終端在SDP中填寫了192.168.x.x這類不可路由的私網地址,而對端位於另一個網路,SIP通話仍然可能正常建立,但RTP永遠到不了目的地。這就是非常典型的“已接通但沒聲音”。
NAT環境尤其容易出現這類問題,具體處理方式取決於網路架構。SIP信令可能順利穿過NAT,而媒體路徑卻完全失敗。常見NAT類型包括全錐型NAT、受限錐型NAT、連接埠受限錐型NAT和對稱型NAT,穿透難度逐步增加。
工業網路中常用SBC作為媒體中繼,把RTP錨定到一個已知節點。其他環境可能使用STUN發現公網地址對映,更複雜的部署也可能使用TURN或ICE。應採用哪種機制取決於真實網路拓撲。REGISTER成功並不能證明RTP可以穿越NAT。
防火牆也是常見原因。有些專案只放行5060或5061,因為這些是最顯眼的SIP連接埠,而語音卻使用完全獨立的RTP連接埠範圍。很多裝置會從10000–20000等範圍動態分配RTP連接埠。如果SIP被允許、RTP卻被ACL阻斷,使用者看到的現象正是“電話接通了,但沒有聲音”。
單向聲音應該按方向檢查。如果控制室能聽到現場電話,但現場人員聽不到控制室,至少說明一個方向的RTP或一條本地音訊路徑已經正常工作。不要再從頭檢查整個網路,而應對比雙方的SDP地址、RTP連接埠、NAT對映和擷取到的媒體流。方向性差異常常能直接指向某一側的NAT對映、防火牆規則或錯誤SDP地址。

網路確認正常後,再檢查編解碼和本機音訊鏈路
能看到RTP封包,並不代表一定能聽到清晰語音。下一步要確認雙方是否真正協商出了相容的編解碼器。
編解碼協商遵循SDP offer/answer模型。主叫終端在INVITE SDP中列出自己支援的編解碼器,通常按優先級排列;被叫從中選擇一個自己也支援的編解碼器,並在200 OK中回傳。如果雙方能力列表沒有共同編解碼,媒體協商就會失敗。
工業防爆電話中常見的編解碼包括G.711(PCMU/PCMA,64 kbps,與PSTN環境具有廣泛相容性)、適用於較低頻寬鏈路的G.729、用於寬頻語音的G.722,以及部分新裝置支援的Opus。如果電話只啟用了某一組編解碼,而PBX、錄音系統或調度平台只支援另一組,可能回傳488 Not Acceptable Here;在某些實作中,也可能出現通話已經接通但媒體異常的現象。
正確的故障排除方法,是直接比較雙方SDP訊息中的Payload Type和編解碼列表,而不是只看管理頁面上某個編解碼是否顯示“已啟用”。
在確認編解碼協商和RTP傳輸正常後,再檢查終端的物理音訊鏈路。防爆電話常年工作在高噪聲、潮濕、多塵或腐蝕性環境中。即使SIP協議棧完全正常,麥克風、手柄、喇叭、擴大器模組、連接器或現場線纜仍可能損壞。
一個實用方法,是把RTP統計與現場實際聽感對照。如果封包擷取顯示雙向RTP持續存在,封包數量和時間間隔都正常,但某一側仍沒有聲音,就檢查靜音狀態、音量設置以及物理麥克風或喇叭。如果RTP確實正在發送,但其中的音訊內容實際上接近靜音,還要檢查麥克風拾音或音訊採集鏈路。
在可以進行定量媒體分析時,三個指標尤其有用:封包遺失、抖動和單向延遲。隨著封包遺失增加,語音品質會逐漸惡化;抖動過大可能需要更大的抖動緩衝;單向延遲過高會讓自然對話變得困難。如果封包遺失集中在某一段網路跳點,還要考慮鏈路擁塞或無線傳輸問題。
對帶擴音輸出的防爆廣播話站,還要區分電話內置喇叭通路與外接號角或擴大器輸出通路,兩者不一定完全共用同一條音訊鏈路。普通手柄或免持通話正常,並不能證明外部廣播音訊也正常,反過來也一樣。除錯和故障排除時,應逐條驗證專案實際需要的音訊路徑,而不是把所有“廣播沒聲音”都當成SIP故障。
封包擷取如何快速縮小故障範圍?
對複雜SIP故障來說,反覆修改參數通常不如完整擷取一次失敗通話有效。可以按照時間順序,從REGISTER一路跟到BYE。多數場景使用Wireshark就足夠。常用擷取點包括電話側、交換器鏡像連接埠,以及SBC或PBX側。
封包擷取位置決定了你能證明什麼。終端側封包擷取能看到電話實際發出和收到的內容,有助於判斷故障是否起於本地;SBC或PBX側封包擷取能確認平台是否正確收到並轉發信令。對於跨VLAN、跨站點或經過SBC的部署,最好在多個點同時封包擷取,因為一個擷取點只能證明訊息經過了這裡,不能證明下一段網路也正常。
獲得封包擷取後,可以按以下順序跟蹤通話:
1. REGISTER是否成功?
→ 2. INVITE是否真的發出了?
→ 3. PBX是否收到並正確路由?
→ 4. 對端是否回傳18x / 200 OK?
→ 5. SDP是否協商出共同編解碼?
→ 6. 是否真正存在雙向RTP?
→ 7. RTP目的IP和連接埠是否正確?
→ 8. 現場麥克風和喇叭是否真的在傳遞音訊?
Wireshark提供了很多實用工具。SIP訊息可以使用sip或sip.CSeq等表達式過濾。在Telephony → VoIP Calls中,可以連同信令時序和相關RTP流一起查看某個通話;RTP分析還能幫助觀察封包遺失、抖動等媒體品質指標。
故障排除順序應始終保持先信令,後媒體。如果信令失敗,問題就在通話建立階段;如果信令已經完成但沒有媒體,就應繼續查媒體路徑。
對“能呼出、不能呼入”的情況,要確認入呼INVITE是否真正到達防爆電話。如果通話總是在幾秒或幾十秒後固定斷開,應檢查ACK、Session Timer、NAT對映,以及平台是否因為沒有收到預期訊息而釋放會話。
還有一種不太容易察覺的情況,是通話過程中發生媒體重新協商。re-INVITE可能改變RTP地址或連接埠。如果在這次重新協商時NAT對映失敗,就可能表現為“剛開始通話正常,幾秒後突然沒聲音”。
目標不是背下所有SIP回應碼,而是始終追問一個問題:這個通話最後成功通過了哪一層,第一個異常行為又出現在哪裡?一旦找到第一個失敗點,大部分故障排除工作其實已經完成。

常見問題
SIP電話顯示已註冊,至少能證明網路正常嗎?
不能。“已註冊”只說明終端在某個時間點成功與Registrar完成了一次SIP註冊事務。它不能證明通話路由、目的端可達性、RTP媒體、NAT、防火牆規則或終端音訊硬體都正常,也不能證明實際通話時網路不會出現封包遺失或高延遲。由於註冊是週期性的,界面上的“已註冊”狀態可能只是上一次刷新成功的結果。
雙方都顯示已接通但沒有聲音,第一步應該查什麼?
先檢查SDP中的媒體IP地址、RTP連接埠和編解碼協商結果,再確認防火牆、NAT裝置或SBC是否允許雙向RTP。如果已經明確雙向RTP都能到達兩端,再檢查麥克風、喇叭、靜音狀態和本機音訊輸出設定。實用順序是先媒體路徑,再本機硬體。
為什麼同一台防爆電話內部通話正常,撥打PSTN卻失敗?
內部分機通話和PSTN通話通常走不同的路由。外部通話還涉及外呼權限、號碼轉換、SIP中繼設定、電信業者路由和發話號碼顯示規則。分機之間互撥成功,只能證明部分SIP和媒體路徑正常;PSTN通話仍要經過中繼和電信業者網路,因此會增加額外的路由與策略要求。
註冊正常,但聲音斷續或通話中途斷開,可能是什麼原因?
問題往往在媒體傳輸品質:封包遺失、抖動過大、頻寬不足或NAT對映過期,都可能在通話過程中中斷RTP。先檢查RTP封包遺失和抖動,再根據場景檢查鏈路容量和無線覆蓋。如果通話總是在可預測的時間間隔後斷開,還要檢查re-INVITE媒體重新協商和Session Timer行為。
為什麼換一台電話就正常,而原來的裝置仍然失敗?
這通常更指向原電話的設定、韌體或本機硬體,而不是網路。可能原因包括韌體問題、註冊過期時間、NAT處理或RTP連接埠範圍等SIP參數設定錯誤,也可能是DSP或音訊模組故障。應把兩台裝置逐項對比,尤其是編解碼列表、SIP連接埠和NAT設定,不要立即把差異歸因於網路不穩定。
重新啟動SIP防爆電話能算正規的故障排除方法嗎?
重新啟動有時可以暫時恢復註冊、更新NAT對映或清除卡住的處理程序,但不能代替故障隔離。如果根因是撥號計畫設定、SIP權限、防火牆規則、編解碼協商或媒體路由,重新啟動最多只是短暫掩蓋問題,甚至完全無效。更合理的維護方式是記錄故障現象,保留信令封包擷取和日誌,再判斷第一個故障點究竟在終端、網路還是通訊平台。
贝克通信可根據終端、IP PBX、SIP中繼、網路交換、SBC及調度系統的實際架構協助進行故障排除。贝克通信同時提供防爆電話、防爆廣播話站、SIP閘道器、IP廣播及融合調度裝置,適用於石化、能源、礦山、隧道等工業通訊環境。