實現了乙個Full Proxy SIP伺服器

2021-05-28 09:22:08 字數 696 閱讀 5113

如果伺服器部署在公網,分機在內網,則存在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暫時是收費的。

乙個學期又要結束了!

時而忙碌 時而空閒,但是時間永遠不會停止。如何讓生活過得有意義?如何把握現在的時間?如何為未來留下資本?這些可能是很多人,包括我自己在內,經常思考的問題。我討厭浪費時間,但人的工作時間總是有限的,不可能24小時工作,總有累的時候,總有厭煩的時候,總有想像不到的事情發生。為什麼我每次計畫的很好,但又有...

解決了乙個小問題

原來在debian上使用mplayer w32codecs一直彈出 error could not open required directshow codec drvc.so 的惱人的小問題,今天google了一下,參照fc6下mplayer安裝 執行 發現也有乙個類似libstdc so.5 n...

修正了版本管理實現中的乙個bug

按先前的方法 copy當前版本資料,修改versionid為系統預留id後再插入,uc的id已不在是原來的id,按versionid過濾後看不到原來的uc資料 之所以這樣做 是想偷懶,直接將歷史記錄維護在主表中 正確的做法是 歷史記錄維護在history表中,主表永遠是當前最新版本資料 系統預留ve...