男女扒开双腿猛进入爽爽免费,男生下面伸进女人下面的视频,美女跪下吃男人的j8视频,一本色道在线久88在线观看片

sip協議模板(10篇)

時間:2023-03-10 15:05:29

導言:作為寫作愛好者,不可錯過為您精心挑選的10篇sip協議,它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內容能為您提供靈感和參考。

sip協議

篇1

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)25-0035-02

1 引言

第三代合作伙伴3GPP選擇sip協議作為第三代移動通信系統的IP多媒體子系統(IMS)心靈協議,是因其具有靈活、無縫和可擴展性,它將逐漸成為下一代網絡NGN中關鍵控制協議之一。它可以滿足多媒體通信與網絡電話的要求,所以很多的通訊公司均先后研發出了支持SIP的服務產品與終端產品。為充分適應這些技術的發展,SIP協議需要進行進一步的完善與擴充,但是如果協議在設計環節出現任何問題都會給系統帶來難以預料的影響,所以為保證協議的穩定性和安全性,應在早期開發時盡可能挖掘其隱蔽的問題并找出解決方案。

目前研究SIP協議主要涉及以下幾方面:基于SIP的應用于服務[3];SIP測試工具和方法;其他協議與SIP協同工作。因時間著色Petri網TCPN[2]在描述帶有較復雜的交互動作和時間約束的系統過程中具有明顯的優勢,故本文以TCPN為模型分析工具進行SIP協議分層TCPN模型的構造,并在不同狀態下實現分層建模。

2 SIP協議事務處理

SIP協議通過事務進行會話控制,其主要事務有INVITE、non_INVITE事務。INVITE事務完成會話的創建,non_INVITE事務則完成會話的保持與關閉。SIP端系統(User Agent,UA)是連接服務器從而發送服務請求的一種應用程序。因UA向服務器發送服務請求并接收來自服務器的響應,故一個UA有UAS(用戶服務器)和UAC(用戶客戶端)兩部分,這兩部分就是SIP協議中的兩個最關鍵的參與者,UAC創建呼叫請求,UAS接受呼叫給出響應。

在SIP的請求消息中,最常用的有INVITE、REGISTER、CANCEL和BYE。其響應消息有1xx、2xx、3xx、4xx、5xx、6xx6種。SIP的呼叫方式有3種:從UAC到UAS的直接呼叫、從UAC發出的重定向呼叫、服務器發起呼叫。本文主要針對應用最廣的直接呼叫進行分層建模。

3 SIP協議TCPN分層建模

本文應用CPN Tools[4]進行INVITE事務的分層建模,并在不同的抽象層次上描述協議行為細化模型。這種方法在一個層次中描述協議細節,有利于優化或局部完善協議模型,也能有效把握模型規模,便于確認模型與分析協議性質。

SIP協議的TCPN分層模型中的10個模型頁分別處于不同的層次,每頁所描述的是對應抽象級別上的協議功能,低級別頁作為高級別頁的替代變遷子頁。各層次模型頁功能描述如下表1。各層內部模塊細化是依據UAS與UAC在INVITE事務執行過程中具備的不同狀態進行的,因在terminated狀態下協議無行為,而僅表示終止事務,故沒有單獨描述此狀態。

3.1 總體流程建模

SIP協議分層TCPN模型的top page(頂級頁)如下圖1所示,它總體描述了協議運行的網絡拓撲,其中使用了2個替代變遷對NET、UAS和UAC在協議運行過程中的交互行為進行描述。UAC通過NET向UAS發送REQUEST型數據,UAS將RESPONSES型數據通過NET回傳給UAC。

Client頁用以描述UAC的行為,下圖2所示為其頁模型。圖中的3個替代變遷對應的子頁能夠更加細致地描述處于不同狀態的UAC端行為。庫所Scene用以描述UAC的行為,變遷TransErr可以模擬協議在不同條件下出現傳輸層錯誤時所采取的處理方式。

3.2 網絡層建模

下圖3所示為NET頁模型,描述的是由UAC到UAS的網絡傳輸建模。庫所Schannel_Em記錄的是有多少個消息被成功地傳送到了UAS端,其初值為0。庫所CollectorCTS用以收集不可靠鏈路丟失的消息。變遷RCTS與CTOS用以模擬不可靠鏈路。不可靠鏈路的具體建模方式如表2所示。

通過上述時間類型、弧表達式及防衛表達式的應用,可模擬存在重復數據包、延遲、丟包的不可靠鏈路。若對其某些參數做適當的修改,便可動態調整其鏈路的可靠性,以此來真實地模擬不可靠鏈路。

3.3 具體行為建模

本文表1中的Sproceeding、Ccalling、Cproceeding等底層模型頁描述UAS和UAC在不同狀態下處理事件的過程,也就是對協議的具體行為建模。下文以UAC端處于Ccalling狀態時的應答消息處理行為為例,闡述具體行為的模型描述方式。

下圖4所示為UAC處于Ccalling狀態時處理INVITE消息的模型,即Ccalling頁模型。圖中CallTimer表示UAC處于超時狀態時消息的處理過程,CallResp表示UAC收到UAS應答時對消息的處理過程。庫所TimerAorB用以控制A與B兩個定時器的觸發。融合庫所cloneCs用隊列存放UAC每次狀態的變化,其隊首為UAC的當前狀態,Scenec記錄UAC的當前狀態和導致UAC變為此狀態的事件。Message存放初始條件下從SIP協議上層收到的INVITE請求。Channel_Em用以記錄當前是否收到UAS的應答,其初值為0。

當收到UAS會送的響應消息時,變遷CallResp被點火執行,即運行其對應的函數代碼。此函數代碼中sta與st均為SCENEC型變量,st是處理消息前UAC的狀態,sta為處理消息后UAC的狀態。Action部分調用函數call_resp(st,resp)完成UAC對不同類型響應消息的處理,該函數代碼如下:

由上述代碼可知,處理類型為r2xx的應答消息后UAC處于TERM狀態,處理類型為r3xx的應答消息后處于COMP狀態,處理類型為r1xx的應答消息后處于PROC狀態。

4 總結

本文給出了SIP協議處理INVITE事務的TCPN分層模型,對該協議總體流程、網絡層、UAS與UAC間的具體行為在不同模型層次上分別進行建模。該層次模型規模可控、功能劃分直觀、數據結構完備,為建模后期協議的驗證與改進提供了較完善的模型基礎。

參考文獻:

[1] 姜秀玉,楊峰,崔再惠.SIP協議實現中消息解析的研究[J].計算機工程與設計,2010(7).

篇2

【中圖分類號】TP3 11.1 【文獻標識碼】A 【文章編號】1672-5158(2013)01―0085―02

1 引言

VOIP(基于網絡的語音傳送)是語音通信發展的趨勢。大多數電信廠商均認為,雖然目前VOIP在語音通信流量中只占很少的比例,但隨著時間的推移和技術的發展,VOIP電話語音所占比例正快速增長。作為實現VOIP系統的軟交換協議,會話控制協議(SIP)和H.323、XMPP協議就是其中的三大主流技術,其中,SIP信令控制協議正越來越受到人們的關注。

2 SIP協議

SIP最早源于二十世紀九十年代中期哥倫比亞大學提出的研究成果,后經IETF的一個標準化應用控制(信令)協議。眾所周知,它可用來建立、修改以及終止多個參與者參加的多媒體會話進程。參與會話的成員可以通過單播連網、組播方式或者兩者結合的形式進行通信。并能動態調整和修改會話屬性(如會話帶寬要求、傳輸的媒體類型、媒體編解碼格式等)。

