VoIP單向通話只有一方聽到聲音是什麼原因?

單向通話是指電話明明接通了,卻只有一方聽到對方的聲音,另一方一片安靜。由於電話已經接通,訊號層其實運作正常,問題出在語音資料本身的傳輸路徑。本文從SIP與語音資料分離的架構出發,說明造成單向通話的幾類成因,以及如何分辨欠缺聲音的方向。

免費上門勘察 即日或翌日上門 · 09:00-23:59

接通但無聲:訊號與語音走不同的路

網絡電話有兩條獨立的通道。第一條負責通話控制,例如撥號、接聽、掛線,由 SIP(Session Initiation Protocol,會話發起協議)處理。第二條負責語音資料,由 RTP(Real-time Transport Protocol,實時傳輸協議)承載,規範文件是 RFC 3550。兩者在網絡上並非同一條路徑,亦不使用同一組連接埠。

這個分離架構是理解單向通話的關鍵。電話能夠接通,證明 SIP 訊號在雙方之間往來正常;但接通後聽不到聲音,代表 RTP 語音封包在某一個方向上沒有到達目的地。換言之,控制層成功,資料層單向受阻。

語音通道亦是有方向性的。甲方傳向乙方的語音,與乙方傳向甲方的語音,是兩股獨立的封包流,走的路徑與經過的裝置可能不同。任何一股被擋下來,症狀就是單向通話:一方講話對方聽得到,反方向卻沒有聲音。兩股同時被擋,症狀就變成雙向無聲。

由於 RTP 使用的連接埠是在通話建立時協商決定,並非固定的一組號碼,因此中途的路由器與防火牆處理起來比訊號通道複雜得多,這也是單向通話遠比註冊失敗難排查的原因。

網絡位址轉譯造成的回程受阻

最常見的單向通話成因,是網絡位址轉譯(NAT)令回程語音無法送回話機。辦公室的話機使用內部私有位址,對外通訊時由路由器轉換為公網位址。當話機主動送出語音封包,路由器會建立一項對應紀錄,回程封包依靠這項紀錄才能找到正確的內部話機。

問題在於方向。若對方的語音先送到,而話機這邊尚未送出封包、對應紀錄還未建立,該批回程封包便會被丟棄,因為路由器不知道要交給哪一部內部裝置。結果是對方聽得到我方,我方卻聽不到對方,或者通話開頭數秒無聲,之後才恢復正常。

更棘手的一類是路由器對每個外部目的地都指派不同的對應埠口。這種行為下,話機向甲位址送出封包所建立的紀錄,並不適用於乙位址送來的封包;若語音伺服器與訊號伺服器並非同一位址,回程語音便會落空。這類故障通常需要在話機或系統側啟用 NAT 穿越輔助機制,才能穩定建立雙向通道。

另一種情況是對應紀錄提早過期。長時間單向通話(例如一方持續聆聽而不說話),該方向的封包流可能中斷得夠久,令路由器清除紀錄,之後恢復說話便沒有聲音。話機的持續連線(keep-alive)功能就是為此而設,以極小的封包定期維持通道。

需要協助?本頁介紹原理,實際部署要按公司網絡與話務量規劃。WhatsApp

SDP位址與連接埠協商錯誤

通話建立時,雙方要互相告知「語音送到哪裏」。這項協商透過 SDP(Session Description Protocol,會話描述協議)在 SIP 訊息中攜帶,規範文件是 RFC 4566。SDP 內含接收語音的 IP 位址與連接埠,以及可用的編碼格式。

若話機在 SDP 中填寫的是自己的內部私有位址,而通話對方位於互聯網上,對方便會把語音送往一個在公網上不可路由的位址,語音自然到不了。症狀正是單向:話機送出的語音可以到達對方,對方送回的語音卻消失。這是單向通話最典型的成因之一。

