sip與openser的關係

libingking發表於2016-06-30

轉載自http://www.cnblogs.com/my_life/articles/2332648.html

如果你是搞IP電話的,可能你還沒有聽說過OpenSER,但是你一定聽說過Asterisk。嗯,我喜歡爭論,我在論壇上已經看到了很多這樣的爭論。確實是很容易搞混淆。所以我斗膽在這裡對這兩個廣泛應用的VoIP產品進行比較。這並不是要評價哪個更好,而是要比較兩者之間的區別,下面就是逐項對比。 

架構Architecture 
        Asterisk是一個背對背使用者代理,而OpenSER是一個SIP代理伺服器。這就決定了它們二者之間的所有區別。SIP代理伺服器比B2BUA要快,因為它只處理信令。另外一方面,B2BUA雖然很慢,但是能處理媒體,提供SIP代理伺服器不能提供的服務,比如編碼轉換(G729,G.711),協議轉換(SIP,H323)以及與媒體有關的服務例如IVR,佇列Queuing,語音合成,語音識別等。 
網路穿透Nat Traversal 
        OpenSER 在NAT防火牆穿透方面比 Asterisk更好。使用OpenSER,一般情況下你可以直接從你的客戶端傳送媒體流到運營商 (不對稱NAT)。直接操作 SIP協議可以實現一些特殊的功能,比如兩個客戶同時位於同一個NAT裝置後面又想互相直接傳送媒體。 
負荷分擔Load Balancing 
        OpenSER有特殊的負荷分擔計算方法。因此,可以通過 “ruri”, “username”, “call-id” 和其他的一些屬性來載入負荷。可以使用轉發訊息來從負載分擔機器佔用很少的資源。失效備援Failover也是這個方案的一部分——這個你從Asterisk裡看不到——兩者是互補的。通過訪問底層的SIP頭和事務訊息,OpenSER讓你能夠訪問SIP協議的底層。你可以處理所有的request請求和 response響應訊息。所以這就可以在兩個不同版本的SIP之間翻譯訊息,直接處理SIP頭 header, 請求request 和響應 response。 一個重要的功能是,有時你從不同的製造商,SIP實現彼此不相容。 
計費軟體整合 
        OpenSER已經內建了與LDAP, Radius 和 Diameter等的整合。也可以和 Asterisk整合,OpenSER的部署是用C開發的,作為一個模組來整合,是OpenSER發行版的一部分。(不需要 perl,不需要  python,不需要其他第三方模組)。 
電信級路由 
        CARRIER ROUTE 採用了精確的運算來路由呼叫到PSTN。有時VoIP提供商有超過4萬個路由表,這樣的案子你顯然需要一個特別的路由模組來提供故障恢復、黑名單以及VoIP運營商指定的其他功能。 
        分機通話時,若註冊 SIP Proxy,網路傳遞的語音流不會經過主機,所以在主機相同的網路頻寬下,SIP Proxy 服務人數更多,可達千人以上。 
媒體服務Media Services 
        OpenSER是一個SIP Proxy,沒有任何媒體相關服務的能力。所以不能使用OpenSER來搭建像VoiceMail, IVR, TTS 和語音識別這樣的系統。然而,它可以使用一個獨立的媒體伺服器(比如Asterisk, Yate和 FreeSwitch)來整合一個這樣的系統。這是設計使然,而且這也是SIP協議在標準裡定義的方法(RFC3261)。  
接入電信網路Connectivity to the PSTN 
        OpenSER 通常需要一個SIP閘道器才能接入到PSTN。不能插電話語音卡到伺服器上來接入PSTN。很多案例裡都是使用Asterisk作為OpenSER接入PSTN的閘道器 
結論Conclusion 
        I love this discussion, because Asterisk and OpenSER completes one another. OpenSER provides rock solid SIP services to VoIP providers, it is capable to handle large volumes of calls, to loadbalance SIP, to solve advanced NAT scenarios and to deal with SIPsignaling as no other. Asterisk is a B2BUA, very strong in the PBX market. It is simpler to configure and can handle low to medium volumes. Asterisk can be used as a “single box does it all”, whileOpenSER requires all the architectural components of SIP to work.OpenSER is a “hit” in the VoIP provider market and in Universities.Asterisk PBX is a success in the IP PBX market, and it is getting apiece of the small to medium VoIP providers. Usually you start usingOpenSER when you have some special need, such as load balancing or when you have large volumes such as more than a thousand registered users。明智地選擇。

相關文章