隨著VOIP技術的不斷發展和成熟,視頻會議系統已成為計算機通信技術的重要方面。
本文針對支持多協議的視頻會議系統的設計和實現,分析了目前在可視通信領域的兩大主流協議H.323和SIP的特點和差異,給出了解決H.323和SIP之間的協議轉換的網關設計方案。
1
隨著寬帶網絡的不斷發展和普及,人們對視頻通訊的需求也越來越大。在視頻通訊領域起主導地位的兩大協議包括:由ITU-U(International Telecommunications Union – Telecommunication Standardization Sector,國際電信聯盟電信標準部)推薦的H.323協議和由IETF(Internet Engineering Task Force, 因特網工程任務組)推薦的SIP協議(Session Initiation Protocol, 會話發起協議),由于這兩個協議產生的時代背景、現有的發展狀況和協議本身的特點等諸多不同的特性,決定了它們將會在視頻通訊領域中長期的并存,形成相互競爭,相互補充的格局。
因此,在可視通訊當中一項重要的工作就是要解決H.323和SIP之間的協議轉換,即采用這兩種協議的可視終端和設備的互連互通的問題。而視頻會議系統是可視通訊中的重要應用,在設計視頻會議系統時,采用網關設計實現不同網絡之間的集成。H.323協議族中采用多點控制單元(MCU)來控制和管理會議系統,它由多點控制器(MC)和多點處理器(MP)組成,并運用集中、分散和混合三種不同的方法來實現會議的多點控制和管理。而在SIP協議中,則通過會話通告協議(SAP)和會話描述協議(SDP)來建立多方會議。兩者在機制上存在一定的差別,所以要實現互通就需要視頻會議網關的支持。
2
2.1 H.323協議
H.323協議的主體已日漸穩定,并且它的基本框架已被廣泛的采用,它定義了四種基本功能單元:用戶終端、網關(Gateway)、網守(Gatekeeper)和多點控制單元(MCU)。用戶終端能和其它的H.323實體進行實時的、雙向的語音和視頻通信,它能夠實現以下的功能:
(1) 信令和控制:支持H.245協議,能夠實現通道建立和能力協商;支持Q.931協議,能夠實現呼叫信令通道;支持RAS協議,能夠實現與網守的通信;
(2) 實時通信:支持RTP/RTCP協議;
(3) 編解碼:支持各種主流音頻和視頻的編解碼功能。
網關提供了一種電路交換網絡(SCN)和包交換網絡的連接途徑,它在不同的網絡上完成呼叫的建立和控制功能。
網守向H.323終端提供呼叫控制服務,完成以下的功能:地址翻譯,許可接入會議的控制和管理,帶寬控制和管理,呼出管理,域管理等。
多點控制單元(MCU)完成會議的控制和管理功能,它由多點控制器(MC)和多點處理器(MP)組成。多點控制器提供多點會議的控制功能,在多點會議中,多點控制器和每個H.323終端建立一條H.245控制連接來協商媒體通信類型;多點處理器則提供媒體切換和混合功能。H.323支持集中和分散的多點控制和管理工作方式。在集中工作方式中,多點處理器(MP)和會議中的每個H.323終端建立媒體通道,把接收到的音頻流和視頻流進行統一的處理,然后再送回到各個終端。而在分散工作方式中,每個終端都要支持多點處理的功能,并能夠實現媒體流的多點傳送。
2.2 SIP協議
SIP作為多媒體通信的應用層控制(信令)協議,它能夠建立、改變和終止多媒體會話。在SIP協議中有兩個主要的組成部分:用戶代理(UA)和網絡服務器。用戶代理(UA)又分為發起SIP請求的用戶代理客戶機(UAC)和響應這種請求的用戶代理服務器(UAS)。網絡服務器又分為:重定向服務器、代理服務器、注冊服務器。
通常的SIP操作涉及到一個SIP用戶代理客戶機(UAC)發起一個請求,一個SIP代理服務器作為終端用戶的位置發現代理并且一個用戶代理服務器(UAS)接受這個呼叫。一個成功的SIP邀請包括兩個請求信息:INVITE信息和ACK信息。
重定向服務器通過回送包含被叫者位置的SIP-URL(SIP Uniform Resource Locations,SIP統一資源定位,如:sip:user@host.domain)來處理INVITE信息。代理服務器則完成SIP請求和響應的應用層路由。注冊服務器用于記錄用戶的SIP-URL地址信息和其對應的IP地址信息。
3
作為視頻會議網關,它需要同時支持H.323和SIP兩種協議。在H.323協議一方,它充當著多點控制器(MC)的作用;而在SIP協議一方,它發揮著會議服務器的職能。在視頻會議網關的內部完成了一種信令消息到另一種信令消息的翻譯和轉換,并對等的完成兩者之間在功能上的映射。但是,在H.323協議和SIP協議當中,一些功能只在一種協議中被提供,而在另一種協議中則不能支持;在一種協議中的一個處理過程可能會映射到另一種協議的幾個處理過程,這些都是視頻網關需要解決的問題。下面就視頻會議網關設計中的幾個關鍵技術問題進行介紹。

