SIP

SIP

由IETF制定的多媒體通信協議
SIP(Session Initiation Protocol,會話初始協議)是一個基于文本的應用層控制協議,用于創建、修改和釋放一個或多個參與者的會話。可以支持并應用于語音、視頻、數據等多媒體業務,同時也可以應用于Presence(呈現)、Instant Message(即時消息)等特色業務。可以說,有IP網絡的地方就有SIP協議的存在。它是一個基于文本的應用層控制協議,用于創建、修改和釋放一個或多個參與者的會話。SIP是一種源于互聯網的IP語音會話控制協議,具有靈活、易于實現、便于擴展等特點。[1]與H.323協議相比,SIP協議具有簡單靈活、擴展方便的特點,可方便地與其他互聯網協議結合提供豐富的IP多媒體業務,以便在各種網絡環境下部署。目前,大規模商用VoIP網絡和會議系統都采用H.323标準,但随着VoIP技術的進一步發展和視頻會議系統應用的逐漸普及,SIP協議正日益受到業界的重視,基于SIP的視頻會議系統獲得越來越廣泛的應用。
  • 中文名:會話初始化協議
  • 外文名:Session initialization Protocol
  • 出現時間:二十世紀九十年代中期
  • 發布機構:IETF
  • 發布時間:1999年

基本簡介

SIP(Session Initiation Protocol)是一個應用層的信令控制協議。用于創建、修改和釋放一個或多個參與者的會話。這些會話可以是Internet多媒體會議、IP電話或多媒體分發。會話的參與者可以通過組播(multicast)、網狀單播(unicast)或兩者的混合體進行通信。

SIP與負責語音質量的資源預留協議(RSVP)互操作。它還與若幹個其他協議進行協作,包括負責定位的輕型目錄訪問協議(LDAP)、負責身份驗證的遠程身份驗證撥入用戶服務(RADIUS)以及負責實時傳輸的 RTP 等多個協議。

随着計算機科學技術的進步,基于分組交換技術的IP數據網絡以其便捷性和廉價性,取代了基于電路交換的傳統電話網在通信領域的核心地位。SIP協議作為應用層信令控制協議,為多種即時通信業務提供完整的會話創建和會話更改服務,由此,SIP協議的安全性對于即時通信的安全起着至關重要的作用。

發展曆程

SIP出現于二十世紀九十年代中期,源于哥倫比亞大學計算機系副教授HenningSchulzrinne及其研究小組的研究。Schulzrinne教授除與人共同提出通過Internet傳輸實時數據的實時傳輸協議(RTP)外,還與人合作編寫了實時流傳輸協議(RTSP)标準提案,用于控制音頻視頻内容在Web上的流傳輸。

Schulzrinne本來打算編寫多方多媒體會話控制(MMUSIC)标準。1996年,他向IETF提交了一個草案,其中包含了SIP的重要内容。1999年,Shulzrinne在提交的新标準中删除了有關媒體内容方面的無關内容。随後,IETF發布了第一個SIP規範,即RFC2543。雖然一些供應商表示了擔憂,認為H.323和MGCP協議可能會大大危及他們在SIP服務方面的投資,IETF繼續進行這項工作,于2001年發布了SIP規範RFC3261。

RFC3261的發布标志着SIP的基礎已經确立。從那時起,已發布了幾個RFC增補版本,充實了安全性和身份驗證等領域的内容。例如,RFC3262對臨時響應的可靠性作了規定。RFC3263确立了SIP代理服務器的定位規則。RFC3264提供了提議/應答模型,RFC3265确定了具體的事件通知。

早在2001年,供應商就已開始推出基于SIP的服務。今天,人們對該協議的熱情不斷高漲。SunMicrosystems的JavaCommunityProcess等組織正在使用通用的Java編程語言定義應用編程接口(API),以便開發商能夠為服務提供商和企業構建SIP組件和應用程序。最重要的是,越來越多的競争者正在借助前途光明的新服務進入SIP市場。SIP正在成為自HTTP和SMTP以來最為重要的協議之一。

SIP的優點:類似Web的可擴展開放通信

