一旦我終止 SIP 應用程序,路由器就會斷開連接

一旦我終止 SIP 應用程序,路由器就會斷開連接

這是一個有趣的例子,我有一個 SIP VoIP 應用程序,它能夠註冊到 PBX 伺服器,我可以邀請並在被叫端接收邀請時看到用戶呼叫,並且在主叫端我看到振鈴響應。 ..現在這是有趣的部分,如果我關閉我的應用程式而沒有向伺服器發送任何通知,我的路由器將在一小會兒(30 - 150 秒)後斷開連接並重新啟動。如果我完成 ACK BYE 過程,我可以解決這個問題,但我只是想知道為什麼我的路由器掛起?

有任何想法嗎?

我的路由器是 TNN-Siemens SL2-141,認為這可能很重要

更新: 這是我發現的:

SIP ALG 讓 VoIP 用戶端透過此路由器同時撥打兩個或多個 VoIP 電話。

這意味著如果我禁用它,我將無法進行我正在努力做的測試,並且由於我無法訪問另一個路由器,所以我必須用錯誤來處理它......

我可以說,當一個用戶連接時,這種情況從未發生在我身上,但話又說回來,當時我沒有任何人可以邀請,當我嘗試邀請一位虛構用戶時,我收到了來自SIP UAS 503 的消息。只有當我連接第二個 SIP UAC 並邀請它並關閉應用程式後,才會出現此錯誤。

亞當。

答案1

我唯一能想到的是如果你的路由器有SIP應用層網關當它沒有得到 ACK 時,由於其中的一些錯誤而崩潰。如果您的路由器確實有 SIP ALG,您應該嘗試找到一種方法將其關閉。現在人們普遍認為 SIP ALG 是個壞消息,它造成的問題比它們解決的問題多得多。

更新:如果您正在編寫自己的 SIP 應用程式並且您位於 ALG 後面,那麼您將很難追蹤問題,因為您永遠無法確定您發送的 SIP 資料包是否是正在接收的資料包。嘗試關閉 SIP ALG 並確保網路一側的 SIP 設備使用不同的端口,即將它們設置為不使用端口 5060 作為本地端口。這樣,路由器不必參與任何特定行為即可允許 SIP 流量適用於多個裝置。

相關內容