您當(dāng)前的位置是:  首頁(yè) > 新聞 > 國(guó)內(nèi) >
 首頁(yè) > 新聞 > 國(guó)內(nèi) >

SIP講座系列-各種SIP服務(wù)器介紹

2017-10-11 10:20:26   作者:james.zhu   來(lái)源:asterisk   評(píng)論:0  點(diǎn)擊:


  在前面的章節(jié)中,我們介紹了SIP的技術(shù)架構(gòu)。在技術(shù)架構(gòu)中,架構(gòu)核心的服務(wù)器表演著非常重要的功能,通過(guò)這些功能服務(wù)器之間的互相交換,實(shí)現(xiàn)對(duì)終端業(yè)務(wù)的最終控制,F(xiàn)在我們介紹一下幾個(gè)主要的SIP功能服務(wù)器的各自特點(diǎn)。
  1、SIP Registration
  SIP 注冊(cè)服務(wù)器是終端用戶實(shí)現(xiàn)注冊(cè)功能,認(rèn)證相關(guān)功能所必須的一步,通過(guò)SIP成功驗(yàn)證,可以完成對(duì)終端功能所進(jìn)行的驗(yàn)證,允許用戶執(zhí)行相關(guān)的功能支持。用戶可以參考RFC 3840 中的contact的功能描述,了解完整的功能支持列表。用戶的終端啟動(dòng)以后,SIP電話注冊(cè)時(shí),用戶可以通過(guò)檢查Registration的注冊(cè)包的Contac的消息中看到用戶終端所顯示的功能狀態(tài)信息。例如,圖例中的mobility表示是一臺(tái)固定終端支持audio,actor=principal表示是一個(gè)人。
  持。用戶可以參考RFC 3840 中的contact的功能描述,了解完整的功能支持列表。用戶的終端啟動(dòng)以后,SIP電話注冊(cè)時(shí),用戶可以通過(guò)檢查Registration的注冊(cè)包的Contac的消息中看到用戶終端所顯示的功能狀態(tài)信息。例如,圖例中的mobility表示是一臺(tái)固定終端支持audio,actor=principal表示是一個(gè)人。
  2、SIP Re-registration
  通過(guò)字面的意思讀者也可以了解到,終端的形式或者狀態(tài)發(fā)送了改變以后,需要重新注冊(cè)(同樣一個(gè)帳號(hào),可能原來(lái)是物理終端,現(xiàn)在換成了軟電話形式或者在家辦公),執(zhí)行所謂的Re-registration 流程,保證終端用戶可以再次執(zhí)行所支持的功能。
  3、SIP proxy server
  SIP proxy 服務(wù)器是用來(lái)轉(zhuǎn)發(fā)請(qǐng)求到下一個(gè)服務(wù)器,它可以解析請(qǐng)求消息,如果有必要的話,它也rewrite 請(qǐng)求消息,然后轉(zhuǎn)發(fā)到下一個(gè)服務(wù)器。當(dāng)然,它也可以發(fā)起請(qǐng)求和響應(yīng)消息,可以作為客戶端或服務(wù)器端使用。
  典型的SIP Proxy 之間的終端呼叫流程如下:
  它支持兩種狀態(tài)的處理:
  • Stateful Proxy: 簡(jiǎn)單來(lái)說(shuō),它可以保持或記憶所有進(jìn)入的會(huì)話和出去的會(huì)話。當(dāng)然,此場(chǎng)景可以支持多種業(yè)務(wù)處理,例如,計(jì)費(fèi),呼叫/忙狀態(tài)響應(yīng)等等業(yè)務(wù)。如果用戶使用Kamailio的話,這些狀態(tài)信息都存儲(chǔ)在內(nèi)存中。

  • Stateless Proxy:簡(jiǎn)單來(lái)說(shuō),一旦生成新的出局的請(qǐng)求,馬上清除所有經(jīng)過(guò)(歷史)的會(huì)話。此場(chǎng)景可用于大并發(fā)場(chǎng)景,proxy處理的流程比較簡(jiǎn)單。更多的作用在于呼叫的均衡負(fù)載處理或者重定位的處理。Proxy 負(fù)責(zé)查詢到終端用戶的信息,然后呼叫方再次對(duì)被呼叫方再次發(fā)起一個(gè)INVITE,然后進(jìn)行對(duì)對(duì)點(diǎn)呼叫,降低了Proxy的負(fù)載,最終提高了并發(fā)量的處理。
  • 比較簡(jiǎn)單通俗的比喻是:Stateless Proxy是一個(gè)網(wǎng)絡(luò)中的switch,它實(shí)現(xiàn)簡(jiǎn)單的轉(zhuǎn)發(fā)處理;而Stateful Proxy是一個(gè)網(wǎng)絡(luò)防火墻,它則可以對(duì)SIP header實(shí)現(xiàn)查看,修改,路由,涉及到了SIP dialog 和BYE整個(gè)過(guò)程處理。
  4、Location Server
  一般來(lái)說(shuō),我們通常很難發(fā)現(xiàn)一個(gè)物理的Location 服務(wù)器,事實(shí)上,市場(chǎng)上很多公司提供這樣的解決方案。Location 服務(wù)器的作用在于通過(guò)location 服務(wù)器的數(shù)據(jù)庫(kù)查找用戶的服務(wù)器所屬信息,它用來(lái)支持SIP Proxy和重定向服務(wù)器的邏輯處理。它可以提供對(duì)proxy 服務(wù)器和注冊(cè)服務(wù)器的以下要求:
  • 注冊(cè)服務(wù)器通過(guò)查詢Location 服務(wù)器來(lái)獲得客戶端的注冊(cè)消息。
  • Proxy 服務(wù)器可以通過(guò)Location 服務(wù)器數(shù)據(jù)庫(kù)查詢所提供的服務(wù)消息,如果獲得了SIP URL和SIP INVITE消息以后,則發(fā)送此消息到目的地地址。
  • 事實(shí)上,Location 服務(wù)器提供了多種查詢服務(wù)來(lái)查詢最終客戶端的信息,它可以支持LDAP協(xié)議查找,也可以支持DNS服務(wù)器來(lái)查找。
  以下討論介紹了一個(gè)如何實(shí)現(xiàn)DNS查找來(lái)呼叫另外一個(gè)終端的實(shí)現(xiàn)路徑:首先客戶A 對(duì)客戶B 通過(guò)Proxy 服務(wù)器發(fā)起一個(gè)INVITE 消息,Proxy服務(wù)器通過(guò)DNS服務(wù)器查詢這個(gè)客戶B的URL地址,DNS通過(guò)URL地址查詢到IP地址以后,回復(fù)給Proxy服務(wù)器,Proxy服務(wù)器然后對(duì)此IP地址發(fā)起一個(gè)INVITE 請(qǐng)求,此Proxy根據(jù)所屬用戶地址對(duì)終端B 發(fā)起一個(gè)INVITE 請(qǐng)求,最終實(shí)現(xiàn)呼叫流程。
  我們?cè)诒菊鹿?jié)中介紹了幾種服務(wù)器的類型和各自扮演的角色。在實(shí)際場(chǎng)景中可能幾個(gè)服務(wù)器都集合為一臺(tái)服務(wù)器來(lái)實(shí)現(xiàn)某些功能。用戶可以根據(jù)自己的需求做進(jìn)一步的分析和學(xué)習(xí)。
  關(guān)注公眾微信號(hào):asterisk-cn 獲得更多有價(jià)值的企業(yè)通信行業(yè)技術(shù)分享,訪問技術(shù)論壇獲得技術(shù)幫助:www.issabel.cn/forum
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專題