處理方法有幾個方向。話機或電話系統可設定對外公佈的公網位址,令 SDP 內容正確;或由會話邊界控制器(Session Border Controller)在邊界代為改寫位址並轉送語音。部分路由器內建的 SIP 輔助功能亦會嘗試改寫 SDP,但若改寫邏輯與電話系統的處理方式重疊或衝突,反而會製造出原本不存在的單向問題。

編碼協商亦可能造成無聲。雙方若沒有共同支援的編碼格式,或一方接受了自己實際上無法解碼的格式,通話會顯示接通而其中一方聽不到內容。排查時應核對兩端的編碼設定,先統一為雙方都確定支援的基本格式測試。

防火牆與QoS的單向規則

防火牆與流量管理設定亦會造成方向性的差異,以下是幾類常見情況。

檢查防火牆時,重點不是「有沒有放行 SIP」,而是「語音連接埠範圍在兩個方向是否都放行」。這個分別,正是單向通話與完全無法撥號的差異所在。

分辨方向與實測排查步驟

排查單向通話,第一步是確定哪一個方向沒有聲音,並縮小範圍。

封包數目這一項最值得重視。接收為零與接收正常但無聲,是兩種完全不同的故障:前者是傳輸路徑問題,後者更可能是編碼、加密或話機音訊設定問題。分清兩者可以省下大量時間。

香港寬頻環境的實際情況

香港的寬頻與樓宇環境,令單向通話有幾種本地常見成因。

通訊事務管理局辦公室亦提醒,IP 電話的話音訊息部分或全部透過互聯網傳送,服務質素可能不受服務供應商控制,用戶應向供應商查詢服務質素詳情。這一點在排查單向通話時值得記住:問題未必在辦公室內部,亦可能在中途的網絡路徑。

常見問題

為何電話可以接通但只有一方聽到聲音?
接通代表SIP訊號正常,聽不到聲音代表承載語音的RTP封包在某一方向沒有到達。兩者走不同路徑、用不同連接埠,因此可以出現接通而單向無聲的情況。
單向通話最常見的原因是甚麼?
最常見是網絡位址轉譯令回程語音無法送回話機,以及SDP中填寫了內部私有位址令對方把語音送往不可路由的位址。兩者都會造成明確的方向性無聲。
為何通話開頭數秒沒有聲音,之後就正常?
話機尚未送出語音封包時,路由器的對應紀錄還未建立,該段時間內對方送來的語音會被丟棄。紀錄建立後聲音便恢復,因此症狀只出現在通話開頭。
路由器的SIP輔助功能應否開啟?
沒有一律的答案。若電話系統本身已正確處理位址,輔助功能的改寫屬多餘,可能把正確位址改錯而製造單向問題。應與電話服務供應商確認建議設定,再逐項測試。
如何確認語音封包有沒有到達?
查看話機或電話系統的通話統計,當中通常顯示收發封包數目。某一方向的接收封包為零,即證實該方向語音從未到達;接收正常而仍然無聲,則更可能是編碼、加密或話機音訊設定問題。
內線互撥正常,只有外線單向,代表甚麼?
代表內部網絡與話機沒有問題,故障在網絡邊界,通常是路由器的位址轉譯設定、防火牆的語音連接埠範圍,或SDP位址公佈方式。排查應集中在邊界設備。
上載頻寬不足會造成單向通話嗎?
會。上載被其他應用佔滿時,我方送出的語音會丟包,對方便聽不到我方。備份上傳與雲端同步是常見爭用來源,宜為語音流量設定優先權。
語音加密設定不一致會造成無聲嗎?
會。若一端要求加密語音而另一端送出未加密封包,封包會被丟棄。RFC 3711定義的SRTP是常用加密方式,兩端設定必須一致,只改一邊會出現接通而無聲。

需要升級電話系統?

我們可以提供免費諮詢與報價。

免費報價

權威參考來源

相關技術主題

若閣下正計劃相關工程或需要選購設備,歡迎瀏覽電話系統工程了解方案詳情,或透過網上快速報價與我們的工程師聯絡。

產品規格以原廠最新文件為準;有需要請聯絡我們工程師。