SIP協議中有客戶機和服務器之分。客戶機是向服務器發送sIP請求并能夠與服務器建立連接的終端應用程序。用戶(User Agent)和(Proxy)中都包含客戶機的應用。服務器是一個邏輯實體,它響應客戶機發出的SIP請求,提供接收、拒絕和重定向等服務,并回送應答的應用程序,主要包括用戶服務器、服務器、重定向服務器、注冊服務器等四類服務器:

SIP協議最初規定了六種信令:REGISTER、INVITE、ACK、BYE、CANCEL、OPTIONS。其中REGISTER用于客戶端向注冊服務器等級和綁定用戶的位置等消息;INVITE和ACK用于創建會話呼叫,成功建立呼叫會話,或者用于改變已經建立以后會話屬性;BYE用以終結和斷開已經建立的會話;CANCEL用于終止已經發起但還未完全建立會話的請求;OPTIONS用于查詢其它用戶和服務器能力。

SIP在設計上充分考慮了對其它協議的擴展適應性。它支持許多種地址描述和尋址,包括用戶名@主機地址;被叫號碼@PSTN網關地址;Tel:010-5 9988888普通電話的描述等。這樣,SIP主叫按照被叫地址就可以識別出被叫在模擬電話網絡上的位置,然后通過一個與模擬電話網絡相連的語音網關發起請求呼叫。

SIP主要支持三種方式建立呼叫,包括:由用戶客戶機(UAC)直接向用戶服務器(UAS)發起的呼叫,由用戶客戶機在重定向服務器的協助下進行的重定向呼叫和由服務器代表用戶客戶機向被叫發起呼叫。圖1是由SIP建立呼叫的模型。

3 SIP和H.323、XMPP協議的比較

SIP和H.323、XMPP協議都是作為多媒體通信的應用層控信令協議設計的。H.323試圖用VOIP電話替換傳統的模擬通信,且只是傳輸方式由原來的電路交換變成了分組交換,就如同模擬傳輸變成數字傳輸。XMPP(可擴展通訊和表示協議)以Jabber協議為基礎,可用于服務類實時通訊、表示和需求響應服務中的XML數據元流式傳輸。而SIP協議側重于將IP電話作為因特網上的一個應用,相比較于較其它協議(如FTP,E-mail等),雖然都利用RTP作為媒體傳輸的協議,但H.323是一個相對復雜的協議,增加了信令和QoS的要求。

H.323采用基于抽象語法標記ASN.1和壓縮編碼規則的簡潔的二進制編碼規則發送其各種形式的信息。XMPP是基于可擴展標記語言(XML)的協議,它繼承了在XML環境中靈活的擴展性,因此,基于XMPP的應用具有超強的可擴展性。而SIP以文本形式描述的協議,類似于HTTP。基于文本的編碼協議,能夠顯而易見的表示其頭域的意義,如From、To、Subject等域名。過去的實踐,已經充分證明了這種不需要復雜文檔說明的標準的優越性。

在電話會議支持方面,由于H.323協議中規定由多點控制單元(MCU)集中控制會議各種功能,要求所有參加會議終端都將控制消息發送到MCU,MCU極有可能成為電話會議的瓶頸;另外H.323協議只支持信令的單播功能,而不支持組播功能,限制了協議的可擴展性,同時也降低了可靠性。雖然XMPP是支持組播的消息類型,但協議本身仍需為創建方便和高效的多人視頻會議進行完善。而SIP協議設計之初就設立了分布式的呼叫機制,其組播功能不僅能夠便于會議控制,而且簡化了用戶的定位、邀請群組等,并且節約了寬帶的占用。

H.323中專門定義了用于增值業務的協議,比如H.450.1、H.450.2和H.450.3等。XMPP協議經過擴展以后,可以通過發送擴展的信息來處理用戶的需求,以及在XMPP的頂端建立如內容系統和基于地址的服務等應用程序。同樣,SIP協議也可以非常方便地支持補充業務或智能業務。只要充分利用SIP已定義的方法和頭域,就可以輕松實現對這些業務的支持。對于無法通過現有的方法和頭域實現的業務,因SIP本身就是一種可擴展的協議,所以也可以通過擴展特定的方法和頭域實現相應的智能業務,并在體系結構中增加業務,提供一些補充服務或與智能網設備的接口。

在H.323中,呼叫建立過程涉及到三條信令信道的協調,呼叫建立所需的時間很長。XMPP使用訂閱協議管理多方通信中的帶內通信(主要是多方數據通信),并為帶外多方通信提供基礎平臺。在SIP中,會話請求過程是和媒體信道協商過程等一起建立的。盡管第二版的H.323協議,已經優化了呼叫請求的過程,縮短了呼叫建立會話的時間,但仍無法與SIP只需要1.5個回路時延建立呼叫相提并論。并且,H.323的呼叫信令通道和H.245控制信道需要依賴可靠的傳輸協議。而SIP獨立于低層協議,一般使用UDP協議,通過利用自己信令層的可靠性機制來保證消息的可靠傳輸。

4 企業SIP電話設計方案

考慮SIP在企業網中的實際應用,本文按照SIP協議規范提出了一套VOIP電話系統設計方案,SIP終端不僅可以在企業內部網絡正常應用,也可以透過企業防火墻借助互聯網進行應用,圖2其系統結構示意圖。也就是說,企業IP電話網絡中使用私有地址的SIP終端可以作為被叫被外界SIP終端呼叫。這樣VOIP在企業網絡的應用才有意義。

4.1 系統基本工作流程

用戶注冊:用戶通過客戶機自動向SIP服務器端發送注冊信息;該服務器的SIP注冊服務模塊接收注冊信息后,要先對客戶端進行身份驗證,確認其合法后再對該用戶的狀態信息、IP地址信息等進行更新。

會話建立:用戶A準備發起一次與用戶B通話時,首先A通過其用戶客戶機將會話請求傳至SIP服務器,之后通過該服務器進一步查找用戶B的有關信息,并進行精確定位,服務器判定用戶B是否具有接通能力,如果可以則將用戶A的呼叫請求直接轉發給用戶B,否則服務器直接向A返回拒絕信息。

通話過程:如果A和B之問的通信鏈路建立成功,則他們之間直接進行通信直至會話結束,通話結束時向服務器發送會話結束請求。

4.2 系統協議結構

由于SIP僅是會話初始化協議,不能像H.323協議的通信系統那樣提供全部的語音會話業務,必須協同其他協議共同來建立一個完整的多媒體業務體系結構,本方案采用的協議結構如圖3。在應用層,SIP協議主要負責會話的建立、管理以及性能協商等任務,由于SIP協議本身提供了可靠的響應機制,故在傳輸層選用UDP協議也能保證信令的正確傳輸。實時流協議(RTSP)用于控制“一點到多點”的多媒體數據流。系統采用了資源預留協議(RSVP)和實時傳輸控制協議(RTCP),以確保系統具有較高的服務質量。資源預留協議規定和分配了IP網絡的資源保護技術,可將資源預留給一個或多個給定的會話,并且該會話優先于任何試圖參與雙方之間的其它媒體交換;實時傳輸控制協議用來檢測并潛在地解決發送問題,從而監控會話質量和檢測網絡問題以達到對QoS的監控。