使用SIP,服務提供商可以随意選擇标準組件,快速駕馭新技術。不論媒體内容和參與方數量,用戶都可以查找和聯系對方。SIP對會話進行協商,以便所有參與方都能夠就會話功能達成一緻以及進行修改。它甚至可以添加、删除或轉移用戶。

不過,SIP不是萬能的。它既不是會話描述協議,也不提供增加供會議控制功能。為了描述消息内容的負載情況和特點,SIP使用Internet的會話描述協議(SDP)來描述終端設備的特點。SIP自身也不提供服務質量(QoS),它與負責語音質量的資源保留設置協議(RSVP)互操作。它還與若幹個其他協議進行協作,包括負責定位的輕型目錄訪問協議(LDAP)、負責身份驗證的遠程身份驗證撥入用戶服務(RADIUS)以及負責實時傳輸的RTP等多個協議。

特點

SIP的一個重要特點是它不定義要建立的會話的類型,而隻定義應該如何管理會話。有了這種靈活性,也就意味着SIP可以用于衆多應用和服務中,包括交互式遊戲、音樂和視頻點播以及語音、視頻和Web會議。SIP消息是基于文本的,因而易于讀取和調試。新服務的編程更加簡單,對于設計人員而言更加直觀。SIP如同電子郵件客戶機一樣重用MIME類型描述,因此與會話相關的應用程序可以自動啟動。SIP重用幾個現有的比較成熟的Internet服務和協議,如DNS、RTP、RSVP等。不必再引入新服務對SIP基礎設施提供支持,因為該基礎設施很多部分已經到位或現成可用。

對SIP的擴充易于定義,可由服務提供商在新的應用中添加,不會損壞網絡。網絡中基于SIP的舊設備不會妨礙基于SIP的新服務。例如,如果舊SIP實施不支持新的SIP應用所用的方法/标頭,則會将其忽略。

SIP獨立于傳輸層。因此,底層傳輸可以是采用ATM的IP。SIP使用用戶數據報協議(UDP)以及傳輸控制協議(TCP),将獨立于底層基礎設施的用戶靈活地連接起來。SIP支持多設備功能調整和協商。如果服務或會話啟動了視頻和語音,則仍然可以将語音傳輸到不支持視頻的設備,也可以使用其他設備功能,如單向視頻流傳輸功能。

通信提供商及其合作夥伴和用戶越來越渴求新一代基于IP的服務。如今有了SIP(TheSessionInitiationProtocol會話啟動協議),一解燃眉之急。SIP是不到十年前在計算機科學實驗室誕生的一個想法。它是第一個适合各種媒體内容而實現多用戶會話的協議,如今已成了Internet工程任務組(IETF)的規範。

今天,越來越多的運營商、CLEC(競争本地運營商)和ITSP(IP電話服務商)都在提供基于SIP的服務,如市話和長途電話技術、在線信息和即時消息、IPCentrex/HostedPBX、語音短信、push-to-talk(按鍵通話)、多媒體會議等等。獨立軟件供應商(ISV)正在開發新的開發工具,用來為運營商網絡構建基于SIP的應用程序以及SIP軟件。網絡設備供應商(NEV)正在開發支持SIP信令和服務的硬件。如今,有衆多IP電話、用戶代理、網絡代理服務器、VOIP網關、媒體服務器和應用服務器都在使用SIP。

SIP從類似的權威協議--如Web超文本傳輸協議(HTTP)格式化協議以及簡單郵件傳輸協議(SMTP)電子郵件協議--演變而來并且發展成為一個功能強大的新标準。但是,盡管SIP使用自己獨特的用戶代理和服務器,它并非自成一體地封閉工作。SIP支持提供融合的多媒體服務,與衆多負責身份驗證、位置信息、語音質量等的現有協議協同工作。

SIP較為靈活,可擴展,而且是開放的。它激發了Internet以及固定和移動IP網絡推出新一代服務的威力。SIP能夠在多台PC和電話上完成網絡消息,模拟Internet建立會話。

與存在已久的國際電信聯盟(ITU)SS7标準(用于呼叫建立)和ITUH.323視頻協議組合标準不同,SIP獨立工作于底層網絡傳輸協議和媒體。它規定一個或多個參與方的終端設備如何能夠建立、修改和中斷連接,而不論是語音、視頻、數據或基于Web的内容。

