H.323
H.323簡介
H.323語音網絡結構
H.323工作原理
H.323
H.323 簡介
H.323協議用於發起會話,它能控制多個參與者參加的多媒體會話的建立和終結,並能動態調整和修改會話屬性,如會話帶寬要求、傳輸的媒體類型(語音、視頻等)、媒體的編解碼格式、廣播的支持等。
H.323協議采用Client/Server模型,主要通過網關(Gateway)與網守(Gatekeeper)之間的通信來完成用戶呼叫的建立過程。
H.323協議棧是在應用層實現的,主要描述在不保障服務質量(QoS)的IP網上用於多媒體通信的終端、設備和業務。它包括G.729、G.723.1、G.711、H.261、H.263、T.120系列、RTP、RTCP、H.245、H.225.0(包含Q.931和RAS協議)等協議。
H.245、H.225.0等協議為信令控制協議,G.711、G.729、G.723.1、G.723.A是音頻編解碼協議,H.261、H.263是視頻編解碼協議,T.120系列(包括T.123、T.124、T.125、T.126、T.127、T.324等協議)是多媒體數據傳輸協議。
RTP(Real-Time Transfer Protocol,實時傳輸協議)和它的控制協議RTCP(Real-Time Transfer Control Protocol,實時傳輸控制協議)***同確保了語音信息傳送的實時性。RTP的功能通過RTCP獲得增強,RTCP的主要作用是提供對數據分發質量的反饋信息,應用系統可利用這些信息來適應不同的網絡環境。RTCP有關傳輸質量的反饋信息對故障定位和診斷也十分有用。
圖1?H.323 協議棧
ITU-T RAS協議遵循H.323 v2協議,用於網關與網守之間進行信息交互。在RAS協議中,壹般模式都是網關向網守發送壹個請求,然後網守返回接受或拒絕消息。H.323協議棧用於RAS通信的缺省端口號為1719。RAS消息具體內容參見表1。
表1?RAS 協議的主要消息
操作消息
註冊登記消息RRQ、RCF、RRJ
註銷消息URQ、UCF、URJ
修改消息MRQ、MCF、MRJ
接入認證授權消息ARQ、ACF、ARJ
地址解析消息LRQ、LCF、LRJ
拆線消息DRQ、DCF、DRJ
狀態消息IRQ、IRR、IACK、INAK
帶寬改變消息BRQ、BCF、BRJ
網關資源可利用性消息RAI、RAC
RAS定時器修改消息RIP
H.323 語音網絡結構
H.323語音網絡壹般由語音網關、網守、多點控制單元(MCU,multipoint control unit)、終端等設備組成。網守是可選組件,如果H.323網絡中具有壹個網守,那麽這個網守所控制的終端、網關以及多點控制器等就組成了壹個域。根據ITU-T規範定義,網守(GateKeeper,簡稱GK)能夠對局域網或廣域網的H.323終端、網關或多點控制單元(MCU)提供以下功能。
l?地址翻譯;
l?訪問許可;
l?帶寬控制和管理;
l?區域管理和安全檢查;
l?呼叫控制信令以及呼叫管理;
l?路由控制和計費功能。
壹個簡單的H.323語音網絡如圖2所示。在壹個由網守管理的區域內,對所有呼叫來說,網守不僅提供呼叫業務控制並且起到了中心控制點的作用。網關實體通常以路由器作為硬件載體,通過命令行接口完成對路由器IP語音網關功能的配置。網關通過ITU-T H.225.0協議中的RAS(Registration,Admission and Status)消息與網守進行交互通信。
目前,網守功能通常在SUN工作站或服務器上提供,路由器提供網關功能。出於可靠性考慮,需要網守提供備份服務功能,即當主用網守通信異常(如超時)或主用網守不可用時,網關可以通過RAS消息向備用網守發起註冊請求。
圖2?H.323 協議棧
H.323 工作原理
1.?網守發現
壹個端點想與另壹個端點建立呼叫,首先要尋找可以為它服務並對它進行控制的網守,這個過程叫做網守發現。端點和網守之間使用RAS協議信令進行交互操作。主叫端點會發送網守請求消息給某壹個特定的網守或廣播發送,收到消息的網守響應主叫端點,發送消息表明接受請求還是拒絕請求。
2.?註冊
當端點收到網守發來的確認消息後,將向網守發送註冊請求,請求加入網守所在的控制域。如果網守接受註冊,則發送註冊確認消息,否則發送註冊拒絕消息。註冊成功後,端點和網守都可以發送註冊取消消息,網守可以決定是否取消註冊而端點只能以取消註冊確認消息響應,並取消註冊。
3.?地址轉換
如果主叫端點只知道被叫端點的別名,而不知道被叫端點的呼叫信令地址時,主叫端點就會向網守發送位置請求消息來取得被叫端點的呼叫信令地址。
4.?接入控制
有了被叫端點的地址,主叫端點將向網守發送接入請求消息,網守將決定是否允許此端點加入壹個呼叫過程,這是網守的接入控制功能。通過許可請求消息,主叫端點可以向網守申請直接向被叫端點發送呼叫信令,如圖3,或是通過網守發送,如圖4。最終采用哪種方式將由網守決定,並通過許可確認消息告知主叫端點。
圖3?端點直接發送呼叫信令
圖4?通過網守發送呼叫信令
5.?請求建立呼叫
當主叫端點接收到Gatekeeper發出的接入許可確認後,主叫端點將發出呼叫信令來請求建立呼叫。以主叫端點直接向被叫端點發送呼叫信令為例,主叫端點首先發送呼叫建立請求信令(Setup),以表明主叫呼叫被叫的要求。
6.?呼叫處理中
被叫端點收到呼叫建立請求消息Setup後,可以發送呼叫處理中消息(Call Proceeding)來告知主叫端點正在處理該呼叫建立請求,當然也可以不發送此信息。
7.?激活
接下來,被叫端點可以向主叫端點發送激活消息(Alerting),表明被叫端點已經處於激活狀態,比如電話在振鈴,此消息也是可選的。
8.?連接
如果被叫端點接受了主叫端點發起的呼叫,被叫端點將發送連接消息(Connect),此消息是必須發送的。
9.?能力協商
當主叫端點收到被叫端點發來的連接消息後,兩個端點之間的媒體會話將由H.245控制信令管理。首先,通話雙方將進行能力交換,了解對方的通話能力,比如媒體格式等信息。
10.?建立/關閉邏輯通道
然後,通話雙方會建立壹條或多條邏輯通道,即由IP地址和端口號組成的二元組,媒體流將在這些邏輯通道中被傳送。通話結束後,邏輯通道將會被關閉。
11.?完全釋放
最後,任何壹方都可以發出完全釋放的呼叫信令來釋放資源。
12.?拆線
端點向各自的網守發送拆線請求,網守將根據實際情況決定是否同意拆線。網守也可以給端點發送拆線請求,而端點只能確認並拆線。
有網守參與的呼叫的建立和拆除流程如圖5所示。
圖5?有網守參與的呼叫 流程