中文字幕在线视频第一页,黄色毛片在线看,日本爱爱网站,亚洲系列中文字幕一区二区

您當前的位置是:  首頁 > 新聞 > 國內 >
 首頁 > 新聞 > 國內 >

關于Kamailio、SBC和SIP服務器的誤解

2018-10-29 13:48:39   作者:james.zhu   來源:CTI論壇   評論:0  點擊:


  很多語音開發(fā)的用戶有很多的疑問,對于SBC的給你,功能,以及開源SIP軟交換有著非常多的,不準確的理解。同時,網(wǎng)上有很多的文章文檔確實分享了很多SBC,利用開源軟交換做SBC的資料。筆者在幾年前對SBC專門寫過一篇非常完整的文章介紹SBC的作用和其功能,如果用戶不熟悉的話,可以到網(wǎng)上查找,也可以到我們的鏈接來獲得進一步的學習。什么是SBC,以下是一個非常明了的定義:
  • https://wiki.freepbx.org/display/SBC/Theory+of+Operation
  • Session // 實時交互的會話,語音,視頻,多媒體會話,協(xié)議會話
  • Real time interactive communications
  • Voice, Video, multimedia
  • SIP or H323 Signaling
  • Border // 邊界, IP邊界,SIP用戶邊界,公司網(wǎng)絡邊界
  • IP to IP network border
  • SIP trunks to service providers
  • Remote worker access
  • Internal Enterprise / External Enteprise
  • Control  // 安全控制,計費路由控制,協(xié)議標準控制
  • Security & SLA assurance
  • Revenue & cost optimization
  • Compliance
  這里,筆者不在對SBC的功能做太多介紹,僅針對SBC和SIP的區(qū)別做一個簡單說明,同時針對是否可以使用Kamailio做SBC做一點介紹。
  首先我們通過兩張圖例說明一下什么是SBC,什么是SIP服務器。以下圖例是一個SBC的架構說明。這里,我們可以看到,在SBC的架構中,我們需要一個B2BUA來負責處理SIP和RTP的相關技術流程和業(yè)務流程。這里的B2BUA需要處理非常復雜的業(yè)務流程,例如,電話錄音,計費,編碼轉換等。