SIP大大優于現有的一些協議,如将PSTN音頻信号轉換為IP數據包的媒體網關控制協議(MGCP)。因為MGCP是封閉的純語音标準,所以通過信令功能對其進行增強比較複雜,有時會導緻消息被破壞或丢棄,從而妨礙提供商增加新的服務。而使用SIP,編程人員可以在不影響連接的情況下在消息中增加少量新信息。

例如,SIP服務提供商可以建立包含語音、視頻和聊天内容的全新媒體。如果使用MGCP、H.323或SS7标準,則提供商必須等待可以支持這種新媒體的協議新版本。而如果使用SIP,盡管網關和設備可能無法識别該媒體,但在兩個大陸上設有分支機構的公司可以實現媒體傳輸。

而且,因為SIP的消息構建方式類似于HTTP,開發人員能夠更加方便便捷地使用通用的編程語言(如Java)來創建應用程序。對于等待了數年希望使用SS7和高級智能網絡(AIN)部署呼叫等待、主叫号碼識别以及其他服務的運營商,現在如果使用SIP,隻需數月時間即可實現高級通信服務的部署。

這種可擴展性已經在越來越多基于SIP的服務中取得重大成功。Vonage是針對用戶和小企業用戶的服務提供商。它使用SIP向用戶提供20,000多條數字市話、長話及語音郵件線路。Deltathree為服務提供商提供Internet電話技術産品、服務和基礎設施。它提供了基于SIP的PC至電話解決方案,使PC用戶能夠呼叫全球任何一部電話。DenwaCommunications在全球範圍内批發語音服務。它使用SIP提供PC至PC及電話至PC的主叫号碼識别、語音郵件,以及電話會議、統一通信、客戶管理、自配置和基于Web的個性化服務。

某些權威人士預計,SIP與IP的關系将發展成為類似SMTP和HTTP與Internet的關系,但也有人說它可能标志着AIN的終結。迄今為止,3G界已經選擇SIP作為下一代移動網絡的會話控制機制。Microsoft已經選擇SIP作為其實時通信策略并在MicrosoftXP、PocketPC和MSNMessenger中進行了部署。Microsoft同時宣布CEdotnet的下一個版本将使用基于SIP的VoIP應用接口層,并承諾向用戶PC提供基于SIP的語音和視頻呼叫。

另外,MCI正在使用SIP向IP通信用戶部署高級電話技術服務。用戶将能夠通知主叫方自己是否有空以及首選的通信方式,如電子郵件、電話或即時消息。利用在線信息,用戶還能夠即時建立聊天會話和召開音頻會議。使用SIP将不斷地實現各種功能。