實時傳輸協議(RTP)用來實現端到端的語音數據的實時傳輸業務。由于使用UDP協議,得到了端到端的QoS支持,基于SIP協議的IP電話系統,在網絡帶寬被其它業務負載較重時,可以降低在超時連接時導致呼叫建立的延遲,因此本方案在傳輸層選用無狀態的UDP來傳送語音信息。這里以將RTP看作是在UDP協議上運行應用服務,構成支持實時數據傳遞所需的傳輸功能的不同部分。

5 國內外SIP協議的應用

自2000年6月,瑞典舉行的Voice On the Net 2000展示會以來,VOIP主流通信協議的發展和變化一直為人們所重點關注。

目前,采用H.323的VOIP服務對終端設備的要求較高。XMPP協議是IETF近期的標準,有待進一步完善。而SIP協議優勢非常明顯,它簡單靈活、分布控制,而且極易與其它服務集成。因此,在開發VOIP產品的同時,要關注SIP的發展,借鑒其有用之處。不可否認,在整個電信網絡中,一直存在采用H.323協議統一VOIP實現的呼聲,不過,電信廠商和運營公司均承認SIP的靈活性,并已采取行動利用SIP協議開發相關應用產品。

微軟公司:早在2000年,微軟公司就推出了基于SIP協議的即時通信產品,經過不斷優化和升級,其最新的版本是LYNC 2013,LYNC 2013提供了在線狀態、即時消息、語音、視頻、WEB會議等功能,已經占據了國際統一通信大部分市場。

AVAYA:從2004年就已經開始著手基于SIP的產品及解決方案的研發,而Avaya在SIP上的定位也非常明確,所以在解決方案的規劃上,Avaya力求把SIP和原有的應用層解決方案緊密融合。并在原有應用的基礎上擴展由于SIP的引入而增加的新的功能。CCS服務器是Avaya最新的SIP服務集成解決方案,CCS服務器集成了SIP中幾乎所有的主要服務器功能,為企業基于SIP的通信網絡提供集成的服務。

華為公司:近年來,華為公司認為隨著基于SIP的VoIP實現門檻越來越低,語音業務將逐步退出主導地位,成為一種最基本的業務。因此,華為公司不僅僅了基于SIP的語音網關產品,如:迅時MX51系列語音網關;還推出了基于SIP的融合通信產品eSpace。

篇3

中圖分類號:TN915.04 文獻標識碼:A文章編號:1007-9599 (2011) 09-0000-01

SIP Protocol and Application Analysis in The IMS

Zheng Zhijun

(China Tietong Telecommunications Corporation,Hengshui Branch,Hengshui053000,China)

Abstract:IMS is a 3GPP Release 5 version of the proposed support for IP Multimedia Subsystem services,SIP is an application layer control protocol for creating,modifying and terminating one or many of the multimedia sessions,SIP is the basic control of IMS agreement.This paper briefly describes IMS and SIP protocol,SIP protocol and then introduce the basic IMS applications and extended application.

Keywords:SIP;IMS;Application

一、SIP介紹

SIP(Session Initiation Protocol)是一個會話層的信令控制協議,它獨立于底層協議,用于建立、修改和終止IP網上的雙方或多方的多媒體會話。1999年由IETF組織提出,它是一個在基于IP網絡中,實現實時通信應用的一種協議。SIP支持、重定向、登記定位用戶等功能,支持用戶移動,與RTP/RTCP、SDP、RTSP、DNS等協議配合,可支持和應用于語音、視頻、數據等多媒體業務,同時可以應用于presence(呈現)、instant message(即時消息)等特色業務。它的應用非常靈活。

SIP有下面五個基本功能:

(一)確定用戶位置:確定被叫SIP用戶所在的位置。SIP的最強大之處就是用戶定位功能,它可以利用SIP終端在注冊服務器上的注冊信息實現用戶定位,也可以利用其他定位服務器,如DNS、LDAP等提供的定位服務來增強其定位功能。

(二)確定用戶可用性:確定被叫會話終端是否可以參加此會話。SIP支持多種地址描述和尋址方式,包括SIP-URI、Tel-URL和SIPS-URI。這樣,SIP主叫根據被叫地址,就可以識別出被叫是否在傳統電話網上,然后通過一個與傳統電話網相連的網關向被叫發起并建立呼叫。

(三)確定用戶能力:確定被叫終端可用于參加會話的媒體類型及媒體參數。SIP終端在消息交互過程中攜帶自身的媒體類型和媒體參數,這使得會話雙方都可以明確對方的會話能力。

(四)建立會話:建立主被叫雙方的會話。SIP會話雙方通過協商媒體類型和媒體參數,最終選擇雙方都具有的能力建立起會話。

(五)管理會話:可以更改會話參數或中止會話。SIP本身已經從最初致力于P2P通信發展成為了下一代網絡(NGN)綜合協議體系的核心。

二、IMS系統

IMS(IP Multimedia Subsystem)是IP多媒體子系統,本質上說是一種網絡結構。核心思想是在3G核心網中支持多媒體會話及其他基于SIP協議的業務,目的將蜂窩移動通信和互聯網技術結合起來,能提供綜合業務的下一代通信網絡,它獨立于接入和承載技術,即IMS的核心特點是采用SIP協議和與接入的無關性。

三、SIP協議在IMS中的應用

IMS的主要功能實體包括呼叫/會話功能實體(CSCF)、原籍用戶服務器(HSS)、媒體網關控制實體(MGCF)和媒體網關(MGW)等。其中最重要的實體是CSCF和HSS。CSCF主要負責對多媒體會話進行處理,其功能包括多媒體會話控制、地址翻譯以及對業務協商進行服務轉換等,相當于SIP服務器。CSCF分為CSCF(P-CSCF)、查詢CSCF(I-CSCF)和服務CSCF(S-CSCF)。P-CSCF是IMS系統中用戶的第一個接觸點,所有的SIP信令都必須通過P-CSCF。I-CSCF提供到歸屬網絡的入口,將歸屬網絡的拓撲隱藏起來,并可通過歸屬用戶服務器HSS靈活選擇S-CSCF,并將SIP信令路由到S-CSCF。S-CSCF是IMS的核心,它位于歸屬網絡,提供UE會話控制和注冊服務。在SIP會話中他是SIP的服務器。HSS類似于現在移動網絡的HLR,它是IMS中所有與用戶和服務相關的數據的主要存儲器。存儲在HSS中的數據主要包括用戶身份、注冊信息、接入參數和服務觸發信息等。

SIP信令消息從移動用戶發起,經UMTS(通用移動通信系統)陸地無線接入網絡進入核心網,通過SGSN(GPRS服務支持節點)和GGSN(GPRS網關支持節點)到達CSCF,經過處理后送往其他IMS網絡、MGCF/MGW網絡或外部IP網絡。在此過程中,SGSN和GGSN僅查看消息的目的IP地址,不分析消息的內容,起到路由器的作用。

當3GPP RS在規劃IMS時,由于SIP的靈活性和可擴展性,決定采用SIP機制作為IMS網絡的會話初始化協議。3G網絡被分為3個不同的域:電路交換域、分組交換域和IP多媒體交換域。其中IP多媒體子系統域是3G中最重要的域,這個域采用SIP作為主要的信令協議向用戶提供基于因特網的多媒體服務。從邏輯上講,所有的3G終端都包含一個SIP用戶,IP多媒體網絡節點就是SIP規范中所提到的。

篇4

一、前言