UAS和UAC
  SBC具體的使用場景是這樣的:
  以下是一個SIP服務器的架構,當然,這里的SIP 應用程序可以是Asterisk,F(xiàn)reeSWITCH或者其他第三方的SIP應用媒體服務器。這里的SIP模塊僅對SIP頭做處理,它并沒有涉及RTP的處理。
  通過以上兩張簡單示例圖,我們可以看出關于SBC和SIP服務器的本質上的區(qū)別。如果讀者仍然不太清楚的話,需要惡補什么是proxy和B2BUA的基本知識。另外,筆者在以前的分享比較中有非常完整的介紹,用戶可以參考。因此,我們這里可以對SBC和SIP服務器簡單總結為以下幾點:
  通常情況下,SBC需要B2BUA的功能來實現(xiàn)。B2BUA可以支持更多的SIP 防攻擊功能,拓撲隱藏功能,編碼轉換處理的功能。一般情況下,根據(jù)RFC的定義,SIP 服務器只能做注冊,定位,呼叫路由功能,逃生功能等SIP相關功能。
  通常情況下,用戶部署SBC需要在DMZ中設置,需要WAN和LAN口配置。這樣的話,通過SBC和內網(wǎng)的SIP 媒體服務器對接就會隱藏了SIP應用服務器的網(wǎng)絡部署,起到了拓撲隱藏的功能。如果沒有SBC的支持的話,用戶則需要直接在DMZ網(wǎng)絡中配置SIP服務器,這樣會導致SIP網(wǎng)絡被暴露在公網(wǎng),安全性就會出現(xiàn)問題。所以,基于SIP服務器的這種部署方式對拓撲隱藏或者網(wǎng)絡隱藏基本上都很難實現(xiàn),會導致嚴重的安全問題。
  Kamalio是一個SIP 服務器,Kamailio可以實現(xiàn)部分SBC功能。讀者需要注意,我們這里強調的部分功能。具體到實際部署環(huán)境時,用戶究竟需要SBC的什么功能,用戶需要自己判斷。筆者不想做過多的討論。根據(jù)上面的介紹中,我們可以得知,SIP服務器可以支持部分SBC的功能,但是不能完全實現(xiàn)SBC的市場上認可的SBC功能,例如,SBC多必須編碼轉換的功能,或者錄音等SBC必須的功能。當然,用戶可以通過kamailio 實現(xiàn)SBC的注冊,路由等簡單功能。
  現(xiàn)在,我們開始討論第二個問題,Kamalio是否支持了SBC功能。其實,在上面的介紹中,我們已經(jīng)討論了這個問題。Kamailio可以實現(xiàn)部分SBC的簡單功能。在目前的發(fā)行版本中,kamailio也沒有計劃支持b2BUA的模式。因此,理論上來說,Kamailio不能支持真正意義上的SBC功能,也沒有支持B2BUA的模塊。當然,Kamailio可以通過其他方式,例如UAC模塊來實現(xiàn),這里不做討論。在2016年,官方在這個問題上就有很多的討論,根據(jù)官方討論的結果,我們匯總了以下幾點:
  • B2BUA的模塊可以借助第三方來實現(xiàn)。
  • 增加B2BUA模塊會增加kamailio 服務器的負載,影響Kamailio的執(zhí)行性能。
  • 如果增加B2BUA功能的話,需要增加很多B2BUA的其他功能,會導致平臺發(fā)展問題。
  • 因為時間和精力的原因,官方開發(fā)人員歡迎第三方開發(fā)人員提供B2BUA模塊的代碼支持。
  通過以上簡單分析,我們可以看到,SBC具有非常豐富的對SIP管理的功能,而SIP服務器僅能實現(xiàn)部分SBC功能。Kamalio可以SBC的部分功能,不具備B2BUA功能,因此不能支持完整的SBC必要功能,并且,官方開發(fā)人員目前沒有開發(fā)計劃來支持SBC模塊。因為SBC,SIP在概念上存在很多重復的地方,因此,我們討論的空間也很大。但是,筆者認為,為了避免客戶被忽悠,我們還是要從目前的SBC使用場景和產(chǎn)品本身來討論問題,避免用戶對SBC產(chǎn)品選型上出現(xiàn)的各種誤解,幫助用戶獲得一個權威專業(yè)靠譜的解決方案。
  鏈接:
  為什么使用SBC,各種SBC的使用場景:
  SBC http://freepbx.org.cn/wiki/index.php?title=SBC%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF
  是否增加Kamalio 對SBC 的模塊支持,官方的郵件討論:
  https://lists.kamailio.org/pipermail/sr-users/2016-March/thread.html#92075
  https://blog.telcobridges.com/index.php/2018/10/26/sbc-vs-sip-server-what-is-the-difference/
  https://likewise.am/2013/03/10/kamailio-as-an-sbc-session-border-controller/
  什么是S,B,C:
  https://wiki.freepbx.org/display/SBC/Theory+of+Operation


  MRCP協(xié)議呼叫中心機器人客服開發(fā)學習分享,QQ群號:208136295
  關注微信公眾號:asterisk-cn,獲得有價值的Asterisk行業(yè)分享
  Asterisk freepbx 中文官方論壇:http://bbs.freepbx.cn/forum.php
  Asterisk freepbx技術文檔: www.freepbx.org.cn
  融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com
  Asterisk/FreePBX中國官方合作伙伴
【免責聲明】本文僅代表作者本人觀點,與CTI論壇無關。CTI論壇對文中陳述、觀點判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

專題

微山县| 鹿泉市| 始兴县| 筠连县| 安福县| 凭祥市| 基隆市| 中阳县| 南宫市| 昆明市| 军事| 长垣县| 高邑县| 永宁县| 红原县| 皮山县| 太白县| 深圳市| 金川县| 白河县| 福建省| 崇文区| 威信县| 亚东县| 平湖市| 彭州市| 清水县| 桐柏县| 大竹县| 阿拉善左旗| 湛江市| 吴旗县| 罗山县| 札达县| 鹤庆县| 屯留县| 昭平县| 环江| 屯昌县| 鄂托克前旗| 鹿邑县|