通信要求

    用戶定位服務會話建立會話參與方管理特點的有限确定

    壓縮機制

    SIP壓縮機制主要是通過改變SIP消息的長度來降低時延。典型的SIP消息的大小由幾百到幾千字節,為了适合在窄帶無線信道上傳輸,IMS對SIP進行了擴展,支持SIP消息的壓縮。當無線信道一定時,一條SIP消息所含幀數k僅取決于消息大小。從時延模型可以看出,不僅影響SIP消息傳輸時延,還影響SIP重傳的概率,對自适應的定時器來說,k還成了影響定時器初值的關鍵因素。

    會話構成

    SIP會話使用多達四個主要組件:SIP用戶代理、SIP注冊服務器、SIP代理服務器和SIP重定向服務器。這些系統通過傳輸包括了SDP協議(用于定義消息的内容和特點)的消息來完成SIP會話。下面概括性地介紹各個SIP組件及其在此過程中的作用。

    用戶代理

    SIP用戶代理(UA)是終端用戶設備,如用于創建和管理SIP會話的移動電話、多媒體手持設備、PC、PDA等。用戶代理客戶機發出消息。用戶代理服務器對消息進行響應。

    注冊服務器

    SIP注冊服務器是包含域中所有用戶代理的位置的數據庫。在SIP通信中,這些服務器會檢索出對方的IP地址和其他相關信息,并将其發送到SIP代理服務器。

    代理服務器

    SIP代理服務器接受SIPUA的會話請求并查詢SIP注冊服務器,獲取收件方UA的地址信息。然後,它将會話邀請信息直接轉發給收件方UA(如果它位于同一域中)或代理服務器(如果UA位于另一域中)。

    重定向服務器

    SIP重定向服務器允許SIP代理服務器将SIP會話邀請信息定向到外部域。SIP重定向服務器可以與SIP注冊服務器和SIP代理服務器同在一個硬件上。

    SIP通過以下邏輯功能來完成通信:

      用戶定位功能:确定參與通信的終端用戶位置。用戶通信能力協商功能:确定參與通信的媒體終端類型和具體參數。用戶是否參與交互功能:确定某個終端是否加入某個特定會話中。建立呼叫和控制呼叫功能:包括向被叫“振鈴”、确定主叫和被叫的呼叫參數、呼叫重定向、呼叫轉移、終止呼叫等。

      以下幾個情景說明SIP組件之間如何進行協調以在同一域和不同域中的UA之間建立SIP會話:

      在同一域中建立SIP會話

      如圖1所示,說明了在預訂同一個ISP從而使用同一域的兩個用戶之間建立SIP會話的過程。用戶A使用SIP電話。用戶B有一台PC,運行支持語音和視頻的軟客戶程序。加電後,兩個用戶都在ISP網絡中的SIP代理服務器上注冊了他們的空閑情況和IP地址。用戶A發起此呼叫,告訴SIP代理服務器要聯系用戶B。然後,SIP代理服務器向SIP注冊服務器發出請求,要求提供用戶B的IP地址,并收到用戶B的IP地址。SIP代理服務器轉發用戶A與用戶B進行通信的邀請信息(使用SDP),包括用戶A要使用的媒體。用戶B通知SIP代理服務器可以接受用戶A的邀請,且已做好接收消息的準備。SIP代理服務器将此消息傳達給用戶A,從而建立SIP會話。然後,用戶創建一個點到點RTP連接,實現用戶間的交互通信。

        呼叫用戶B查詢B在哪裡響應B的SIP地址呼叫響應響應多媒體通道已建立

        在不同的域中建立SIP會話

        本情景與第一種情景的不同之處如下。用戶A邀請正在使用多媒體手持設備的用戶B進行SIP會話時,域A中的SIP代理服務器辨别出用戶B不在同一域中。然後,SIP代理服務器在SIP重定向服務器上查詢用戶B的IP地址。SIP重定向服務器既可在域A中,也可在域B中,也可既在域A中又在域B中。SIP重定向服務器将用戶B的聯系信息反饋給SIP代理服務器,該服務器再将SIP會話邀請信息轉發給域B中的SIP代理服務器。域B中的SIP代理服務器将用戶A的邀請信息發送給用戶B。用戶B再沿邀請信息經由的同一路徑轉發接受邀請的信息。

          呼叫用戶B詢問B中的用戶響應呼叫域B的SIP代理查詢B在哪裡用戶B的地址代理呼叫響應響應響應多媒體通道已建立

          無縫、靈活、可擴展:展望SIP未來

          SIP能夠連接使用任何IP網絡(有線LAN和WAN、公共Internet骨幹網、移動2.5G、3G和Wi-Fi)和任何IP設備(電話、PC、PDA、移動手持設備)的用戶,從而出現了衆多利潤豐厚的新商機,改進了企業和用戶的通信方式。基于SIP的應用(如VOIP、多媒體會議、push-to-talk(按鍵通話)、定位服務、在線信息和IM)即使單獨使用,也會為服務提供商、ISV、網絡設備供應商和開發商提供許多新的商機。不過,SIP的根本價值在于它能夠将這些功能組合起來,形成各種更大規模的無縫通信服務。

          使用SIP,服務提供商及其合作夥伴可以定制和提供基于SIP的組合服務,使用戶可以在單個通信會話中使用會議、Web控制、在線信息、IM等服務。實際上,服務提供商可以創建一個滿足多個最終用戶需求的靈活應用程序組合,而不是安裝和支持依賴于終端設備有限特定功能或類型的單一分散的應用程序。

          通過在單一、開放的标準SIP應用架構下合并基于IP的通信服務,服務提供商可以大大降低為用戶設計和部署基于IP的新的創新性托管服務的成本。它是SIP可擴展性促進本行業和市場發展的強大動力,是我們所有人的希望所在。

          常用消息

          SIP協議的亮點卻不在于它的強大,而是在于:簡單!

          SIP協議是一個Client/Sever協議,因此SIP消息分兩種:請求消息和響應消息。請求消息是SIP客戶端為了激活特定操作而發給服務器端的消息。常用的SIP請求消息如下:

          INVITE:表示主叫用戶發起會話請求,邀請其他用戶加入一個會話。也可以用在呼叫建立後用于更新會話(此時該INVITE又稱為Re-invite)。

            ACK:客戶端向服務器端證實它已經收到了對INVITE請求的最終響應。PRACK:表示對1xx響應消息的确認請求消息。BYE:表示終止一個已經建立的呼叫。CANCEL:表示在收到對請求的最終響應之前取消該請求,對于已完成的請求則無影響。REGISTER:表示客戶端向SIP服務器端注冊列在To字段中的地址信息。OPTIONS:表示查詢被叫的相關信息和功能。

            SIP協議中的響應消息用于對請求消息進行響應,指示呼叫的成功或失敗狀态。

            常用的一些響應消息:

              100試呼叫(Trying)180振鈴(Ringing)181呼叫正在前轉(Call is Being Forwarded)200成功響應(OK)302臨時遷移(Moved Temporarily)400錯誤請求(Bad Request)401未授權(Unauthorized)403禁止(Forbidden)404用戶不存在(Not Found)408請求超時(Request Timeout)480暫時無人接聽(Temporarily Unavailable)486線路忙(Busy Here)504服務器超時(Server Time-out)600全忙(Busy Everywhere)

              協議比較

              H.323協議和SIP協議的比較

              H.323和SIP分别是通信領域與因特網兩大陣營推出的協議。H.323企圖把IP電話當作是衆所周知的傳統電話,隻是傳輸方式發生了改變,由電路交換變成了分組交換。而SIP協議側重于将IP電話作為因特網上的一個應用,較其它應用(如FTP,E-mail等)增加了信令和QoS的要求,它們支持的業務基本相同,也都利用RTP作為媒體傳輸的協議。但H.323是一個相對複雜的協議。

              H.323采用基于ASN.1和壓縮編碼規則的二進制方法表示其消息。ASN.1通常需要特殊的代碼生成器來進行詞法和語法分析。而SIP的基于文本的協議,類似于HTTP。基于文本的編碼意味着頭域的含義是一目了然的,如From、To、Subject等域名。這種分布式、幾乎不需要複雜的文檔說明的标準規範風格,其優越性已在過去的實踐中得到了充分的證明(如今廣為流行的郵件協議SMTP就是這樣的一個例子)。SIP的消息體部份采用SDP進行描述,SDP中的每一項格式為=,也比較簡單。

              在支持會議電話方面,H.323由于由多點控制單元(MCU)集中執行會議控制功能,所有參加會議終端都向MCU發送控制消息,MCU可能會成為瓶頸,特别是對于具有附加特性的大型會議;并且H.323不支持信令的組播功能,其單功能限制了可擴展性,降低了可靠性。而SIP設計上就為分布式的呼叫模型,具有分布式的組播功能,其組播功能不僅便于會議控制,而且簡化了用戶定位、群組邀請等,并且能節約帶寬。但是H.323的集中控制便于計費,對帶寬的管理也比較簡單、有效。

              H.323中定義了專門的協議用于補充業務,如H.450.1、H.450.2和H.450.3等。SIP并未專門定義的協議用于此目的,但它很方便地支持補充業務或智能業務。隻要充分利用SIP已定義的頭域(如Contact頭域),并對SIP進行簡單的擴展(如增加幾個域),就可以實現這些業務。例如對于呼叫轉移,隻要在BYE請求消息中添加Contact頭域,加入意欲轉至的第三方地址就可以實現此業務。對于通過擴展頭域較難實現的一些智能業務,可在體系結構中增加業務代理,提供一些補充服務或與智能網設備的接口。

              在H.323中,呼叫建立過程涉及到第三條信令信緻到:RAS信令信道、呼叫信令信道和H.245控制信道。通過這三條信道的協調才使得H.323的呼叫得以進行,呼叫建立時間很長。在SIP中,會話請求過程和媒體協商過程等一起進行。盡管H.323v2已對呼叫建立過程作了改進,但較之SIP隻需要1.5個回路時延來建立呼叫,仍是無法相比。H.323的呼叫信令通道和H.245控制信道需要可靠的傳輸協議。而SIP獨立于低層協議,一般使用UDP等無法連接的協議,用自己信用層的可靠性機制來保證消息的可靠傳輸。

              總之,H.323沿用的是傳統的實現電話信令模式,比較成熟,已經出現了不少H.323産品。H.323符合通信領域傳統的設計思想,進行集中、層次控制,采用H.323協議便于與傳統的電話網相連。SIP協議借鑒了其它因特網的标準和協議的設計思想,在風格上遵循因特網一貫堅持的簡練、開放、兼容和可擴展等原則,比較簡單。

              以下針對它們的應用目标、标準結構、系統組成以及系統實現的難易程度等幾個方面進行簡單分析。

              标準應用目标

              h.323标準是itu-t組織1996年在h.320/h.324的基礎上建立起來的,其應用目标是,在基ip的網絡環境中,實現可靠的面向音視頻和數據的實時應用。如今經過多年的技術發展和标準的不斷完善,h.323已經成為被廣大的itu成員以及客戶所接受的一個成熟标準族。

              sip标準是ietf組織在1999年提出的,其應用目标是在基于internet環境,實現數據、音視頻實時通訊,特别是通過internet将視頻通訊這種應用大衆化,引入到千家萬戶。由于sip協議相對于h.323而言,相對簡單、自由,廠商可以使用相對小的成本就可以構造滿足應用的系統。例如僅僅使用微軟基于sip協議的msn,和rtc就可以構造一個簡單的,基于internet應用環境的視頻通訊環境。這樣網絡運營商就可以在盡量少的成本基礎上,利用現有的網絡資源開展視音頻通訊業務的擴展工作。

              标準體系結構

              h.323是一個單一标準,而不是一個關于在ip環境中實時多媒體應用的完整标準族,對于呼叫的建立、管理以及所傳輸媒體格式等各個方面都有完善而嚴格的規定。一個遵守h.323标準建立的多媒體系統,可以保證實現客戶穩定完善的多媒體通訊應用。

              sip标準嚴格意義上講是一個實現實時多媒體應用的信令标準,由于它采用了基于文本的編碼方式,使得它在應用上,特别是點到點的應用環境中,具有極大的靈活性、擴充性以及跨平台使用的兼容性,這一點使得運營商可以十分方便的利用現有的網絡環境實現大規模的推廣應用。

              但是sip協議自身不支持多點的會議功能以及管理和控制功能,而是要依賴于别的協議實現,影響了系統的完備性,特别是對于需要多點通訊的要求,應用單純的sip系統難以實現。針對這些不足,以radvison公司為首的itu-t sg16小組提出了sip的運用規範,并實現了sip和h.323之間的互通互聯,并成功的解決了sip在多點環境下的應用難題。

              系統組成結構

              首先,在系統主要組成成員的功能性方面進行類比,sip的ua等價于一個h.323的終端,實現呼叫的發起和接收,并完成所傳輸媒體的編解碼應用;sip代理服務器、重定向服務器以及注冊服務器的功能則等價于h.323的gatekeeper,實現了終端的注冊、呼叫地址的解析以及路由。

              其次,雖然在呼叫信令和控制的具體實現上不同,但一個基于sip的呼叫流程與h.323的q931相類似,sip所采用的會話描述協議(sdp)則類似于h.323中的呼叫控制協議h.245。

              實現難易性

              h.323标準的信令信息是采用符合asn.1 per的二進制編碼,并且在連接實現全過程都要嚴格标準的定義,系統的自由度小,如要實現大規模的應用,需要對整個網絡的各個環節進行規劃。

              sip标準的信令信息是基于文本的,采用符合iso10646的utf-8編碼,并且全系統的構造結構相對靈活,終端和服務器的實現也相對容易成本也較低,從網絡運營商的角度考慮,構造一個大規模視頻通訊網絡,采用sip系統的成本要廉價許多,而且也更具有可實現性。

相關詞條

相關搜索

其它詞條