主頁(http://www.by236.com):SIP服務器(2) 編輯本段工作原理
SIP服務器是IP PBX的主要組件,負責建立網絡中所有的SIP電話通話。SIP服務器也叫SIP代理服務器或注冊服務器。
通常情況下,SIP服務器不參與媒體處理過程。在SIP網絡中,媒體一般總是采用端到端協商的處理方式。在某些特殊情況或者業務處理中,例如Music On Hold,SIP服務器也會主動參與媒體協商。
簡單的SIP服務器只負責會話的建立、維護和清除,不過多干涉呼叫。而相對比較復雜的SIP服務器,一般又稱為SIP PBX,則不僅僅提供對基本呼叫、基本會話的支持,還提供豐富的業務,例如Presence、Find-me、Music On Hold等等。
大部分SIP服務器都是基于linux平臺,典型代表為:OpenSER、sipXecx等。
也有部分SIP服務器是基于windows平臺,典型代表為:miniSipServer、Brekeke等。
編輯本段服務實現
SIP是一個分層結構的協議,這意味著它的行為根據一組平等獨立的處理階段來描述,每一階段之間只是奇偶合。協議分層描述是為了表達,從而允許功能的描述可在一個部分跨越幾個元素。它不指定任何方式的實現。當我們說某元素包含某層,我們是指它順從該層定義的規則集。
不是協議規定的每個元素都包含各層。而且,由SIP規定的元素是邏輯元素,不是物理元素。一個物理實現可以選擇作為不同的邏輯元素,甚至可能在一個個事務的基礎上。
SIP的最底層是語法和編碼。它的編碼使用增強Backus-Nayr形式語法(BNF)來規定。
第二層是傳輸層。它定義了網絡上一個客戶機如何發送請求和接收響應以及一個服務器如何接收請求和發送響應。所有的SIP元素包含傳輸層。
第三層是事務層。事務是SIP的基本元素。一個事務是由客戶機事務發送給服務器事務的請求(使用傳輸層),以及對應該請求的從服務器事務發送回客戶機的所有響應組成。事務層處理應用層重傳,匹配響應到請求,以及應用層超時。任何用戶代理客戶機(UAC)完成的任務使用一組事務產生。用戶代理包含一個事務層,有狀態的代理也有。無狀態的代理不包含事務層。事務層具有客戶機組成部分(稱為客戶機事務)和服務器組成部分(稱為服務器事務),每個代表有限的狀態機,它被構造來處理特定的請求。
事務層之上的層稱為事務用戶(TU)。每個SIP實體,除了無狀態代理,都是事務用戶。當一個TU希望發送請求,它生成一個客戶機事務實例并且向它傳遞請求和IP地址,端口,和用來發送請求的傳輸機制。一個TU生成客戶機事務也能夠刪除它。當客戶機取消一個事務時,它請求服務器停止進一步的處理,將狀態恢復到事務初始化之前,并且生成特定的錯誤響應到該事務。這由CANCEL請求完成,它構成自己的事務,但涉及要取消的事務。
SIP通過EMAIL形式的地址來標明用戶地址。每一用戶通過一等級化的URL來標識,它通過諸如用戶電話號碼或主機名等元素來構造(例如:SIP:user at company dot com)。因為它與EMAIL地址的相似性,SIP URLs容易于用戶的EMAIL地址關聯。
SIP提供它自己的可靠性機制從而獨立于分組層,并且只需不可靠的數據包服務即可。SIP可典型地用于UDP或TCP之上。
SIP提供必要的協議機制以保證終端系統和代理服務器提供以下業務:
● 用戶定位
● 用戶能力
● 用戶可用性
● 呼叫建立
● 呼叫處理
● 呼叫前轉,包括:⑴等效800類型的呼叫,⑵無應答呼叫前轉,⑶遇忙呼叫前轉,⑷無條件呼叫前轉
(中國集群通信網 | 責任編輯:陳曉亮) |



