前期,文中為大家簡單介紹了SIP協議的基本信息及優勢,是SIP協議系列的基礎知識分享。
此文以SIP協議后期涉及的拓展知識為主,旨在通過“知識平面”搭建以幫助后期高層次知識的消化理解。相關知識點包括:
關于用戶代理的定義使用;
SIP呼叫中的dialog的定義;
SIP核心技術架構介紹。
01
SIP用戶代理-UA
SIP協議中,有幾個非常重要的邏輯概念需要了解。
其中涉及到了具體的呼叫發起和接收的流程和實體(呼叫參與者)且經常出現在各種關于SIP協議的介紹中,包括:
用戶代理客戶端(User Agent Client (UAC));
用戶代理服務器端(User Agent Server (UAS));
用戶代理(User Agent (UA))。
背景說明
在SIP官方早期規范版本(RFC2543)中,以上三個定義和SIP當前使用的版本(RFC3261)中關于以上三個定義有了一定的區別,同時在RFC3261中增加了Back-to-Back User Agent(B2BUA-背靠背代理)的新定義,這是SIP協議一個非常大的突破。
繼而經過短短3年技術發展,SIP協議又變得非常具體化,對某些定義有了新的更新。特別是在RFC3261中增加了Back-to-Back User Agent(B2BUA-背靠背代理)。
當然,B2BUA也讓很多SIP協議初學者非常困惑。如果讀者需要進一步了解關于B2BUA的話,除了參考RFC3261以外,讀者也應該查閱B2BUA的定義-RFC7091。在RFC7091中對B2BUA有著非常明確的定義。
從早期SIP協議RFC2543和當前SIP版本RFC3261中我們可以看出,在目前使用的SIP規范中更加細化了UAC和UAS以及相關的core的定義。另外,其描述也發生了很多變化,例如,邏輯實體的描述的引入,而不是籠統稱之為application。再例如,增加了B2BUA的定義,并且明確了B2BUA的4種角色(參考RFC7091,包括其中一個角色SBC)。
通過以上背景說明,我們按照相對比較官方的定義-RFC3261,重點針對用戶代理客戶端,用戶代理服務器端和用戶代理加以簡單介紹。
根據RFC3261規范定義,UA,UAC和UAS分別負責各自的任務,同時在必要時做角色切換任務。
UA(User Agent) :
日常說到的UA是用戶代理,一個邏輯實體,這里通常是抽象的一個總稱(UAC和UAS)。
兩者之間的具體特點如下:
1
UAC(User Agent Client)
用戶代理客戶端,它是一個邏輯實體,生成請求。如果它收到請求,它會假設自己為UAS做進一步的UAS流程處理。
2
UAS(User Agent Server)
用戶代理服務器端,它是一個邏輯實體,它針對請求生成響應。如果它發起請求,它會假設自己為UAC做進一步的UAC流程處理。
綜上說明可了解,UA是高于以上兩種實體,并且可以在必要時充當其任何一種角色的。
進一步講,我們稍晚將提到的B2BUA就是其角色延伸,為了同時滿足以上兩種用戶代理的功能要求,它必須時刻進行角色切換產生請求,產生響應響應。
SO
兩個簡單SIP終端是否可直接呼叫?
在純SIP一般的同一網絡環境中,兩個SIP終端可以不需要任何中間服務器,或者媒體服務器包括我們經常討論的IPPBX,兩個SIP終端仍然可以直接通過輸入對方的IP地址實現呼叫。
但是,這種操作流程對一般的企業通信業務沒有非常大的意義,一般用戶也不會這樣操作。
首先,IP地址不方便記憶,IP地址有時可能發生變化,同時在物理話機直接輸入IP地址也比較麻煩。
因此,這種操作在理論上可以實現,在實際業務操作中,呼叫一般都是通過中間服務器注冊,然后通過設置的號碼對對方呼叫。
?^?^
02
關于SIP dialog
在SIP呼叫過程中,dialog關系到整個呼叫的實現。
它用來關聯雙方呼叫端的關系。另外,在呼叫過程中,還要涉及事務的關聯。
關于dialog,查看“再論SIP呼叫中的Call,Dialog和Transaction”了解其基本含義,有助于我們進行后續章節的討論。
?^?^
03
SIP 系統技術架構
本質上SIP協議基本涉及的是運營的呼叫環境,所以在絕大部分的具體的環境中,一般示例都是以代理呼叫的處理流程來介紹RFC3261協議,而非企業用戶使用的B2BUA的IPPBX方式。
另外,在當前的應用環境中,企業通信系統或者SIP/IP PBX有經常使用媒體服務器的應用,因此,很多功能支持方面就相互交叉,非常靈活,這就帶來了新的學習難度。
通過SIP系統技術架構圖例可以看出,在整個系統架構中,比較核心的模塊包括以下幾個部分:
1
UA 終端,User Agent 可以是軟電話、手機app、物理話機等SIP終端;
2
兩個SIP代理服務器,負責發現UA,并且在它們之間創建會話流程;
3
SIP注冊服務處理UA在網絡中的注冊;
4
SIP定位服務,包括已注冊的UA消息,和其定位消息。很多時候,注冊服務和定位服務可能是同一服務器;
3
VOIP/SIP gateway負責處理SIP網絡和傳統PSTN網絡的信令轉換;
6
IPPBX/傳統PBX負責處理PBX的終端;
7
IP PBX終端包傳統物理FXS話機、SIP話機和傳真機等;
8
傳統PBX連接PSTN電信運營商;
在終端的連接方面,SIP用戶是通過URI或者AOR地址進行確認的,通過URI地址可以和各種終端進行通信。
一個URI可以綁定多個終端,可以支持APP,軟電話和物理SIP終端等形式。
SIP的URI格式看起來和我們通常使用的email格式相同,其格式基本構成為user@host的形式。user可以是用戶名稱或者電話號碼格式,host可以是域名或者IP地址格式。
user可以通過DNS服務來實現語音,視頻,郵件等能力的支持。具體的示例如下:
可先基本了解以下協議輔助SIP協議的深入內容:
- RFC3261-SIP核心規范
- RFC3515-REFER
- RFC3372-SIP-T
- RFC3311-UPDATE
- RFC3264-SDP
- RFC3891-REPLACES
- RFC3428-SIMPLE
04
總結
本文介紹了UA以及UAS,UAC的基本定義和關于SIP協議中兩個版本中的一些區別,重點說明了關于背靠背代理的定義以及其靈活性,此外還有SIP協議中比較重要的核心概念、dialog的示例以及SIP系統技術架構的結果重要模塊。
通過以上基本的介紹,大家可能會對SIP技術有一個基本的脈絡,方便我們在后續的章節中更加詳細介紹SIP注冊服務器,定位服務器等內容的介紹。
-
SIP協議
+關注
關注
0文章
19瀏覽量
11336
發布評論請先 登錄
相關推薦
評論