隨著企業生產自動化程度不斷加深,管理效率不斷上升,企業逐步由分層管理向扁平化管理轉變。而伴隨著企業管理方式的轉變,企業通信系統也開始向融合智能化發展。這是因為傳統的有線對講系統、調度系統、廣播系統、監控系統等是多個獨立的系統,其重復布網、維護復雜等問題無法有效得到解決。為了解決這些問題,首先需要將這些系統統一到一個網絡中來,然后通過一個系統將用戶使用的電話、對講等語音終端進行管理。管理大容量的語音終端比較成熟的是軟交換技術,同時可以發揮網絡靈活接入的特點,完成各種系統統一接入的要求。

二、問題提出

傳統的語音通信系統主要包括調度系統、有線對講系統、應急通信系統等利用程控技術設計出不同操作模式的語音交換系統。這些系統由于主機與終端的差異導致骨干網絡無法共用,導致運維復雜等。現在主流的語音交換技術為軟交換技術,而軟交換技術最為靈活的協議為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協議簇實現的基于軟交換的調度系統、有線對講系統功能在工業現場得到了廣泛的應用。解決了工業語音網融合的問題,為用戶設計整個企業的網絡提供了技術保障。

篇5

引言

目前傳統的公眾交換電話網(PSTN)上傳送著許多數據業務,由于快速增長的數據業務給并不適合傳送數據業務的電話網造成了很大的壓力。因此,基于分組技術的數據網與電路交換網最終必將走向融合,產生下一代由業務驅動的網絡。軟交換是下一代網絡交換的核心,如果說傳統電信網絡是基于程控交換機的網絡,而下一代網絡則是基于軟交換的網絡。

1系統開發的技術基礎

1.1軟交換的概念

我國信息產業部電信傳輸研究所對軟交換的定義是:“軟交換是網絡演進以及下一代分組網絡的核心設備之一,它獨立于傳送網絡,主要完成呼叫控制、資源分配、協議處理、路由、認證、計費等主要功能,同時可以向用戶提供現有電路交換機所能提供的所有業務,并向第三方提供可編程能力。”

1.2 SIP協議介紹

會話初始化協議SIP(Session Initiation Protocol)是一個面向Internet 會議和電話的簡單信令協議,SIP最初由IETF MMUSIC (Multiparty Multimedia Session Control) 工作組提出。它的主要目的是為了解決IP網中的

信令控制,以及同軟交換機的通信,從而構成新一代的通信平臺。

2 系統的總體設計和實現

2.1系統的層次結構

軟交換采用業務與交換分離的設計思想,在系統設計結構上將軟交換技術應用設計為三層結構,底層為用戶接入層,中間為交換支撐層,最上面是業務實現層。系統的層次結構如圖1所示。

2.2呼叫管理服務器的設計與實現

呼叫管理服務器處于該體系結構中的網絡控制層,它是軟交換系統的核心部分。呼叫管理服務器除了完成呼叫控制、連接控制和協議處理功能外,還將提供原來由網守設備提供的資源管理、路由以及認證、計費等功能。

軟交換系統的運行需要SIP協議棧和SDP協議棧。客戶端應該能夠產生INVITE和ACK請求,能夠產生和解析Call-ID,Content-Length,Content-Type,Cseq,From和To頭部字段。呼叫管理服務器應該能夠接收INVITE,ACK,BYE,CANCEL和REGISTER請求,應該能夠產生和解析Call-ID,Content-Length,Content-Type,Cseq,Expires,From,Max-Forwards,Via和To頭部字段。為了能夠使客戶端和服務端能夠使用RTP傳輸語音流,SDP協議應該能夠產生和解析v,o,s,c,t,m和a頭部字段。

本系統以面向對象的方法設計了一個滿足系統要求的最小SIP和SDP協議棧。SIP協議棧支持INVITE,ACK,BYE,REGISTER和CANCEL請求,支持100,180,200,300,400,500和600狀態應答,支持Subject,Contact,Call-ID,Content-Length,Content-Type,Cseq,Expires,From,Max-Forwards,Via和To頭部字段。SDP協議棧支持v,o,s,c,t,m和a頭部字段。SIP和SDP中的頭部字段都是以類的形式實現的,所支持的頭部字段都是從一個抽象類Header繼承而來。抽象類Header的定義如下:

class Header

{

public:

Header();

virtual ~Header() = 0;

virtual string encode() const = 0;

virtual void decode(const string& headerString) = 0;

virtual string getName() const = 0;

};

其中最主要的方法為decode,主要用來對相應的頭部字段進行解析,getName方法返回當前的頭部字段類的類名,encode方法用來產生相應的頭部字段的字符串。

其中SIP協議棧的結構如圖2所示:

解析層是對SIP消息進行解析和構造。解析層實現的關鍵在于各個頭部字段類的設計及其相應decode方法的實現。解析層的實現借鑒了VOCAL開放源碼中SipStack的頭部字段類的設計方法,VOCAL的SipStack對RFC2543完全支持,但協議棧非常的龐大,設計的過程中參考了VOCAL的SipStack的頭部字段類的設計形式實現了一個簡潔,實用的SIP協議棧,SIP協議棧的大小還不到VOCAL的SipStack的1/10。

3 結束語

總之,基于SIP協議軟交換系統的前景非常廣闊,在這個領域,有許多技術難題等待人們去解決。相信在大家的共同推動之下,軟交換系統的應用將得到快速的發展。

參考文獻

[1]強磊等編著.基于軟交換的下一代網絡組網技術[M].人民郵電出版社,2005

篇6

中圖分類號:TP393.0

文獻標識碼:A

DOI: 10.3969/j.issn.1003-6970.2015.07.025

0 SIP簡介

SIP(會話初始協議,RFC3261)是IETF定義的通過IP網絡建立和管理多媒體會話的協議,它采用的是眾所周知的客戶機服務器模式,它借鑒了SMTP(簡單郵件傳送協議,RFC2821)以及HTTP(超文本傳送協議,RFC2616)的原理,而這兩個協議是因特網上最成功的協議,同時,SIP是一個基于文本的協議,這意味著它更易于擴展、糾錯和構建各種業務。因此,在IMS(IP多媒體子系統)中,選擇SIP作為其會話控制協議,更易于建立具有更大承載能力的業務。

根據協議標準定義及實際研制經驗,協議平臺的SIP協議分析劃分為以下幾部分內容: SIP事務用戶層(TU,Transaction User),事務層(TR,TRansaction),傳輸層(TP,TransPort),編解碼模塊(SIP PARSER/SDPPARSER,SIP協議編解碼及SDP編解碼),信令壓縮模塊(SIGCOMP)幾個協議主體部分。除了這幾個協議主體以外,SIP還需要實現和上層業務、數據庫以及底層承載之間的接口,方便進行數據以及消息的交互。

SIP協議的TU層是SIP協議主體的重要組成部分,它的功能包含幾個方面:(1)負責SIP消息到上層應用進程的消息分發;對上層應用屏蔽底層協議實現和分布式處理的細節;(2)對于需要創建對話的,維護對話的生命周期,管理對話的事務列表;(3)完成UAC, UAS或者pro xy的協議棧行為。

SIP采用的是一種offer/answer模型來描述會話。一個UA發起一個會話描述,稱為offer,另一個UA以另一個會話描述來進行響應則為answer,一個offer/answer在一個Dialog上下文中進行交互,因為在具體實現SIP協議棧時,TU需要建立數據區來維護對話Dialog的相關信息,如圖1所示,TU是通過建立leg模型來維護dialog的,TU建立的數據區稱作leg,leg將會保存對于會話創建、會話釋放,處理請求、處理響應所需要的一些關鍵信息,而這些信息是通過SIP消息從相應的頭部中進行提取,和會話相關的主要頭部From,To以及Call-ID中的信息將都會保存在leg中。

