時間:2023-01-01 13:07:58
序論:寫作是一種深度的自我表達。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內心深處的真相,好投稿為您帶來了七篇sip協議范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創作。
一、引言
隨著通信技術的發展及人們對通信要求的提高,當今的通信業務集音頻、數據信息、視頻于一體。同時,Internet及IP網絡的發展也為各種通信業務提供了基礎。
SIP是IETF指定的用于實現多媒體回話控制的協議,該協議具有實現簡單、擴展性強的特點,并且具有強大的多媒體會話和業務擴展能力以及用戶查找和定位能力。由于SIP可以和現有的Internet協議緊密聯系,從而獲得了廣泛應用,并且SIP已被3GPP組織作為R5/R6多媒體子系統(IMS)的呼叫控制協議。本文將對IMS網絡和SIP協議進行介紹,并提出一種基于IMS網絡的SIP信令協議棧。
二、IMS網絡結構及SIP協議
IMS是3GPP在R5版本中提出的支持IP多媒體業務的子系統。IMS以SIP為核心呼叫控制協議,為移動終端提供多媒體呼叫控制業務,具有應用服務器層、會話控制層、傳輸與終端層三層結構,包括CSCF、HSS、MGCF和MGW等實體。
IMS中最重要的實體是CSCF和HSS,CSCF負責處理多媒體會話業務,相當于SIP服務器,包括CSCF(P-CSCF)、查詢CSCF(I-CSCF)和服務CSCF(S-CSCF)。HSS(歸屬用戶服務器)是IMS中所有與用戶和服務相關的數據主存儲器,存儲了用戶身份、注冊信息、接入參數和服務觸發信息等。
SIP是IETF制定基于ASCII碼的面向IP電話和多媒體會議的應用層控制協議,用于建立、修改和終止多媒體會話,使參與會話的成員可以通過多播方式、單播連網或二者結合的方式進行通信。
典型SIP協議中有客戶機和服務器之分,客戶機是為了向服務器發送請求而與服務器建立連接的應用程序,User Agent和Proxy中含有客戶機;服務器是用來向來自客戶機的請求提供服務并處理應答的應用程序。SIP協議具有四層結構,最底層是語法和編碼層,第二層是傳輸層,第三層是事物層,最頂層是事物用戶層(TU層)。
三、基于IMS網絡的SIP信令協議棧
在SIP協議中,用戶客戶端通過向服務器發送在網絡中的路由請求即可以建立起一個會話過程。因為注冊服務器需要提供用戶的位置信息,所以需要將SIP地址映射轉換為IP地址。IMS中的呼叫會話控制功能(CSCF)的網絡實體是服務器和注冊服務器,CSCF即是控制實現實時多媒體業務的多媒體服務器。IMS包括三種呼叫會話控制功能:CSCF(P-CSCF)、問訊CSCF(I-CSCF)、服務CSCF(S-CSCF)。CSCF通過SIP協議來實現上述控制控制功能,其中P-CSCF為移動用戶接入IMS提供的SIP服務器,I-CSCF是運營網絡的入口服務器,同時可以對其它網絡隱藏其歸屬網絡的拓撲圖,S-CSCF是SIP的注冊服務器,執行用戶的會話控制服務。因此,IMS網絡可以在CSCF的基礎上利用SIP協議經過注冊過程和會話過程來實現多媒體通信的目的。
本節通過引入有限狀態機進行修改和二次開發,實現了一個穩定高效的SIP協議棧,通過提供SIP操作的基本數據結構和應用程序編程接口(API),如用于表示SIP中各類對象的數據結構、對消息和消息體進行解析的API以及實現四類有限狀態機的API。該協議棧主要包括4個模塊:狀態機模塊、解析器模塊、工具模塊、上層封裝接口模塊,其結構圖如圖1所示。
3.2解析器模塊
解析器模塊主要完成對SIP消息的語法解析,它的作用是將收到的SIP消息從文本解析為SIP消息結構體(sip_t),處理完后將待發送的sip_t結構還原成SIP文本消息后在發送。SIP消息的解析過程為:對收到的消息解析起始行,若是SIP請求則解析SIP請求方法、請求URI和SIP版本,若非SIP請求則解析SIP版本、狀態碼和原因短語;然后依次進行解析SIP頭域、解析SIP消息體并保存各項參數完成解析過程。
3.3工具模塊
工具模塊主要提供完善的SDP協商機制和對話管理的API。本協議棧中的SDP協商工具使用從SDP offer去構建SDP answer的方法,通過分析invit請求中消息體SDP部分的媒體參數描述來構造對于invit請求的響應消息中的SDP消息部分。在對話中,可以動態創建新的事務來開始端點之間的SIP通信過程,幫助管理UA的消息排序和UA之間正確的路由。本協議棧的對話管理工具主要是創建對話并對對話消息進行管理。
3.4上層封裝接口模塊
上層封裝接口模塊根據MVC模式中的Model層的調用方式提供面向Model層的簡便易用的操作協議棧接口。上層封裝接口模塊在eXosip封裝SIP協議調用接口的基礎上進一步封裝,供Model層調用,從而使用簡單的幾行代碼就可以實現一個音視頻的呼叫。
四、結束語
SIP協議可以創建、管理和終結IMS網絡中各種類型的多媒體業務,從而使各種類型的客戶端通過SIP都可以建立高質量的端到端通信。本文提出一種SIP協議棧,實現了SIP軟終端,可以在IMS網絡下實現具備基于SIP的視頻和音頻通信功能。
參考文獻
[1]孫建勇.基于SIP協議的軟終端的研究與實現[D].北京郵電大學,2004.
[2]陳朝鵬. SIP協議在IMS系統中的應用[J].中國科技信息,2006(2).
[3]徐曉宇,張惠民. SIP會話協議在第三代移動網絡中關鍵問題研究[J].數據通信,2004(2).
【關鍵詞】 擴展SIP協議簇 調度系統 有線對講
一、前言
隨著企業生產自動化程度不斷加深,管理效率不斷上升,企業逐步由分層管理向扁平化管理轉變。而伴隨著企業管理方式的轉變,企業通信系統也開始向融合智能化發展。這是因為傳統的有線對講系統、調度系統、廣播系統、監控系統等是多個獨立的系統,其重復布網、維護復雜等問題無法有效得到解決。為了解決這些問題,首先需要將這些系統統一到一個網絡中來,然后通過一個系統將用戶使用的電話、對講等語音終端進行管理。管理大容量的語音終端比較成熟的是軟交換技術,同時可以發揮網絡靈活接入的特點,完成各種系統統一接入的要求。
二、問題提出
傳統的語音通信系統主要包括調度系統、有線對講系統、應急通信系統等利用程控技術設計出不同操作模式的語音交換系統。這些系統由于主機與終端的差異導致骨干網絡無法共用,導致運維復雜等?,F在主流的語音交換技術為軟交換技術,而軟交換技術最為靈活的協議為SIP協議簇。但是SIP協議簇主要定義了終端基本的注冊、呼叫、應答等基本狀態內容,對于設備終端的屬性及過程控制沒有進行詳細定義,因此導致了各個廠家SIP協議簇擴展內容的大不相同。在IP調度系統中,不同設備間交互的協議種類多,導致不同廠商的調度控制終端和軟交換服務器間不能通用。如果通過擴展標準SIP協議簇來實現IP調度系統功能,并且簡化IP調度系統協議種類,讓不同IP調度系統設備廠商的設備實現通用。這將改變目前用戶對多種網關設備無法統一管理的現狀。傳統設備不同操作模式的語音通信系統便可在同一軟交換上實現。
三、擴展協議設計
基于IP的工業綜合通信系統是標準軟交換系統融合了調度、對講系統特點在工業領域應用特點,通過對RFC3621的SIP協議簇進行補充實現的。標準的軟交換系統設計了終端用戶的管理、交換管理、狀態管理等基本管理,調度系統系統則需要提供強插、強拆、監聽、摘掛機狀態、會議等等特殊功能。(圖1)
SIP請求消息分為請求行、.消息頭域及消息體三部分。消息頭域中包含許多個消息頭,分別攜帶著IP終端的各種信息。將在SIP請求消息的消息頭域中加入自定義的消息頭。增加的消息頭表示調度控制終端需要讓軟交換服務器執行的調度功能。在消息頭后加入需要參與該調度功能的話機號碼。同時預留一個區域,供用戶傳送備用信息,如設備相關的型號,協議的版本等。當然自定義消息頭遵從標準的SIP協議消息頭格式,能夠和標準的SIP消息頭用相同的方法封裝和解析,最終形成一個具有自定義消息頭的SIP請求消息。
四、系統實際應用
基于SIP協議簇擴展的應用在企業通信系統中最為常見,如調度系統、有線對講系統、廣播系統等。但是各種語音通信系統的操作模式不同,導致SIP協議簇擴展信息的結構及內容的不同。
基于軟交換的調度系統,主要功能是完成電話終端的兩方通話、三方通話、強插、強拆等等功能。協助調度系統完成這些功能的終端叫調度臺。調度臺通過標配的鍵權電話來操作調度臺,完成各項功能的實現。
當鍵權電話提機后,可操作鍵盤發送鍵權電話的操作指令。該指令的結構為:
長度是對整個信息長度一個說明,保證信息的完整性;鍵盤編號進行多鍵盤的區分;命令是不同操作功能的標識,命令主要是強插、強拆、三方通話、監聽等等;包標識符是對本信息包類型進行說明,包標示符主要標注請求(REQUEST),回應(RESPONSE),事件通知(EVENT),命令(COMMAND)四種;序列號用來標識一次請求和回應;結束符標識說明本命令執行完畢結束;數據包內容是實際的內容。
例如:鍵權話機提機通過鍵盤向軟交換提出呼叫一個用戶的命令,首先構造一個INVITE請求,并把鍵盤發送的操作指令嵌入到協議中,然后這個請求會由Proxy層層轉發,最后到達一個或者多個可能處理這個邀請的UAS,即調度服務器。一旦調度服務器收到這個消息并進行處理,那么通過發送2XX進行應答,如果拒絕則發送其他相應的標準SIP拒絕協議。這樣,鍵盤通過發送擴展的sip協議完成對多個終端的控制,完成用戶的調度功能需求。
另外,擴展SIP協議同樣可以應用在有線對講系統中。對講系統主要功能特點是按鍵呼叫,松鍵終止語音,同時向相關崗位傳送本機的工作狀態。那么主要將本機狀態發送到對講主機,然后由主機向相關終端發送消息以便顯示與之相關的終端狀態。主要在包標識符中增加一個狀態(STATE),然后在數據包內容中標識本機號碼即可。
通過擴展SIP協議簇實現的基于軟交換的調度系統、有線對講系統功能在工業現場得到了廣泛的應用。解決了工業語音網融合的問題,為用戶設計整個企業的網絡提供了技術保障。
五、總結
本文詳細介紹VoIP系統及其相關協議棧以及所用VoIP系統的具體情況,對H.323和SIP協議分別做了介紹和對比:重點討論了基于H.323和SIP協議之間的互通問題,及硬件系統的結構設計。
主要內容分析內容:不同網絡之間的尋址與定位;消息的映射預處理;終端地址的轉換;硬件模塊的組成。
具體設計了網關會話層軟件程序的結構和功能模塊的劃分,給出了實現互通時的外部通信流程與內部消息流程,及硬件模塊化設計。
關鍵詞:SIP;H.323;轉換網關
中圖分類號:TN915 文獻標識碼:A 文章編號:1007—9599 (2012) 14—0000—02
一、SIP與H.323的區別
(一)協議的出發點:H.323的傳輸從電路交換方式變更為分組交換方式;SIP協議主要是完成了基于Internet上IP電話的應用同時增加了QoS呼叫保障機制。
(二)消息編碼的不同:H.323采用壓縮編碼規則和ASN.1的二進制方法;SIP是基于文本的協議,與H.323相比具有較強的優越性。
(三)會話能力的協商和調整方法:
H.323利用H.245進行能力協商的會話控制;
SIP采用SDP協議描述。
(四)Session管理的方式:
H.323的session由MCU執行會議控制功能,參加會議的終端全部都向MCU發送控制消息;H.323設計便于計費,對帶寬的管理也比較簡單。
SIP session設計為分布式,他具有分布式的多播功能,多播功能能夠實現更方便的會議控制,簡化用戶定位、群組邀請等,節約帶寬。
通過以上對比分析,從協議互通角度考慮,SIP和H.323網絡互通需要解決以下問題:
H.323和SIP地址的轉換;尋址定位的實現;消息映射和呼叫過程同步。
二、H.323地址與SIP地址的轉換
SIP和H.323支持的地址格式不同:
H.323支持地址類型:H.323 ID、E—mail地址、IP地址和主機名,URL地址。
SIP地址由URL定義其結構,用以指示主叫、被叫、重定向和請求目的地址,在SIP消息內的From,To,Contact字段和Request—URL字段中。
因此,如果完成H.323和SIP網絡之間的互通,就必須要實現H.323和SIP網絡之間的地址解析和映射,當網關收到來自H.323網絡或SIP網絡的消息,需要在消息內解析所包含的地址單元,再按地址映射表,轉換成對方網地址格式,然后封裝在需要發出的消息中。
SIP 地址轉換成 H.323地址的轉換規則:
(一)e164部分:當SIP地址中userinfo為Tel格式例如+86—010—****@IP地址,這部分將被轉化成為H.323地址中e164部分,其中的+,—號會去掉。地址被轉化成H.323地址中e164部分,為“86010****”。
(二)h323—ID部分:SIP地址中的userinfo部分會直接轉成為h323—ID,例如sip:terminal@IP轉成h323— ID就是sip:jack@IP地址。
(三)url—ID部分:SIP地址中的存在類似的user@domain,可以直接轉化成為H.323 url—ID部分。sip:terminal@bell—轉為url—ID就是sip:terminal @bell—。
(四)email—ID部分:SIP地址存在user@group這中email地址格式,那么將email地址轉化為h.323地址的email—ID部分,如sip:terminal@IP地址可以轉 terminal @IP地址。
(五)transport—ID部分:SIP地址中存在IP地址和端口的部分,H.323地址需要用transport—ID表示,如SIP地址如果是sip:terminal@IP,那么轉成H.323地址:transport—ID是IPAddress IP地址:端口號。
從H.323地址轉換到SIP地址時:
1.e164部分:e164部分轉換成一個電話號碼的SIP地址,規則是:sip:telephone@host:user=phone.
例如e164ID為86010****轉化成SIP地址就是:sip:+86—010—****@host:user=phone。
2.h323—ID部分:這部分可以轉化成為SIP地址的userinfo部分, 但是如果地址是terminal @IP地址這種類型的話,需要將mailto轉化成sip。
3.email—ID:需要將sip標識符加在email—ID的前面,例如email—ID 是
terminal@IP變換到SIP地址就是:sip:terminal@IP。
4.url—ID :需要將sip標識符加在url—ID的前面,如url—ID是h323:
變換成SIP地址就是:sip:.
5.transport—ID部分:將SIP地址用IP地址和端口表示,如果沒有指定端口,那么用5060代替。例如在H.323地址中,transport ID部分為IP地址:端口轉成SIP地址就是 sip:IP地址:端口,而transport ID是IP轉成SIP地址就是sip:IP地址:端口
關鍵詞:SIP協議 多媒體通信網絡 無線通信
中圖分類號:G718.3 文獻標識碼:C DOI:10.3969/j.issn.1672-8181.2013.22.109
1 引言
多媒體通信網絡是計算機網絡和多媒體技術互相滲透的產物,它將存在于廣電通信、傳統計算機通信網絡等傳統行業獨立發展的隔閡逐漸打破,是通信、計算機以及電視產業的一個新突破。在計算機智能控制系統的引領下,所形成的多媒體通信網絡實現了對相關信息的綜合、采集、處理、傳輸和存儲,實現網絡內點對點的通信。該種通信方式與傳統的通信技術相比,它所運用的通信技術是數字通信技術的多媒體通信技術,有效地將存在于通信、計算機和電視之間的距離縮短,借助于通信網絡的分布特性、計算機的互通能力以及電視網絡的真實性融合起來,為大眾提供全面的信息服務。
2 SIP協議
SIP(Session Initiation Protocol)屬于IETF所制定的基于IP應用層的一種控制協議。因為SIP是基于純文本的信令協議,能夠對接入網絡的不同信息通信進行管理。其中,信息通信包括可以是網絡中任何設備的通信,諸如視頻通信、即時文本通信、協作通信等。該協議在控制過程中并不定義或者直接限制通信業務,網絡通信中涉及到的傳輸、服務質量、通信計費以及通信安全等都是由核心網絡和其他協議進行處理的。正是基于該特點,該協議得到了包括微軟、Cisco、3GPP等大型企業和標準定制機構的認可。
因為SIP協議屬于一種信令控制協議,在構建多媒體通信網絡時需要附加SDP(Session Description Protocol)、R1P(實時傳輸協議)等其他多媒體控制協議以及多媒體通信協議。其中,用SIP進行呼叫的建立與維護;SDP則負責媒體協商與控制;RTP負責通信媒體的傳送。
3 基于SIP技術的多媒體通信網絡工作原理
基于SIP技術的多媒體通信網絡中,是將SIP作為一個基礎的應用層控制協議。它能夠建立、終止和修改多媒體通信服務,而且還能協調對話雙方,處理相關的媒體,從而將相應的網絡地址獲取。與此同時,當在網關之間建立會話時,還能夠進行中繼,成為多媒體通信協議中運用比較廣泛的方式。
在SIP多媒體通信網絡當中,通常設置有服務器、注冊服務器、重定位服務器等多種功能服務器。這些服務器的所有功能都可以通過一個物理服務器來實現,同時可以根據用戶的實際需要將之部署在多個服務器上。
其中,注冊服務器主要負責通信端點的注冊服務,比如名稱、ID、服務有效期、地址等。注冊中,通信端口首先向注冊服務器發送RRQ注冊請求,在獲得請求后,服務器對相關注冊信息進行記錄,將信息RCF確認下來,并且將信息發回給該通信端口。注冊過程中,可能因為不準確的地址、重復的名稱以及共用的ID等因素,會引起注冊被服務器拒絕的情況,這時通信端口就會接收到被發回的RRJ信息。
在撤銷注冊的進程中,自主申請撤銷可以被運用在通信端口,類似于注冊過程,只要獲得服務器的確認,就能夠撤銷。
而服務器的功能類似于程控交換機功能,大多應用在SIP通信信息的路由完成上。各個SIP的終端在發送請求消息給其上層主控服務器之后,服務器會借助于消息中的用戶名、會話信息以及終端域名等來判斷其屬性。如果是控制域內呼叫,則在查找注冊服務器之后,服務器會將終端IP地址定位,目的終端會收到相關請求;若是控制域外呼叫,則將相應的終端服務器搜索出來之后,服務器將呼叫請求轉發給它,繼而由該服務器進行控制域內的呼叫定位,且將請求信息進行發送。被重新定位的服務器接著依據終端的域名以及用戶名等,將具體的IP地址給出來,然后目的終端就會接收到SIP呼叫請求。
4 SIP技術在多媒體網絡構建中的應用
4.1 SIP技術在NGN中的應用
NGN是下一代基于IP協議的通信分組網絡,其最主要的特點在于在核心網絡的基礎上將多種接入網絡融合起來,實現了固定、移動、有線與無線網絡的集合。所以,當用戶通過各種途徑接入網絡之后,NGN網絡都可以為用戶提供豐富、全面的個性化服務。
而在多種網絡集成的過程中,SIP技術主要起到一種匯聚式“粘合劑”的作用,其在NGN網絡中發揮著核心網絡控制協議的作用,對NGN網絡的廣泛使用具有積極作用。當前,國內很多網絡運營商以及設備供應商都著手研發SIP,以有效解決未來軟交換的互通。
4.2 SIP技術在3G網絡中的應用
因為SIP協議自身具有支持移動通信的能力,因此在應用SIP技術的過程中不但可以擴展SIP的終端移動能力,而且還可以將之作為支持個人移動通信,實現會話移動的重要途徑。
在對會話移動性支持的過程中,主要應用SIP技術的會話屬性,通過合理調整其會話屬性以及消息功能的方式得以實現。利用SIP協議,移動會話的發起終端能夠從既有的終端將對方終端通信主機的地址信息發送給需要切換的目標終端。同時,還將其將要使用的新終端地址發送給對方終端主機。這樣不但可以實現會話的切換,而且還實現了會話帶寬、編碼方式以及各式的合理調整。
4.3 SIP在Internet中的應用
SIP是典型的文本通信協議,因此其可以被集成到任意一個HTFP網頁中,這將有利于SIP迅速推廣。當前,Internet中SIP技術的應用相當廣泛,例如Microsoft就選擇其作為即時通信策略,同時做好在XP、Pocket PC以及MSN中予以應用。同時,該公司還承諾將在未來為用戶提供基于SIP的語音、視頻呼叫服務。
5 結語
綜上所述,未來SIP將能夠作為開發人員手中的一種普通API類庫,在Internet、NGN、3G網絡中得到更加廣泛的應用。
參考文獻:
[1]劉伯明,危薇.基于SIP協議的C/S架構在VOIP系統中的設計與實現[J].電腦編程技巧與維護,2010,(12).
[2]李偉,趙保華,周顥.SIP服務器性能測試系統的研究與實現[J].計算機應用與軟件,2007,24(5).
【關鍵詞】SIPOsipeXosip軟電話
一、引言
eXosip2是Osip2的一個擴展協議集,它部分封裝了Osip2協議棧,使得它更容易被使用。本文利用Osip協議和ORTP來構造出一個VoIP通話系統,考慮到以后智能終端的軟件移植,采用在Linux環境下開發。
二、Osip2協議棧簡介
Osip是按照RFC3261(SIP)和RFC2327(SDP)標準,并使用標準C編寫的一個開放源代碼的SIP協議棧,具有短小簡潔的特點,主要提供一些解析SIP/SDP消息的API和事務處理的狀態機。雖然在底層解析時效率比較高,但缺點也很明顯,首先就是可用性差,沒有很好的API封裝,使得上層應用在調用協議棧時很破碎;其次,只做到了transaction層次的協議過程解析,缺少call、session、dialog等過程的解析,這也增加了使用的難度;再次,缺少線程并發處理的機制,使得它的處理能力有限。
三、eXosip2特點
eXosip是Osip2的一個擴展協議集,其在Osip2的基礎上部分封裝了Osip2協議棧,使其更容易被使用。eXosip使用UDP socket套接字實現底層SIP協議的接收/發送;使用定時輪循的方式調用Osip2的事務處理函數,這部分是協議棧運轉的核心。通過添加/讀取事務消息管道的方式,驅動事務的狀態機,使得來自遠端的SIP信令能匯報給調用程序,來自調用程序的反饋能通過SIP信令回傳給遠端;增加了對各個類型事務的超時處理,確保所有資源都能循環使用,不會被耗用殆盡;使用jevent消息管道來向上通知調用程序底層發生的事件,調用程序只要讀取該消息管道,就能獲得感興趣的事件,進行相關的處理。雖然eXosip較Osip2實用性更強,但其局限于UA的實現,使得用于registrar,sip server等時極其不容易。此外,它并沒有增加線程并發處理的機制,而且只實現了音頻支持,缺少對視頻和其他數據格式的支持。
綜合考慮,使用Osip2和eXosip協議棧的組合來實現SIP協議是很成功的選擇。當然,在不同的應用場合,必須添加其他模塊來實現更加復雜的功能。
四、SIP軟電話的設計
4.1系統環境搭建
如果在Windows下進行程序開發,會有很多集成開發環境,如Visual C++等,這些IDE都已經很成熟。但在Linux下,開發C程序,一般都很少在IDE下進行開發,而是利用Linux下的編輯器來編寫程序,如vi,gedit等,然后用gcc編譯器來進行編譯、連接生成所要的可執行程序。本文設計的SIP軟電話程序中要用到各種庫,用來搭建整個程序的運行環境。首先要安裝libosip2和libeXosip,然后安裝ortp庫。因為開發的是具有圖形界面的gnome程序,所以要安裝gtk+庫。
4.2系統分析
由上可以看出,整個系統分為五部分:主函數部分,負責監控和傳輸信號變量進行控制與調度;SIP部分,負責進行信令傳輸和RTP通話時的參數傳輸;RTP部分,負責RTP會話建立,參數設置,發送和接收數據;G.711部分,負責語音數據的編解碼;最后是用戶界面,作為用戶接口,負責傳送用戶設置的參數和撥打的號碼,以及顯示狀態信息等。
運行SIP軟電話的主程序,初始化各種庫,然后向SIP服務器進行注冊。如果注冊成功,生成用戶界面,監聽用戶輸入,同時啟動UAS線程,進行監聽(接收)SIP消息。以語音通信來說,此時應用程序只需保存Osip協議棧的狀態,然后調用語音處理模塊來接收/發送語音包就可以實現基于SIP的語音通信了。
五、總結
本文利用SIP和RTP庫:libosip2,libexosip2,libortp在Linux下面編程實現了一個SIP軟電話程序,并通過gnome編寫了一個界面。此SIP軟電話程序可以在Linux下穩定運行,通話質量良好,并且提供很好的用戶接口,來設置參數和管理數據(如用戶地址等)?;旧鲜且粋€較穩定的通話系統。當然,這個軟電話還有一些不足,以后可以將它完善,編成一個界面友好,可以進行視頻通話和多路通話的軟電話;同時利用更好的編解碼協議來完善,節約帶寬。
參考文獻
[1]李軍,謝贊福,崔懷林.基于SIP的語音通信程序設計與實現.計算機工程,2005,31(24):117-119
關鍵詞:即時消息 ;SIMPLE ; 傳輸機制
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2013)27-6116-02
即時消息是一種基于互聯網的實時消息交換服務,網絡上的用戶可以利用即時消息軟件實現多媒體信息的交換。
自從上個世紀90年代出現ICQ軟件后,即時消息軟件得到飛速發展,被政府、企事業單位、個人用戶廣泛使用。具有代表性的即時消息軟件有OICQ,MSN,Gtalk等,可以部署于手機或PC平臺上。SIMPLE(SIP for Instant Messaging and Presence Leveraging Extensions )協議是由IETF組織制定的標準化協議,是SIP協議針對即時消息業務的擴展。微軟和IBM都致力于在它們的即時通信系統中實現這個協議。該文對SIMPLE協議中的消息傳輸機制進行了分析和比較。
1 基于SIMPLE協議的消息傳輸機制
1) 呼叫模式
從圖中可以看出,與SIP協議中的INVITE請求消息不同,MESSAGE請求消息不會觸發一個新的會話,每條MESSAGE消息之間沒有聯系。User1充當UAC,User2充當UAS的角色,服務器Proxy收到User1發來的消息后,根據消息頭部Request-URI字段的值在數據庫中查找目的地信息,找到后將該請求消息轉發給User 2。User 2收到后回200 OK響應消息,說明請求消息已經被成功接收,并將顯示給用戶看。考慮到擁塞控制的因素, UAC在沒有收到最終響應之前,不能開始針對相同的用戶的MESSAGE事務。
2) 會話模式
流程圖中包含有SIP協議和MSRP協議的消息。User1和User2開始即時通訊之前需要建立MSRP會話。在User1發送給User2的INVITE請求消息和User2回送的200 OK 響應消息中帶有SDP會話描述信息,借助于SDP的提供/響應模型,User1和User2成功交換了MSRP會話協商信息。接下來User1向User2發起TCP連接,User2接受后,MSRP會話關系就建立了。MSRP SEND請求消息中包含有雙方實際交換的即時消息文本,MSRP 200 OK響應消息僅僅用于確認已經收到對端發來的請求消息,不能攜帶及時消息文本。即時消息通話結束后,某一方發送SIP BYE請求消息結束會話??梢钥闯觯琈SRP會話信息對于SIP協議而言不過就是普通的媒體流,和語音呼叫時傳輸的媒體流沒有任何區別。
2 結論
SIMPLE協議的呼叫模式是將用戶之間交互的即時消息放在信令消息MESSAGE的消息體當中來傳輸的,信令流和媒體流走的是相同的路徑。這種消息傳輸機制實施起來比較簡單,也不會觸發SIP會話,適用于用戶之間少量消息的傳輸。如果用戶之間傳輸大量即時消息,且即時消息中除了文本還包含有音頻視頻之類的多媒體信息時,可能會影響到其他信令消息的傳輸。
SIMPLE協議的會話模式是將用戶之間交互的即時消息放在媒體流當中來傳輸的,信令流和媒體流走的是不同的路徑。MSRP協議具體負責即時消息的會話協商工作,SIP協議僅僅負責信令的傳輸,起的是溝通橋梁的作用。呼叫模式中用戶交互的即時消息需要經過服務器的中繼傳輸,而會話模式不需要,從而減輕了服務器的負擔。因此,會話模式更能夠適應用戶之間大量多媒體消息或者是多個用戶群組模式消息的傳輸。如果考慮到安全因素,呼叫模式中每傳輸一次MESSAGE消息就需要對用戶進行安全認證,而會話模式只需要在會話建立的時候對用戶進行安全認證,開銷要小的多。
參考文獻:
[1] Rosenberg J, Schulzrinne H, “SIP: Session Initiation Protocol”. RFC 3261. (Standards Track). 2002
【關鍵詞】遠程多媒體教學;H.323;SIP
一、引言
遠程多媒體教學是一種全新的教學方式,相比傳統教學,它充分合理地利用網絡、媒體等介質,使得教學活動的開展不受時間空間的限制,優化了教學資源配置,提高了教學效率。
遠程多媒體教學的上述特點和優勢使得它成為多媒體通信在教育領域研究的熱點,目前的發展方向是基于IP網絡的遠程多媒體教學。由于多媒體信息具有數據量大、實時性、同步性和突發性強的特點,多媒體通信系統具有集成性、交互性和同步性的特點,因此對多媒體通信的硬件和軟件系統提出了很高的要求。
二、SIP協議及其特點
SIP(Session Initialization Protocol,會話發起協議)是一個由IETF MMUSIC (Multiparty Multimedia Session Control)工作組提出,面向Internet會議和電話的簡單應用層信令協議,用于建立、調整和終止多媒體會話。
相比多媒體通信的另外一種流行協議H.323,SIP協議有如下5個特點:
第一,與H.323采用二進制方法表示消息不同,SIP消息基于文本,采用UTF-8字符集編碼,具有詞法和語法簡單、可讀性好的優點。
第二,H.323中的呼叫建立和媒體邏輯信道建立的過程是分離的,呼叫建立時延較長。SIP系統的呼叫控制信令由SIP傳送,由會話描述協議SDP完成媒體能力交換和RTP地址信息獲取的任務。SDP消息作為SIP的消息體來發送,會話控制和媒體能力交換同時進行,會話建立的時延較短。
第三,H.323網絡中各元素均為對等實體,實體間傳送的是對等控制信令消息,而SIP網絡則采用IP網絡常用的C/S(客戶機/服務器)結構。
第四,定位用戶、支持用戶移動性。SIP利用注冊服務器將用戶的實際物理位置與用戶的SIP地址相綁定,便于在定位用戶時實現地址映射功能;利用重定向服務器將目標用戶地址信息返回給服務器。
第五,協議簡單,有良好的擴展性。SIP是在諸如SMTP、HTTP的基礎上建立起來的,借鑒了其它Internet標準和協議的設計思想。由于SIP與HTTP非常相似,許多解析HTTP協議的程序只要經過少許修改就可以用到SIP中。
SIP消息分為SIP請求消息和SIP應答消息兩大類。所有的SIP消息都是由一個起始行、一個或多個標題頭、一個表示標題頭結束的空行和可選的消息體組成。
SIP核心規范定義了6種基本請求方法:INVITE(邀請)、ACK(確認)、OPTIONS(可選項)、BYE(再見)、CANCEL(取消)和REGISTER(注冊)。其中,REGISTER方法用于向服務器注冊用戶位置信息;INVITE、ACK和CANCEL用于會話的建立;BYE用于結束會話;OPTIONS用于向服務器咨詢服務器的性能。
SIP核心規范定義了如下幾種實體:
用戶(User Agent):用戶的系統接口,負責與終端用戶進行交互??煞譃橛脩艨蛻舳?UAC,User Agent Client)和用戶服務器(UAS,User Agent Server)。
服務器(Proxy Server):用于轉發SIP消息,代表UAC發起請求,并向UAC返回響應,既充當客戶機又充當服務器??煞譃闊o狀態服務器和保留狀態服務器兩類。
重定向服務器(Redirect Server):重定向服務器通過提供可能的位置來幫助定位目標SIP用戶。它不發出任何定位目標的行為,而僅僅返回目標可能的出現位置信息。
注冊服務器(Register Server):注冊服務器存儲用戶的位置信息,負責將用戶的SIP地址與用戶當前所在的物理地址進行綁定,這樣就能夠向服務器提供用戶的位置信息,協助服務器在轉發SIP請求消息時能夠迅速定位用戶。
三、SIP遠程多媒體教學系統的設計
(一)基本概念和術語
課堂實例:一個由唯一資源標識符標識,由一組SIP用戶、媒體流和通信網絡組成的多媒體會話,參與成員有教師和學生;
課堂系統:由一個或多個課堂實例組成;
FOCUS:中心SIP用戶,是一個課堂實例的管理者;
課堂策略:課堂運作和進行的規則總稱,包括成員策略和媒體策略;
成員策略:管理課堂成員的規則總稱,包括身份鑒別、角色控制及權限控制;
媒體策略:處理媒體流的規則總稱;
課堂狀態:包括管理各個課堂實例的FOCUS的狀態和課堂策略的狀態;
課堂URI:課堂實例的唯一標識符。
(二)總體結構
依據DYNAMICSOFT公司首席科學家Jonathan Rosenberg博士提出的緊耦合SIP多媒體會議系統結構模型,我們設計并提出教學系統的以下結構。
系統為集中服務器體系結構,一個中心服務器對應一個課堂實例。從邏輯上劃分,中心服務器分為管理服務器和控制服務器。在物理實現上,采用管理服務器和控制服務器分離、一臺管理服務器配合多臺控制服務器的方式。因此,從拓撲結構上看,系統為星型結構。
從功能上看,系統分管理子系統和控制子系統。管理子系統負責存儲管理課堂狀態信息數據、課堂策略信息數據和用戶信息數據;課堂控制系統要負責與一個或多個終端進行SIP消息流和媒體信息流的交換,并對其進行控制,以保證課堂實例的正常運行。
除管理服務器和控制服務器外,系統還包含SIP服務器和終端。終端是師生參與課堂并獲取課堂功能服務的接口,SIP服務器協助控制服務器完成與參與課堂的師生之間的SIP會話的建立和維護。
SIP服務器可分為注冊服務器、服務器和重定向服務器,它們分別完成用戶地址注冊、SIP消息的路由和轉發、返回目標SIP用戶地址信息的任務。
終端與控制服務器除了通過SIP服務器交換SIP消息外,還直接通過建立RTP會話交換實時媒體流消息;終端與管理服務器之間、控制服務器與管理服務器之間則采用課堂信令和自定義接換消息。
(三)各子系統的設計
1.管理子系統
管理服務器是管理子系統的主體,它管理一個或多個控制服務器并與之交互,協助完成課堂基本功能;與一個或多個終端交互,提供接口供終端用戶以不同的權限操縱控制課堂功能、查詢課堂各種信息;存儲管理課堂策略信息數據、課堂狀態信息數據和用戶信息數據。
管理服務器根據自身存儲的最新課堂策略信息,生成課堂配置和控制命令并傳送給控制服務器;控制服務器則是命令的具體執行者??刂品掌骼肍OCUS的課堂狀態通知服務功能獲取最新的課堂狀態信息,上傳給管理服務器。兩者合作完成課堂的基本功能。另外,管理服務器提供接口,設置不同的權限供終端操縱和修改課堂策略。
由于用戶普遍習慣使用Web瀏覽器,因此,本文加入一個中間層-Web服務器,作為管理服務器與終端交互的中介和紐帶。管理服務器與Web服務器的交互也采用簡單的自定義接口規范,利用請求/應答模式完成。同時,管理服務器向用戶提供課堂信息的查詢功能服務,使用戶能夠了解最新的課堂策略信息和最新的課堂狀態信息。
考慮到存取數據的效率問題,并為了降低系統的復雜性,管理服務器上課堂信息數據的存儲采用XML技術來實現。課堂信息數據包括當前運行的課堂實例數目、每個課堂實例的URI、中心控制服務器的IP、開始時間、結束時間、課程名稱、教師URI、教師使用的媒體類型信息、學生數目以及每個學生使用的媒體類型信息等。
2.控制子系統
該子系統是系統的重點和核心部分,控制服務器與管理服務器交互,獲取最新的課堂配置和控制命令,并執行命令;與各終端交互,進行SIP消息和媒體流信息的交換,并對其進行控制;獲取最新的課堂狀態信息,上傳給管理服務器。
在邏輯結構上,控制服務器包括FOCUS、SIP協議棧、媒體處理器、傳輸層及底層通信網絡。其中,FOCUS是一個課堂實例的中心SIP用戶,其作用是:通過服務器、重定向服務器和注冊服務器與終端用戶保持信令連接,維護管理SIP會話;將接收到的媒體配置和控制命令傳送給媒體處理器,由媒體處理器集中處理來自各個終端的媒體流,進行混合和轉發,實現媒體信息的控制和交換;利用自身的課堂狀態通知服務功能從終端獲取最新課堂狀態信息,上傳給管理服務器。
四、系統工作流程
整個系統的工作步驟分以下幾步:教師預約新課堂實例、創建課堂實例、成員加入課堂、課堂實例運行、課堂實例結束、成員退出課堂和銷毀課堂實例。
系統管理員啟動系統后,教師首先向SIP注冊服務器注冊自己的當前位置,注冊成功后,根據本人的教學課程安排向管理子系統提出新課堂預約申請。管理子系統根據成員策略對教師身份的合法性進行鑒定,身份驗證通過后,向教師返回包含申請成功ID號、新課堂實例開始和結束時間信息的成功消息。當預約課堂的開始時間到了后,教師即可利用申請成功ID號向管理子系統申請創建課堂實例,管理服務器創建新的課堂實例(即生成一個課堂URI),分配一臺新的控制服務器,并指示控制服務器上的FOCUS向申請教師發送SIP的INVITE消息,邀請教師加入課堂。教師回送ACK消息后即加入課堂實例,此時的課堂實例狀態為運行狀態,但還沒有學生加入。
學生在使用系統前,也要首先向SIP注冊服務器注冊自己的當前位置。注冊成功后,學生加入課堂實例有兩種方法:一是主動加入,即通過Web瀏覽器查詢課堂信息,找到自己要加入的課堂并且當該課堂實例已經運行后,向該課堂實例URI(也就是FOCUS URI)發送INVITE消息申請加入。FOCUS根據成員策略鑒定學生身份后,向學生返回允許或拒絕的應答。二是被動加入,即FOCUS向所有符合成員策略要求的學生多播發送邀請的SIP消息,收到邀請的學生對其作出應答后即可建立連接并加入。
課堂實例運行過程中,經過教師批準后,學生可以重新設置自己的媒體參數并且可以提前離開課堂實例。學生向FOCUS發送Re-INVITE(重新邀請)方法的SIP消息(消息體中包含調整后的媒體描述信息),即可改變自己使用的(下轉第66頁)(上接第60頁)媒體參數。學生向FOCUS發送帶有BYE方法的SIP消息就可離開課堂實例。
教師也可以設置自己授課使用的媒體參數,同樣只需向FOCUS發送Re-INVITE(重新邀請)方法的SIP消息即可。當發現有不合格的學生后,只需向其發送帶有BYE方法的SIP消息就可將其逐出課堂。
與加入課堂相似,課堂結束時學生退出課堂的方法也有兩種:一是主動退出。教師宣布下課后,成員終端可分別向FOCUS發送帶有BYE方法的SIP消息并退出課堂。二是管理服務器根據課堂實例的結束時間指示FOCUS向所有課堂成員終端發送帶有BYE方法的SIP消息,終端作出應答,斷開與FOCUS的連接,退出課堂。
FOCUS利用課堂狀態通知服務的功能及時把正在結束的課堂實例中還未退出課堂的人數信息傳送給管理服務器。當未退出課堂人數變為零時,管理服務器銷毀該課堂實例,釋放該課堂實例占用的所有資源。
五、總結
本系統有如下特點:
第一,系統采用集中服務器方式的體系結構,具有簡單清晰、便于管理等優點。
第二,集中服務器在物理實現上又采用控制服務器和管理服務器相分離的方式,整個系統中由一臺主服務器-管理服務器和多臺控制服務器組成,控制服務器集中進行SIP會話管理和媒體流的處理,這有利于減輕系統負荷,達到平衡系統負載的目的。
第三,系統提供給用戶的功能服務接口大多采用Web方式,這符合用戶的操作習慣,降低了終端實現的復雜性。
第四,系統數據采用XML文件的形式來存儲,可以提高數據存取的效率,優化系統性能。
六、結語
SIP協議還處于不斷的研究和發展中,有關SIP運用于遠程多媒體教學系統的實際例子也很少,本文對SIP運用于遠程多媒體教學系統作了一定的探討和研究,系統很多方面需要完善和改進。
參考文獻