2015-06-10 34 views
0

我正在嘗試使用Jain SIP來創建一個SIP用戶代理,它可以接收INVITE/ACK/BYE,並在必要時發回SDP響應。Jain sip返回481收到了再見請求

它可以接收INVITE,發送OK響應,接收ACK,然後執行RTP數據包傳輸。但是當它從另一邊收到BYE時,Jain Sip本身將會拋出一個481。

我通過使用SipProvider.sendResponse(響應)無狀態地發送響應。事實證明,如果我切換到有狀態(從傳入請求getNewServerTransaction,然後使用SipServerTransaction.sendResponse),一切正常。所以我想知道他們之間有什麼區別?無論如何,我可以無國界做到這一點嗎?

回答

0

基本上有狀態時,JAIN-SIP堆棧分配自己的資源來運行事務和對話的SIP狀態機。正如你可以想象,如果你只是部分打電話,它會失控。我的猜測是你打開了自動對話框支持,你以某種方式混合了有狀態和無狀態模式。如果你想去無狀態,確保沒有自動對話框。調試的最佳方法是查看DEBUG日誌和代碼。

+0

非常感謝!這解釋了一切。 – hardier