數據區的創建根據協議棧的行為分為UA和proxy兩種情況。

Proxy方式下會存在一人一出兩個Leg對象,人呼側由TU收到事務層的初始請求而創建人呼側Leg對象,消息通過人呼側Leg處理后上報上層應用,上層應用處理結束后,轉發初始請求到TU的出呼側,TU進而創建出呼側Leg對象以及下發SIP消息。

UA方式下,作為被叫網元,TU協議棧收到事務的初始請求后,創建人呼Leg后,通過初始請求消息上報上層業務,上層業務處理完業務邏輯后,通過人呼Leg回送響應到事務層。后續請求和響應都是通過人呼Leg傳送。作為主叫網元,上層應用調用發送初始請求接口到TU,TU創建出呼側Leg后,初始請求消息通過該Leg發送至事務層,后續請求和響應都是通過出呼側Leg傳遞。

1 forking功能

fork即常說的分叉,一個請求可以分叉為發往多個目標地址的請求。假定B用戶為一號多機用戶,即一個SIP用戶可以同時在很多終端上注冊,每種終端可以實現不同的功能,比如便攜PC支持視頻而固定SIP電話可能功能簡潔,B用戶多個終端同時在線,當A用戶呼叫B用戶時,那么B用戶的多個終端都會收到呼叫請求,它的任意終端都可以去響應這個呼叫。A最終會選擇一個終端創建會話。

在IMS中實現fork功能涉及到的網元類型分為終端(UA行為)以及服務器(proxy)行為,根據協議的描述,梳理不同網元的處理原則。

1.1 終端處理原則

(1)請求

根據協議的描述,只有初始對話(獨立事務)請求才會發生fork。終端可以在初始請求INVITE的碼流中的通過添加Request-Disposition頭部中指示進行fork的相關處理。同時,當被叫終端注冊了多個時,主叫終端可以添加Accept-Contact,Reject-Contact參數,指示選擇符合用戶偏好的被叫以及優先級更高的被叫。

(2)響應

當fork發生時,多個被叫終端都會對主叫產生響應,未創建對話前,主叫終端可以接受或拒絕任何被叫終端的Fork應答,如果終端拒絕fork臨時應答,那么必須發送cancel或者bye請求,這些請求是針對每個終端即每一個fork的分支都需要發出。

主叫終端如果接收到被叫終端一個fork分支的成功應答即2xx響應,開始創建會話;應該釋放其他fork分支的早對話和非早對話,具體釋放的方式根據各個fork分支的不同而不同。其中對于已經收到了臨時響應的fork分支,不管是否建立起了早對話,則發送CANCEL請求來釋放;對于沒有收到任何的臨時響應的fork分支,則不能發送CANCEL請求,通過TU設置的保護定時器超時,來釋放該分支的相關資源。

主叫終端只能收到一條最終響應,如果收到2xx響應,則建立對話,如果為2xx以上的響應,則認為無法建立呼叫,則需要釋放呼叫。

1.2 處理原則

(1)請求

提取碼流中fork和用戶喜好相關的字段,處理fork請求,比如到被叫的歸屬的服務器,需要將初始INVITE請求分叉為多個發送到被叫終端,對于非初始請求,需要進行轉發。

(2)響應

立即轉發除100(Trying)以外的任何臨時響應。立即轉發能成功建立對話的第一條2xx成功響應,如果其中任意一個地址接收呼叫,該網絡服務器應該向其它地址發送CANCEL消息,如果由于網絡時延而導致在服務器接收到多個200消息,服務器應當將后續的200消息拒絕掉,不應當后向轉發,這樣能保證只有一個終端能夠建立對話。

對于3xx類以上的非成功響應,根據響應碼的具體含義進行處理,比如3xx需要優先傳到主教終端進行重定向,而對于4xx、5xx、6xx等非成功相應,即先保存這些響應,如果最后沒有收到任何2xx響應,則根據協議規定的優選的原則選擇響應碼發送到主叫終端,結束整個會話。

2 SIP中fork的實現原理

SIP協議實現fork的基本邏輯功能:包括fo rk呼叫狀態維護,管理多個臨時響應創建的對話,并在會話創建之前維持多個早對話出/人呼側消息的正確關聯關系。上層業務維護多個Contact的上下文與分叉呼叫之間的關系,分別對早對話進行承載控制。

2.1 確定是否發生fork

當被叫終端注冊了多個Contact地址時,SIP協議需要去提取碼流中的相關字段,通過Accept-Contact,Reject-Contact參數確定好被叫目標集,并按照優先級將多個被叫終端進行排序,進一步的提取Request-Disposition頭部的關鍵信息,對是否需要進行fork進行確定,該頭部的內容如下:

proxy-directive=”proxy”

fork-directive="fork"/"no-fork"

parallel-directive="parallel"/"sequential"

其中proxy-directive確定當前的網元是否為proxy,fork-directive是用來指示是否需要fork,當指示為”no-fork”時,雖然被叫有多個,但是初始請求只會發送給優先級最高的被叫終端并不會產生分叉,如果指示為”fork”時,則進一步的讀取parallel-directive指示的值,parallel-directive若為“parallel”為并行fork,并行fork則需要被叫歸屬的服務器將初始的INVITE請求同時發送給多個被叫終端,既并行呼叫;若為“sequential”為串行fork,串行fork則不需要服務器將初始請求同時發送給多個被叫終端,而是逐個的發送,先發給第一個優先級最高的被叫,如果接通,則不需要進行后續處理,如果沒有成功接續,則繼續發送給第二個被叫,依次類推。

2.2 TU中會話的維護

從前面SIP的簡介我們得知,TU需要去維護會話dialog,而對于dialog的維護,TU需要創建數據區Leg去保存相應的信息,fork情況下,可能存在同時發起多路fork分支的呼叫,而多個被叫終端的對話信息是不完全相同的,如果把所有的信息都保存在簡單情況下的一個Leg數據區里,則容易引起一些誤操作,邏輯很不清楚,所以,可以采用TU維護多對數據區的方式來解決。

普通呼叫情況下,SIP的TU層只需要維護人呼側和出呼側的一對Leg即可,這樣所有的消息都通過這一對Leg來進行關鍵信息的記錄以及轉發。而fork情況下,由于終端有多個,而每個終端都可以傳送不同的請求和響應到主叫終端,為了對每個終端的信息進行彼此獨立的進行保存,TU為每一個終端建立對應的數據區Leg,具體如圖2所示,圖2和圖1比較可以看出,fork情況下,TU的人呼側和出呼側分別有多個Leg,而且人呼側和出呼側是一一對應的,比如In Leg(0)和Out Leg(0)是對應第一個被叫終端,用來記錄第一個別叫終端和主叫之間的會話信息,并進行這一分支呼叫的消息轉發,而In Leg(l)和Out Leg(l)是為主叫終端和第二個被叫終端服務的。當然,不管是fork的第一個分支還是第二個分支和主叫發生聯系,這都是屬于當前的這一個完整的會話,因此兩路分支之間也可能有信息的交互,此時可以通過CALL這樣的一個空間來保存兩者的數據區索引,方便通過一個人呼叫的Leg能很快的訪問到另一個分支的Leg。

3 具體流程

SIP的具體流程要分為并行和串行兩種情形,分別進行介紹:

3.1 并行流程

在并行流程中主叫的請求會同時被發送給兩個別叫用戶,具體流程如圖3所示,其中User AgentA為主叫用戶,User Agent B,C為被叫用戶,Proxy Server是IMS系統中的某個具體的網元,是服務器,主要是起到消息轉發以及完成fork功能的作用。