3.1 信令消息映射
信令消息映射和轉換是視頻會議網關的關鍵技術之一。消息映射一般包括兩個方面:一是消息編碼的轉換,如二進制編碼方式和文本方式的轉換;二是消息中語義規則的映射,如在SIP方的終端發出INVITE請求消息到網關后,則網關在H.323方產生呼叫建立(Setup)或者接入請求(ARQ)消息。H.323協議族包括呼叫建立、呼叫控制、媒體通道控制等許多分散的協議和處理過程來完成多媒體的通信。而在SIP協議中并沒有進行嚴格的分類處理。所以在消息的映射和轉換過程中,可能存在一個SIP信令消息對應著在H.323方的幾個信令消息過程。表2展現了H.323協議和SIP協議在實現視頻會議的建立、邀請和加入過程中信令消息的映射和轉換。
3.2 媒體能力協商
在H.323協議中采用H.245協議來完成媒體能力的協商過程。在會議中,多點控制器(MC)通過匯總由各個終端提交的媒體能力信息,并從中選擇最為通用的媒體類型作為這個會議中每個成員通信的媒體能力集。在SIP中則采用會話描述協議(SDP,它是SIP消息體的一部分)來實現媒體能力的協商過程。因此,如果是H.323客戶終端發起會議,視頻會議網關必須依據在H.245消息中包含的客戶終端的媒體能力信息,并由會議網關內部的多點控制器(MC)來決定會議的媒體類型,再將這些媒體能力信息封裝到SDP消息中,發給SIP客戶終端。如果是SIP客戶終端先發出邀請時,會議網關使用SDP消息中包含有關客戶終端能力的信息來決定會議的媒體能力類型。
3.3 視頻會議的管理和控制
在視頻會議網關中集成了協議轉換器和視頻會議控制器和管理器的功能,在H.323客戶終端發起一個會議請求之前,必須注冊到網關守衛。發起請求時,H.323客戶終端先將消息發送給網守,再由網守將消息轉發到會議網關,最后通過視頻會議網關的會議控制和管理器來統一處理客戶終端發出的會議請求,并且決定接受或是拒絕一個客戶終端的請求,也決定了整個會議的媒體類型等信息。在SIP方,SIP客戶終端先要注冊到服務器上。當客戶終端發出請求的時候,先將消息發送到服務器,在由服務器轉發到會議網關。在會議網關的內部,先將收到的消息通過信令消息映射原則,轉換成對應的符合H.323規則的信令機制,然后送入會議控制和管理器進行集中的處理。
3.4 視頻會議流程簡介
為了更好的說明視頻會議網關在跨協議會議系統中的作用和工作流程,我們以一個由H.323客戶終端發起的會議請求為例來描述視頻會議網關對兩種協議信令消息的處理過程(如圖2所示)。

4
視頻會議網關的內部主要由SIP協議處理模塊、協議轉換模塊、視頻會議控制和管理模塊以及H.323協議處理模塊組成。
SIP協議處理模塊是視頻會議網關用于監聽SIP實體(SIP用戶代理、SIP服務器等)發送的信令消息。在將這些信令消息進行必要的處理后就送到協議轉換模塊中進行協議轉換。
協議轉換模塊是視頻會議網關實現中比較關鍵的部分,在實現過程中需要按照兩種協議之間的信令消息映射表進行逐一的翻譯和轉換。當然對于那些在一種協議中有而在另一種協議中不支持的信令消息應采用適當的忽略和屏蔽措施,并回送錯誤報告消息。轉換后的信令消息被送到各自協議的處理模塊中進行進一步的處理,也可送入視頻會議控制和管理模塊來完成對會議極其會議成員的組織、管理和控制。
視頻會議控制和管理模塊是視頻會議網關的核心部分。視頻會議控制和管理模塊既要對會議成員發來的信令消息進行處理,又要對視頻媒體流進行處理。在這部分的實現中要充分考慮兩種協議在視頻會議功能上的不同特性,加以適當的區別對待,以減少在信令翻譯和識別上的工作量。同時在對視頻流的處理上采用RTP/RTCP協議,先將各個客戶終端的媒體流匯聚在一起,在進行完復合之后再分別傳送到每個客戶終端那里。
H.323 協議處理模塊是用于監聽來自H.323協議方的信令消息。然后將信令消息送入視頻會議控制和管理模塊或者協議轉換模塊進行下一步的處理。在實現上需要H.323協議棧的底層支持。
我們在Red Hat Linux9.0操作系統下,采用C/C++語言實現。其中我們還利用了OpenMCU(開源的H.323會議服務器)中對視頻會議管理和控制的一些實現技術。
總結
本文對支持多協議的視頻會議網關的設計和實現作了簡單的介紹。從中我們發現視頻會議網關對協議的轉換還只能實現一些簡單的信令消息的翻譯,沒有較好的容錯和忽略機制。當然,要設計和實現功能更加完善和高效的視頻會議網關還需要在加強對會議管理和會議控制功能等方面作進一步的研究和開發工作。
[ 參 考 文 獻 ]
[1] Josef Glasmann, Wolfgang Kellerer, Harald Müller. “Service Architectures In H.323 And SIP: A Comparison” .
Fourth Quarter 2003, Volume 5, No.2.
[2] ITU-T Recommendation H.323 v4.
[3] RFC 3261 . SIP: Session Initiation Protocol, June 2002.
[4] 李建芳. H.323和SIP在IP電話網絡中的互通. 中國數據通信 2003.3.