實現了一個Full Proxy SIP服務器

簡單的完成SIP客戶端註冊和消息轉發到服務器,媒體流不必關心,由客戶端之間直接rtp,這類服務器較容易實現,收費的產品如mixiSipServer(老外開發的,較爲常見),我寫的免費LxjSipServer(沒有路數限制,無需安裝,沒有廣告,在這裏可以免費下載:http://www.bluespace.com.cn/koodoo/download/LxjSipServer.rar)。

如果服務器部署在公網,分機在內網,則存在NAT穿透的問題,解決這個古老問題的辦法一般是要求客戶端支持STUN。

問題來了:1、不是所有的sip客戶端都支持STUN;2、STUN不能解決全部NAT或防火牆問題,比如對稱NAT就不行;3、對於一個呼叫中心,一部分座席在內網,一部分遠程座席在外網,實際上內網座席不需要設置STUN,帶來設置的混亂,而且即使這樣,內網分機也沒辦法和外網座分機話。


解決這個問題的辦法是Full Proxy SIP服務器。

所謂Full Proxy,是客戶端的信令和媒體流都發給他,由他來進行轉發。這種模式能解決幾乎所有的NAT問題,但要求服務器本身有足夠的帶寬。


客戶端1 ---SIP消息和RTP媒體---> FullProxy ---SIP消息和RTP媒體--->客戶端2


實現要點:

1、FullProxy要有註冊服務器功能,接受SIP客戶端註冊,記錄客戶端的真實地址比如公網地址和端口;

2、FullProxy同時實現成一個B2B即背靠背服務器,進行媒體轉發。

3、在接受rtp的時候,如果偵測到對端地址(協議-ip-端口)和SDP的不一致,採用實際的進行rtp發送。

4、在帶寬允許的情況下,要能實現大規模併發,比如2000路的併發。


經過用戶實際測試,效果很好,FullProxy很有效地抹平了內外網的鴻溝。
因爲是在藍星際平臺的基礎上實現的,這個藍星際FullProxy暫時是收費的。

 

發佈了102 篇原創文章 · 獲贊 14 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章