各步驟的具體含義如下:

主叫用戶A發起請求INVITE到服務器,對應圖上消息(1);

假定此服務器是被叫歸屬地的網元,它能檢測到有多個被叫聯系contact地址,同時通過Request-Disposition確定為發生并行fork,于是,向兩個被叫用戶B和C發起INVITE請求,對應圖上消息(2)和(3);

兩個被叫用戶收到INVITE請求后,提示用戶并振鈴,都發送180( Ringing)消息通過服務器傳給主叫用戶,主叫用戶能同時聽到兩個被叫的回鈴音,對應圖上消息(4)(5)(6)(7),此時,兩路別叫的180消息中的To頭部的tag值是不一樣的,這樣服務器中實現SIP的TU層就可以維護兩個leg,來保存兩路的不同會話信息;

兩個被叫用戶都會送響應,上圖中被叫用戶B接通呼叫,產生2000K的應答,而被叫用戶C則回送4XX消息,顯示忙,服務器接收到兩個被叫的不同應答,需要進行處理,它主動地對被叫用戶C回送ACK,以結束被叫用戶C之間的呼叫,同時將被叫用戶B的200 OK轉發到主叫側,具體對應圖上的(8)(9)(10)(11);

主叫收到成功響應后,回送ACK消息到被叫用戶B予以證實,呼叫建立,對應圖上的(12)和(13);

主叫掛機,發送BYE消息,被叫回應200 0K響應,整個通話結束,對應圖上的(14)(15)(16)(17)。

3.2 串行流程

在并行流程中主叫的請求會按照優先級先后發送給兩個被叫用戶,具體流程如圖4所示:

各步驟的具體含義如下:

主叫用戶A發起請求INVITE到服務器,對應圖上消息(1);

假定此服務器是被叫歸屬地的網元,它能檢測到有多個被叫聯系co ntact地址,同時通過Request-Disposition確定為發生串行fork,就需要根據兩個被叫用戶的優先級,優先級通過Accept-Contact,Reject-Contact等參數按照RFC3841協議規定的原則進行權值的計算,假定用戶B的優先級高于用戶C,服務器現將INVITE轉發給用戶B,對應圖上消息(2);

被叫用戶B收到INVITE請求后,提示用戶并振鈴,并發送180(Ringing)消息通過服務器傳給主叫用戶,主叫用戶能聽到被叫用戶B的回鈴音,對應圖上消息(3)(4);

被叫用戶B忙,因此回送4XX消息,服務器接收后,由于是fo rk情況,因此不將此失敗響應發送給主叫用戶,直接給被叫用戶回送ACK確認,并將此初始請求消息INVITE繼續發送到第二個用戶C,對應圖上消息(5)(6)(7);

被叫用戶C收到INVITE請求后,提示用戶并振鈴,并發送180(Ringing)消息通過服務器傳給主叫用戶,并進一步的發送200 0K響應接續通話,對應圖上消息(8)(9)(10)(11);

主叫收到成功響應后,回送ACK消息到被叫用戶B予以證實,呼叫建立,對應圖上的(12)和(13);

篇7

一、IMS-NGN網絡概況

IMS(IP Multimedia Subsystem)是IP多媒體系統, 是新一代的通信理念,它能夠滿足現在的終端客戶更新穎、更多樣化多媒體業務的需求,也是解決移動與固網融合,引入語音、數據、視頻三重融合等差異化業務的重要方式。IMS把原有的垂直型的網絡架構演進成了水平的網絡架構,并且獨立出了業務應用層,從而使得不同的業務應用之間的互操作性和共享性更為靈活。SIP(Session Initiation Protoca1)稱為會話初始協議,是用于在IP網絡中建立、修改和終止多媒體會話的一種應用層控制協議。SIP是由IETF組織于1999年提出的一個在基于IP網絡中,特別是在Internet結構的網絡環境中,實現實時通信應用的一種信令協議。

3GPP組織在Release 5及Release 6階段對IP多媒體應用領域進行了詳細的分析研究,Release 5完成了IP多媒體子系統(IMS)核心網的組網框架、公共組件及基本業務流程定義,Release 6在對Release 5相關部分進一步擴展更新基礎上,增加了對IMS關鍵業務能力、QoS保障、網絡互通以及IMS/CS融合等方面的定義。這個由3GPP組織提出的IMS架構和思路被業界公認為是比較完善的針對IP多媒體領域的解決方案,面向CDMA2000接入的3GPP2標準組、面向固網的TISPAN(Telecommunications and Internet converged Services and Protocols for Advanced Networking)標準組均以3GPP IMS模型作為基礎和參照進行了相應IP多媒體網絡架構和業務體系的定義。

圖1、IMS網絡的演進

NGN通過控制承載分離,構成一個分布的系統結構。使整體建網成本大大降低,網絡升級容易,便于加快新業務和新應用的開發和部署,快速實現低成本全網統一業務覆蓋。簡化了網絡層次結構提高了網絡資源利用率,減少了傳統電路交換機中繼互聯的復雜性和降低了承載網的成本。

二、IMS的網絡架構:

圖2、3GPP IMS網絡架構示意圖

IMS網絡架構,利用SIP的靈活性,可支持無線網絡中大量的電話和非電話業務。該體系按其邏輯功能可分成3層:即傳送網絡層(包括終端網關等)、會話控制層和應用服務層,因而體系結構采用控制和承載相分離的方式如圖3所示,分為接入互聯層、會話控制層、和應用層。

圖3、IMS網絡功能實體

接入互聯層完成的主要功能包括各類SIP終端SIP會話的發起終結;實現IP分組承載各種承載類型之間的轉換;根據業務部署和會話層的控制實現各種QoS策略;完成與傳統PSTN/PLMN間的互聯互通等功能。

會話層完成基本會話的控制,完成用戶注冊、SIP會話路由控制、和應用服務器交互執行應用業務中的會話、維護管理用戶數據、管理業務QoS策略等功能,和應用層一起為所有用戶一致的業務環境。會話層包括CSCF(Call Server Control Function)、MRFC(Multimedia Resource Function Controller)、BGCF(Breakout Gateway Control Function)、IM-SSF(IP Multimedia Service Switching Function)等功能實體。其中CSCF包括P-CSCF(Proxy CSCF)、I-CSCF(Interrogating CSCF)、S-CSCF(Serving CSCF)等類型,在物理上可以是合一的,也可以分別設置。P-CSCF是UE接入IMS系統的入口,實現了在SIP協議中的Proxy和User Agent功能。S-CSCF在IMS核心網中處于核心的控制地位,負責對UE的注冊鑒權和會話控制,執行針對主叫端及被叫端IMS用戶的基本會話路由功能,并根據用戶簽約的IMS觸發規則,在條件滿足時進行到AS(Application Server)的增值業務觸發及業務控制交互。I-CSCF在IMS核心網中起到關口節點的作用,提供本域用戶服務節點分配、路由查詢以及不同IMS域間拓撲隱藏等功能。

應用層,向用戶提供業務邏輯,包括實現傳統的基本電話業務,如呼叫前轉、呼叫等待、會議等業務;實現CS和PS已有的智能業務、基于SIP的非傳統電信業務等豐富的娛樂、游戲業務。

三、IMS的業務流程:

IMS控制層通過SIP(RFC 3261)基本協議建立、改變或結束多媒體會話及媒體協商。SIP協議具備以下優點:

(1)與媒體無關的會話控制可以使SIP支持豐富的多媒體通信。

(2)SIP地址與終端位置的無關性使SIP用戶天生具有移動性。

(3)協議簡單,易于擴展,使SIP協議能夠支持許多新業務;對不支持業務信令的透明封裝,可以繼承多種已有的業務。

(4)使用SIP智能終端可以將網絡設備的復雜性推向邊緣,簡化網絡核心部分。

下面介紹SIP協議在IMS業務流程控制中的應用。

圖4、IMS呼叫流程簡化結構

如圖所示,當A用戶想要與B用戶進行會話時,UE A就生成一個SIP INVITE請求,并且通過GM參考點將該請求發送給P-CSCF。P-CSCF會對用戶A進行鑒權,若A為合法用戶且簽訂了相應租約,P-CSCF通過Mw參考點轉發給S-CSCF。S-CSCF繼續處理這個請求,執行服務控制,包括與應用服務器(AS)的交互,并且通過SIP INVITE請求中的用戶B的身份最終確定用戶B的歸屬運營商的入口點。I-CSCF會通過Mw參考點收到該請求,并且通過Cx參考點來聯系HSS,以找到正在為用戶B提供服務的S-CSCF。該S-CSCF負責處理這個終結的會話,包括與服務器AS的交互,并最終通過Mw參考點將這個請求發送給P-CSCF。經過進一步處理后(例如壓縮和隱私檢查),P-CSCF通過Gm參考點將這個SIP INVITE請求發送給UE B。 UE B生成一個183響應,該響應經過與INVITE消息相同路徑反向傳回給UE A。再經過幾次往返協商后,UE A和UE B完成會話建立。

會話結束時,UE A(或UE B)發起SIP BYE請求,該請求沿著INVITE相同路徑傳送給UE B(或UE A),UE B返回一個200(OK)響應,沿途的CSCF和所有的AS都會清除與本次會話有關的所有對話狀態信息,SIP就完成了一次IMS業務流程控制。

四、結束語:

SIP及基于SIP的IMS業務體系為NGN的開發打下了基礎,顯示出巨大的潛力,全球已有50%的運營商部署了IMS。基于IMS架構的移動固定融合網絡是能夠得到普遍認同的最佳解決方案。

參考文獻:

[1]《3G IP多媒體子系統IMS--融合移動網與因特網》 (芬)Gonzalo Camarillo,Miguel A.García-Martin張同須譯 人民郵電出版社 2009

[2]《IMS技術原理及應用》 胡樂明 曹磊 陳潔 電子工業出版社 2008

篇8

通過采用AJAX及SIP通訊協議,設計一個WebService并以Web為接口的端對端異步通信實例,闡釋WebService雙向通訊的建構方式,同時對AJAX技術、SIP通訊協議的原理與應用作簡要介紹。

1.1WebService雙向通信機制

如圖1所示[1],建立Client/Server雙向通信的松散連接及緊密連接架構,WebService雙向通信包含了一個Client的主動請求和一個Server端的前項式Push或事件通知。這是從服務互動的觀點來設計的,最少會包含這3種型態,而每一個端點都像這樣具備Client與Server的功能設計。

(1)TYPEI是一個常見的單向WebService交互式樣板;Rc:表示Client端初始化一個請求,這個請求可以接收響應或是不需要響應。

(2)TYPEII是一個ServertoClient的異步Reply與EventNotification的交互式樣板,實際上異步Reply常被塑造成EventNotification的模式,有ACK就響應,否則就是Notification;Es:表示Server的事件通知,可以要求具有ACK的響應,也可以是一個事件通知。

(3)TYPEIII與TYPEI相反;Rs:表示Server端初始化一個請求,這個請求可以接收響應或是不需要響應。

圖1中實心的箭頭是初始化請求,虛線則是選擇性的信息響應,TYPEIServer必須提供適當的WSDL,通過SOAP傳遞給Client來使用,TYPEII和TYPEIII在Client必須提供適當的WSDL,通過SOAP傳遞給Server來使用,而WebService人需同時具備TYPEI~TYPEIII的行為能力,在一個WebService的端點中同時存在Client/Server的角色時就會出現狀態協調性的問題,如果協調性出現問題就會出現錯誤,傳統WSDL是One-way方式,要實現WebService雙向通信就要做動態的設計。

1.2AJAX技術

AJAX的全名為AsynchronousJavaScriptandXML,是JavaScript及XML等技術的結合體,另外AJAX也包含瀏覽器端如何呼叫服務器端WebService的HTTPRequest技術[3]。從AJAX全名的字義中可以了解,AJAX就是異步的JavaScript與XML,它突破了傳統網頁開發技術的限制,使得網頁更具互動性。

1.3SIP通訊協議的原理與應用

SIP是一個應用層的控制通訊協議,可以建立、修改或結束多媒體聯機[4]。以OSI定義的網絡七層來分類,SIP應該屬于會話層,但是也有人將其歸類在廣義的應用層。

SIP目前共定義九大邏輯組件[5],因該文僅使用到ProxyServer這個組件,利用該組件的原理,將該組件的部分功能設計成WebService。ProxyServer是一個中介組件,同時具有Server與Client的雙重角色,相當于H.323中的Gatekeeper,通常SIPUserAgent發出請求時并不知道對方的地址,需要ProxyServer從中協助,當ProxyServer無法取得SIPUserAgent所要求的聯機對象的地址時,ProxyServer會通過預設的路由選擇方式轉送給其他ProxyServer代為解析,此時轉送請求的ProxyServer便會成為Client端。如圖2所示,以INVITE為例,假設Smith要用SIPPhone與John通話,首先Smith與John的SIPPhone要先分別向各自的SIPProxy注冊,接著Smtih的SIPPhone發出INVITERequest,其中INVITERequest中會有幾個標頭字段:Via、To、From、Call-ID、CSeq、Contact、Max-Forward、Content-Type、Content-Length。因為Smith的SIPPhone并不知道John的地址或是John所注冊的SIPProxy地址,Smith會將INVITERequest送到自己所注冊的SIPProxy(Smith’sProxy),Smith’sProxy會回傳100(Trying)給Smith的SIPPhone,100(Trying)表示Proxy已經收到并處理INVITERequest,而Smith’sProxy會根據IP或是域名找到John的SIPPhone所注冊的Proxy,在把INVITERequest傳送出去之前,Smith’sProxy會先將自己的地址填在Via字段,加到INVITERequest的標頭,然后送到John的SIPPhone所注冊的Proxy(John’sProxy),而John’sProxy則會在收到INVITE訊息后回傳100(Trying)給Smith’sProxy,表示已經收到并處理INVITERequest,此時John’sProxy會查詢數據庫,找到John目前所在的IP地址,之后John’sProxy會將自己的地址填在Via字段,加到INVITERequest的標頭并將INVITERequest傳送給John的SIPphone。在收到INVITE信息后,John的SIPPhone會進入Ringing的狀態,并依照先前所紀錄的Via字段,依照路徑回傳180(Ringing)訊息給Smith的SIPPhone并告知John有來電。當Smith的SIPPhone收到180(Ringing)信息后,可以顯示某些信息并等待John接起電話,若John接起電話,表示John允許建立聯機,John的SIPPhone響應200(OK)信息給Smith的SIPPhone,而200(OK)的訊息中,可以攜帶John希望建立RTP封包聯機的相關信息和參數(IP地址與Port)的SDP給Smith,其中SDP是附加在SIPMessage后面。此時Smith的SIPPhone因應200(OK)的信息響應ACK給John的SIPPhone,兩端SIP聯機就算是建立完成,此時便可以利用之前Message所攜帶的SDP里的相關參數,開始傳輸RTP封包。若John拒絕受話,則John的SIPPhone就會傳送一個CANCEL訊息給Smith的SIPPhone。

2結語

過去在瀏覽器上運行需要單向、雙向,全雙工、半雙工的服務(如聊天室、語音通話、視訊等)都存在一些問題,網頁聊天室采用共通的Session或全局變量來達成信號溝通的目的,而瀏覽器也會定時PostBack,造成Client端瀏覽器換頁的動作產生,也會存在一些Session中斷或是無法清除的問題,對于實時的訊號交換是一個瓶頸,許多運行順暢的語音或視訊軟件,都是以ActiveX或是Applet的組件嵌入方式安裝在Client端瀏覽器中,運用了AJAX的方式呼叫CallBack機制后,尋找可用的WebService,結合SIP通信協議,讓信息或軟件可以快速地組合出新的服務,也可以達到信號實時交換的需求,另外提供了一種快速開發以瀏覽器為用戶端軟件系統的新方式,而Client瀏覽器不再需要一直進行更新網頁的動作,也不需要嵌入任何組件,這對目前很多使用者因嵌入不明組件造成中毒或是黑客入侵,有實質上的幫助,提高信息安全的防護。

參考文獻

[1] ZhenshengWu.AWayofUsingWebServicebyAJAX[C]//Proceedingsof2008InternationalSymposiumonDistributedComputingandApplicationsforBusinessEngineeringandScience.2005.

[2] WuChou,FengLiu.WebServiceforTele-Communication[C]//ProceedingsoftheAdvancedInternationalConferenceonTelecommunicationsandInternationalConferenceonInternetandWebApplicationsandServices.2006.

[3] 謝延紅,錢愛增.利用Ajax技術開發無刷新聊天室系統[J].長春師范學院學報,2007,26(6):86-89.

[4] 施昌偉.基于SIP協議的即時通訊系統的研究與實現[D].南京郵電大學,2012.

篇9

1 引言

基于SIP協議的即時通信系統在企事業單位使用較多,而隨著單位保密意識的提高,對數據安全和網絡安全的重視,人們對防火墻訪問規則等安全策略的要求越來越嚴格,同時也限制了其基于計算機的各種應用,阻礙了其業務的發展。本文采用HTTP Tunnel實現對防火墻的穿越,將TCP、UDP等非HTTP數據類型進行HTTP偽裝和加密,在不改變單位的防火墻等安全策略的前提下,以隱蔽通信的方式完成應用程序的數據傳輸。

本文重點探討了HTTP Tunnel技術在以SIP協議為基礎的即時通信系統中的應用,并提出相應解決方案和參考應用框架。旨在提升HTTP Tunnel技術的應用范圍,加強應用業務的數據安全與網絡安全。

2 應用系統框架

HTTP Tunnel被稱之為HTTP暗道,原理是將數據偽裝成 HTTP的數據形式來穿過防火墻。

基于SIP協議的即時通信系統是以SIP為信令交互協議的即時通信系統,其應用包括HTTP訪問、即時消息、語音通信、視頻通信等。該系統通過HTTP Tunnel可以不用改變防火前的安全策略,即可實現自由通信。其框架基本包括四個主要方面:

1) 基于SIP協議的即時通信系統,該系統實現基于TCP、UDP、HTTP等協議的即時通信功能;

2) Sock2HTTP服務器,該服務器實現非HTTP協議數據包的HTTP格式轉換,通信端口映射,擁塞控制等功能;

3) HTTP Tunnel系統,該系統實現基于HTTP協議的雙向的虛擬數據連接,從而穿越防火墻;

4) HTTP2Sock服務器,該服務器實現需要轉換為其他格式的HTTP數據,通信端口的映射,擁塞控制等。

其拓撲圖如圖1:

圖1.基于SIP協議的即時通信系統的HTTP Tunnel應用

3應用系統設計

3.1基于SIP協議的即時通信系統

基于SIP協議的即時通信系統主要有兩部分組成。OpenSIPS服務器和oSIP客戶端。

3.1.1 OpenSIPS

OpenSIPS是成熟的開源SIP服務器,結構非常靈活,其核心路由功能完全通過腳本來實現,可靈活定制各種路由策略,可靈活應用于語音、視頻通信、IM以及Presence等多種應用。

其主要功能如下:

 SIP注冊服務器/服務器/重定向服務器

 SIP presence agent

 SIP IM Server

3.1.2 oSIP

oSIP是使用標準c編寫的SIP協議棧。

主要包括兩部分的內容:狀態機模塊、解析器模塊。

 狀態機模塊的功能:完成對某個事務(注冊過程,呼叫過程等等)狀態記錄,并在特定狀態下觸發相應的事件或回調函數。

 解析器模塊的功能:該模塊主要完成對SIP消息結構剖析、SDP消息的結構剖析以及URI結構的剖析;

圖2.oSIP結構

oSIP為SIP協議的客戶端,OpenSIPS為SIP協議的服務器,二者共同搭建基于SIP協議的即時通信系統。

3.2 Sock2HTTP服務器和HTTP2Sock服務器

當位于內網的SIP終端訪問外網,則終端建立連接的端口不一定被防火墻開放,尤其是UDP端口,若使TCP與UDP等消息穿越防火墻則需要相應的協議轉換服務器,即Sock2HTTP和HTTP2Sock。

圖3.Sock2HTTP與HTTP2Sock

3.2.1功能描述

主要負責分配對應的UDP端口;接收HTTP消息、解碼、以UDP的形式發送至目的地址;接收UDP消息、編碼、接收終端分配UDP端口的HTTP消息,返回生成的UDP端口;UDP端口與終端的對應管理機制。

3.2.2設計說明

a.建立TCP套接字,與某端口綁定(可配置),監聽該端口;

b.接收到請求后,fork子進程處理該請求,請求包括要求分配端口的請求和其他請求兩類;

c.處理要求分配端口的請求,將分配的端口返回給終端,保持該TCP鏈接不斷開,直至通話結束或者終端注銷。

4結論

基于SIP協議的即時通信系統使用HTTP Tunnel技術,在企事業單位網內外實現自由通信。該應用不僅提升HTTP Tunnel技術的應用范圍,更加強應用業務的數據安全與網絡安全。系統采用分布式設計,為系統升級和集成提供很好的構架基礎,是企事業單位業務和數據穿越防火墻的一種安全和高效的應用。

參考文獻

[1] RFC 2543 3261SIP: Session Initiation Protocol.

篇10

1、在高跟鞋中1厘米等于25px , 所以175px就是7厘米。所以高跟鞋175px是指跟高跟鞋跟高有7厘米。

2、高跟鞋的“健康極限”在7厘米,如果超過了7厘米就會導致身體前傾,腳部的負擔也會增加,會引發很多骨科疾病。所以,鞋跟的高度最好在7厘米以下。

(來源:文章屋網 )

熱門文章
主站蜘蛛池模板: 甘肃省| 淳安县| 齐齐哈尔市| 广昌县| 临沂市| 乡宁县| 嵩明县| 额济纳旗| 班玛县| 渑池县| 鹤岗市| 阳春市| 密云县| 青州市| 四川省| 社会| 云阳县| 青田县| 曲周县| 莱阳市| 大邑县| 富源县| 澄江县| 新宾| 北川| 襄汾县| 黔南| 廊坊市| 嘉兴市| 铅山县| 肥东县| 五寨县| 安国市| 临夏市| 阿克陶县| 金坛市| 辉县市| 孟津县| 定陶县| 内黄县| 勃利县|