8. SIP: The Protocol and the Application

摘要

SIP已經成為VoIP的主要通訊協定,其相關研究及通訊標準,日益蓬勃。 本章主要探討 SIP的協定內容,了解其成為主要信令控制協定的原因,並進 而探討為了和現有的PSTN公眾網路 銜接而制定的SIP延伸協定:SIP-T、SIP-I,比較其優缺點。

本章也探討了SIP 的一個重要應用,IMS多媒體子系統。 IMS除了已經是成為行動電話中packet switching domain的標準之外,許多後續的應用服務及技術發展, 以及標準的制定,都把IMS當成一個重要的核心技術。

8.1 前言

在以IP為主的通訊網路中,若要提供一個任何點對點之間的連線,一 個通用的信令控制協議是非常重要的。SIP(Session Initiation Protocol)原本 只是其中的一種通訊協定,但隨著他的一些特性,使得他無論在通用性或是 擴充性上面,都使這個些協定比起其他隊等的協定來得更為人接受與用來發 展更為擴展的應用。所以從協定本身的了解到其延伸,並且進而了解其相關 應用的發展,甚或評估他對未來應用的影響,這些都是非常重要且值得探導 的課題。本篇就以這樣的思路,對從SIP為開始,進而其延伸和應用,到最 後IP-based網路和這些應用的一些發展,作一些粗淺的描述。

8.2 SIP及其延伸

SIP(Session Initiation Protocol)通訊協定主要是作為一個或多個使用 者在網路上建立、修改、維護和終止會談的通訊使用。是屬於應用層 (application layer)的一種通訊協定。然而SIP為了拓展應用範圍,勢必需 要考慮與其他現有通信網路協議之間的溝通性,因而有人制定了SIP的延伸 協議。這些協議擴大了SIP應用的範圍,使得SIP成為一個以IP-base下一 代通訊網路的中心關鍵技術。

8.2.1 SIP

在VoIP的服務裡,至少須包含兩個部分的通訊協定,第一個部分是 呼叫控制協定,另一個是媒體傳輸協定(包含媒體控制和及時傳輸控制), 當然還有其他業務和維護的協定。其中呼叫控制協定有許多不同的選擇, 最主流的就屬H.323和SIP。H.323是由ITU-T這個組織的研究小組所制定 的,但由於H.323過於複雜,協定中的命令與訊息都是由二進位碼所組 成,且又以ASN.1這種需要產生代碼生成器進行語法分析編碼原則來壓 縮處理,實行(implement)起來非常困難,使得相對較為簡易、開放的 SIP協定得以受到越來越多的重視。

8.2.2 SIP的特點:

SIP已為IETF組織接受,定義於RFC2543,最後的版本被定義於RFC3261。 SIP的特點如下:
  1. 簡單:SIP的通訊模式與 HTTP通訊協定的類似,採用請求(request)/回應(response)的模 式,提供數種的要求命令(command)和回應代碼(status code),並配合夾帶檔頭欄位(header fields)訊息和通訊內容 (content),來完成呼叫控制。

  2. 以文字為主:類似HTTP的作法, 將協定的訊息以文字 (Text)表達並使用標準的字元編碼,如ASC-II或UTF-8。使用文 字模式有幾種好處,首先是容易實作,特別是容易進行偵 錯(debug);再者是擴充性較佳,增 加額外的訊息不需要大幅更動原有的解析程式。

  3. 與傳輸層分離:SIP在傳輸層之上運作, 可以提升網路傳輸的適應性和支援性,例如在封包漏失較為嚴重 的網路環境中使用TCP連線,而在較好的環境中就使用UDP。

  4. 支援移動性:SIP在制定時,就將支援移動性 納入考量,使得無 論在呼叫階段或是交談過程中,都可以藉由轉送或是重新邀請 (re-invite)的方式來維繫會談session。

較早被運用於VoIP 的通訊協定是H.323,但H.323 並非為了VoIP而設計的,因此在支援VoIP有許多缺陷。 反觀 SIP 卻是專為VoIP而設計的,因此比SIP 有許多顯著的優點。

表8.1 SIP 與 H.323 的比較

8.3 SIP的架構

SIP最主要的任務在於建立、維繫及管理會談(session), 建立會談的第一步是要找到受話者的位址,然後呼叫受話者, 受話者同意建立會談後再交換建立會談的一些重要約定訊息, 協商之後便開是建立會談,讓雙方自行傳輸語音封包,然 後再繼續管控會談過程,直到通話結束為止。這些動作都是標準 傳統的呼叫過程,為了實現上述的運作,SIP定義了許多的元件。 每一個元件皆具有特定的功能,而承載這些功能的硬體設備可有 不同的安排。這些功能可以各自存在於不同的硬體設備,也可能 數個功能共存於同一硬體設備上。

圖8.1 SIP 元件

四種基本的元件,包括:

User Agent

:簡稱UA,負責為CPE(終端設備)提供服務, 又可細分為用戶端User Agent Client(UAC)和User Agent Server(UAS), UAC 負責提出請求,UAS負責回應訊息。每一個SIP UA都可以扮演UAC 或UAS,服務呼叫者(Caller)的UA,執行UAC 的角色;反之,服務 被呼叫(Callee)的UA則是 UAS。

Proxy Server:

代理伺服器是SIP運作時的中心,Proxy Server會將 呼叫者的請求轉送到另外一端,所以它同時會扮演UAC和UAS。

Redirect Server:

Redirect Server用來實現邏輯位址和實體位址的分離, 每個使用者擁有一個固定不變的邏輯位址,但實體位址可以隨意 變動,每當使用者移動時,必須由UA 負責向一個Redirect Server 註冊,所以他人可以以被呼叫者的邏輯位址詢問Redirect Server獲知 被呼叫者的實際位址。Redirect Server 可以用來實現 Call Forward 這類功能。 經由Redirect Server的運作,被呼叫端 實際的位址可以在建立會談時被告知給呼叫端,與Proxy Server不同 的是,Redirect Server不會轉送任何SIP訊息。

Registrar Sever:

登錄伺服器,其目的為紀錄或更新用戶位址及狀 態。當User Agent上線時,會先執行SIP的REGISTER命令,用以 將目前UA的位址及狀態紀錄或更新,當有呼叫者提出會談的請求 時,相關的其他元件就能順利的找到被呼叫端。每次UA登錄時都有 一定的期限,UA必須在期限內重新註冊,否則相關的會期(Session) 狀態,就無法維護,此設計讓SIP具有支援移動性的能力。

其他一些伺服器像是Location Server和Media Gateway等,雖 然這些伺服器都不會處理跟SIP的訊息,但通常一個SIP的系統都會 需要用到這些伺服器,才能建立完整的通話。

SIP的語法是以BNF規則所定義的,該語法規則非常類似HTTP的 通訊協定,最基本的單位為SIP Message,Message是由三部分所組 成:起始行(Start Line)、訊息表頭(Message Header)、訊息本體 (Message Body)。而Message又分兩種:請求(Request)和回應 (Response)。

Start Line:

以Request的訊息而言,在Start Line行以一個大寫的 英文單字開頭,代表不同的功能,如INVITE、ACK、BYE、CANCEL、 REGISTER、INFO和OPTION 等方法。Response訊息則在Start Line 以一個三位數的十進位回應碼 (Status Code) 開頭代表不同的回應 訊息,如1XX 表示一些進行中狀態的說明(Provisional);2XX 表示 成功;3XX 表示轉向(Redirect)的狀況;4XX表示請求端的錯誤 (Client-Error);5XX表示服務端的錯誤(Server-Error);6XX表示一些 全域性的錯誤(Global-Error)。

Message Header:

主要是用來說明Request和Response訊息的 詳細資料。

Message Body:

則主要是傳遞會談描述協定(SDP)的訊息。

SIP在每次的會談中稱作交談(Dialog)。在Dialog中可能會包含 許多訊息交易(Transaction),所謂的Transaction就是由請求端發出 請求命令到另一端回應的訊息被接收完畢為止。每個Transaction都 會有個序號ID,用來辨識每個交易的順序及回應關係。

除了語法與物件的定義外,SIP也描述了幾種建立呼叫的模型,包 括只包含兩個UA參與的直接呼叫(Direct Call);和經過Proxy Server 的代理呼叫(Proxy Call)、多重代理呼叫;透過Redirect Server的重 定向呼叫(Redirect Call)。另外還有透過第三方的呼叫控制(3rd Party Call Control, 3PCC),來完成像是REFER、CONFERENCE等應用。 另外還有一些進階的功能,如一號多機、一機多號、請勿打擾(Do Not Disturb)、自動轉接(Call Forward)、自動回撥、呼叫保留和話中插接 等功能不一而足。詳細的內容須參考IETF RFC 3261及相關的RFC文 件。其他與SIP協定相關的網路協定還包括:

SDP:

會談描述協定。此協定主要是用來協商雙方建立多媒體資料封 包通道(Traffic channel)之用。雙方會在邀請(Invite)訊息的三向交握 (hand-shake)過程中交換彼此可以使用的通訊方式及資料格式。

RTP:

即時傳輸協定。用於及時的資料傳遞,如語音影像資料。由於 VoIP所傳輸的多媒體資料大多及時性優先於資料的完整性,所以利 用RTP的特性來編排、補償及傳遞這些資料內容,最為合適。

LDAP:

輕量級目錄訪問協定。此協議主要是讓SIP server用來與位 址服務的伺服器(Location Server)溝通,已取得某個查詢目的的正確 位置。

8.4 SIP-T

為了讓VoIP的服務擴展,VoIP網路與現有網路(如公眾交換網路PSTN) 的互通性便為一個重要的議題。作為VoIP裡主要的通訊協定SIP,當然 有必要加以延伸,以作為和其他網路連接的工具。SIP-T (SIP for Telephone)便是在此需求下而產生,被定義於IETF 3372。此協定當初由 IETF小組制定的原因是因為該小組是和制定SIP協定的同一組人,對SIP 的了解最深入,由他們來制定最合適不過,而且若是在制定過程中發現 SIP的不足時,還可以去修改原來SIP的協定。

SIP-T的目的是在於提供PSTN與IP網路之間,訊號轉譯與互相運作 的一套機制,使得從兩端服務都能夠透通地彼此連接。在SIP-T協定中定 義了三種連接的方式,分別為

1. SIP Bridging:

就是由PSTN的用戶發起(origination),中間經過以SIP 作協定的VoIP網路,再由PSTN網路終結(termination)。 (Phone-to-Phone)。

圖8.2 SIP in Bridging Mode

     

圖8.3 Call Flow of SIP in Bridging Mode

2. PSTN origination :

IP termination: 就是由PSTN的用戶發起,由IP網 路的SIP用戶終結。 (例如: Phone-to-PC VoIP)

圖8.4 PSTN Origination Mode

     

圖8.5 Call Flow of PSTN Origination Mode

3. IP origination :

PSTN termination: 就是由IP網路的SIP用戶發起, 由PSTN的用戶終結。 (例如: PC-to-Phone VoIP)

圖8.6 IP Origination Mode

     

圖8.7 Call Flow of IP Origination Mode

三種呼叫的模型,其中最主要的整合工作就是在作SIP和ISUP(ISDN User Part)訊息的轉譯和傳送。ISUP為PSTN上面負責通話控制的信令協 定,被定義於ITU-T的Q.761-Q.764。除了ISUP,SIP-T也支援在 PBX(private branch exchanges)裡所使用的通訊協議QSIG,該協議為 一種類比式的信令控制的協定。

為了增加對PSTN各方面的應用支援及與ISUP的互通性,SIP-T也提 出兩種方法,分別為封裝(Encapsulating)與對應(Mapping),分別定義 於RFC3204與RFC3398。所謂的封裝就是將ISUP的訊息在進入SIP-ISUP 閘道時,會被完整的封裝起來,以確保所有與ISUP服務業務相關的資訊 被複製進SIP網路而不致遺失。因為這些資訊需要以二進位碼的方式儲 存,而且不定常對,所以SIP-T定義了使用Multipurpose Internet Mail Extensions(MIME) Multipart的方式封裝。以MIME的方式編碼就可以確 保二進位碼的方式可以在以文字為主的SIP網路中傳送;而Multipart的 語法則可以支援不定長度的資料裝載。而所謂的對應,就是將許多ISUP 的一些服務,定義出對應的SIP訊息,以便讓SIP網路可以支援一些常用 的呼叫服務,像是自動回覆、自動轉接、無人回應,呼叫取消等功能,藉 著對應的SIP功能來完成服務。至於只在ISUP網路有效的服務,則只能 藉由封裝將訊息載送到另一端的ISUP網路。

8.5 SIP-I

SIP-I又稱為SIP with encapsulated ISUP,此協定是由ITU-T的工 作小組(ITU-TSG11)所制定,其內容包含Technical report TRQ.2815和 Recommendation Q.1912.5標準草案。其中TRQ.2815主要是定義SIP 和Bearer Independent Call Control(BICC) 協議或ISUP協議之間的 互通技術需求、互通介面模型、互通單元(Interworking Unit, IWU)所應支 援的能力等等。Q.1912.5則定義了SIP和BICC/ISUP的互通機制、訊息 的對應及封裝,將這些功能完整地定義於互通單元裡(IWU)。所謂的互通 單元就是執行各種介面節點之間的訊息交換,轉交或遞送訊息到SIP網 路。在不同的網路之間的稱作Network-to-Network Interface(NNI),這 些介面都需要IWU來作為橋梁。

8.6 SIP-T 與SIP-I之間的比較

相較於SIP-I豐富的內容,SIP-T只有定義一些基本通訊功能的介面轉 換,可以說相對的實用性低了很多。這些以互聯網起家的IETF技術人員 所制定的標準,終究不比以傳統通訊本家的組織人員(ITU-T)鎖定義的標 準。SIP-I協定不但沿用了許多IETF的標準,還在基本的呼叫服務之外, 制定包括CLIP、CLIR等附屬業務間的互通;除了呼叫信令的互通,還考 慮了資源預留、品質確保、媒體資訊轉換、與PSTN/3GPP等完整互通的 問題。而且SIP-I所制定的協議,也比較清晰嚴謹,沒有像IETF許多協議 較為彈性卻相對模糊的特性。這些因素使得目前以SIP-I較廣為各家營運 商、電信商所接受,漸漸成為整合其他網路的核心協定。

8.7 IMS

IMS(IP Multimedia Subsystem)是由3GPP和3GPP2這兩個組織所 制定,它是一個建構在封包交換網域(packet-switching domain)中的子系 統,並以SIP為基礎來實行信令與會談管理的功能。

以3GPP為例,在3GPP R5之後便有了IMS的雛形,相關的需求及技 術細節被定義在3GPP TS 22.228。在IMS裡定義了在IP網路裡及時語音多 媒體傳輸服務會使用到的實體和程序,並用SIP來執行呼叫控制和交談管理 的即時服務。在IMS架構中最重要的的實體(Entity)就是通話狀態控制功能 (Call State Control Function, CSCF),依據不同任務,這些CSCF又可區 分為三種:服務通話狀態控制功能(Serving CSCF, S-CSCF)、代理通話狀態 控制功能(Proxy CSCF, P-CSCF)、協詢通話狀態控制功能(Interrogating CSCF, I-CSCF)。

Serving CSCF:

主要是提供使用者會談控制服務,負責維護通訊狀態給已 註冊的使用者,管理所有進行中的會談,並且執行相關功能,如註冊管理、 SIP通訊控制管理及轉送SIP訊息、扮演SIP 代理伺服器(Proxy Server)的 功能以及其他像是通話明細紀錄(Call Detail Record, CDR)和服務相關之 事件通知,另外S-CSCF也負責和其他應用伺服器(Application server) 之間溝通的介面。

Proxy CSCF:

是手機與IMS的溝通的進入點,它的功能就是扮演接收及轉 送手機發出SIP 請求訊息的代理伺服器Proxy Server,此外它也包含一個 決策控制功能(Policy Control Function, PCF)主要是用來決定GGSN應 如何藉由底層通道來傳遞資料,P-CSCF也負責轉送註冊訊息或其他SIP訊 息於手機和網路之間,在轉送過程中,也會視需要修改SIP訊息,其他功 能還包括維護安全性資料、偵測緊急呼叫以及產生通話明細資料。

Interrogating CSCF:

這是是一種非必要的功能,但其重要性卻仍不亞於 其他種類的控制功能。舉凡核心網路內各伺服器之間,或是不同網域 (Operator Network)之間伺服器的連接,都是靠I-CSCF來完成,I-CSCF 扮演居中連絡的角色。當手機的SIP訊息被P-CSCF收到後,會先經由 I-CSCF,I-CSCF會選擇一個S-CSCF來處理接下來的SIP訊息。

整個IMS是由這些CSCF再加上一些媒體閘道器這些主要元件,並以 各種不同的介面彼此連接,IMS的全貌如圖8.8:

圖8.8 IMS 架構

其他在IMS裡的元件還包括:Media Gateway Control Function(MGCF)和IM Media Gateway(IM-MGW),這兩個元件主要是 分別擔負在PSTN和IMS或核心網路(Core Network)之間,信令控制和媒 體資料傳送閘道控制的功能。Multimedia Resource Function Processor(MRFP)則是負責各媒體串流資料的轉換處理。Multimedia Resource Function Controller(MRFC)負責轉譯各CSCF之間的SIP信令 並控制MRFP中的媒體串流資源,MRFC也負責產生通話明細資料(CDR)。 Breakout Gateway Control Function(BGCF) 是一個IMS與外部網路的 分界點,負責選擇IMS到PSTN之間信令傳送的出口位置。

這些元件彼此之間都會使用各個不同的介面來連接,這些介面大致可 分為:信令和服務控制介面,包括CSCF和MGCF、BGCF、MRFC之間的 界面,這些介面主要是傳遞SIP訊息用。媒體閘道控制介面則是定義媒體閘 道的介面。還有像是與資訊伺服器(如HSS)之間的界面以及與外部網路連接 的介面。

IMS藉由原來3GPP行動能力的架構,藉由Home network的HSS, 手機透過IMS可以指定Home network的S-CSCF來提供SIP的服務,包 括提供一個服務平台,讓其他所有的應用服務都可以在上面運作,如SIP相 關的Application server、CAMEL service environment、OSA Application Server等。

當手機在IMS建立連線時,遵循SIP信令的程序,先向S-CSCF註冊, 以便S-CSCF記錄手機位置,接著再由手機提出邀請(Invite)的訊息,透過 P-CSCF及I-CSCF的連接,再由S-CSCF轉接到目的端的S-CSCF,再由 I-CSCF、P-CSCF轉送至目的端的手機,之後便由此路徑完成信令的動作, 再由其他的媒體閘道器負責媒體串流的傳送或必要的轉換。由於IMS有良好 的開放是界面的設計,使得它很容易成為其他服務的一個通用的平台,這使 得接下來許多相關的服務都以IMS作為架構的基礎。

8.8 IMS 相關應用

使用IMS作為下一代通訊網路的核心架構,已經成為一種趨勢,許多 通訊組織在制定NGN架構規範時,都確定以IMS為基礎來做為解決方案, 如ITU-T的FGNGN和ETSI的TISPAN。這些組織都陸續於2003年之後開始 進行關於IMS在控制與信令(control and signaling)、網路安全、網路服務 品質(QoS)和行動管理能力等相關研究。以ETSI TISPAN為例,ETSI TISPAN 提出的NGN架構中重用了IMS的網路架構作為其核心網子系統,並且盡可 能重用IMS R6中的相關規範,並要求支援更多的接入方式,包括xDSL、 WLAN、LAN、MAN等。

已經有許多的研究提出對於使用SIP/IMS作為IP-base通訊網路架構, 其中相關的技術與問題探討或是一些價購方案。例如行動能力的規劃,提供 一種seamless mobility的架構,來整合所有通用的連線通訊技術,以建立 未來NGN的實現提出一種可能性。 在Kalmanek等人所提出的無接縫式的行動服務架構中,基本上是一 種能夠符合3GPP互連模式等級5(Interworking Level 5)需求的一種解決方 案,在該架構中作者提出一些的構建區塊的模型(如圖6),來建立一個無接 縫式的行動服務。

在該模型中,整合所有可能的通訊技術,包括行動電話通訊、無線網 路(Wi-Fi或WiMax)、IP網路、UMA(Unlicensed Mobile Access)等,透 過一個無縫式行動中間層,提供上層的應用服務如IP Central Exchange、 IP-PBX、VoIP等通訊服務。而這裡最重要的關鍵就是IMS,利用IMS的架 構搭配一些元件,就可以提供類似中間層的一種服務平台。

為了達到這樣的目標,作在現有IMS的框架中作一些延伸,就是將一 個智慧型網路應用伺服器來和SIP中的呼叫控制作整合,以便強化IMS能完 全符合無縫式行動通訊的服務。整個架構的設計如圖7:

其中最重要的部分就是要整合各個不同無線的通訊技術,當移動端從 手機網路到無線區域網路時,這個智慧型的行動伺服器(Mobility Server)必 須要能偵測到,並且須通知IMS的核心(包含P-CSCF、S-CSCF、I-CSCF), 再由IMS提供通話延續性的相關服務,以保持通話的品質。而且這樣的服務 除了語音的通訊服務外,也必須考慮其他的數據加值服務,當然也必須整合 現有在公眾網路(PSTN)裡所提供的各種服務(如ISDN等等)。然而這樣的架 構要能實際運作,還必須考量到許多因素,像是整個架構的延伸性 (Scalability),一旦網路的規模擴大,這個智慧型的行動伺服器必須能以分 散式的架構來運作,另外一方面包括在提供無縫式的交遞時,對於品質服務 QoS的控制與對應也必須同時考慮到。目前許多技術或相關標準都已在進行 中,相信以技術的觀點,這樣的服務已經是越來越可行。

8.9 結論

從VoIP所發展出來的SIP,儼然成為IP-Base封包交換網路的一個重 要的核心協定,而且陸陸續續被提出或被定義的延伸應用,也不斷地在發 展,相信在不久的將來一個完整的下一代通訊網路(NGN)的雛形應該就可預 見,這樣的網路將能整合目前所有的IP網路。但是雖然技術上可行,但還必 須考量到真正能讓技術廣為應用的一些驅動的因素,像是各國的通訊相關法 規、網路通訊營運商的商業模式等等,可能才是影響相關技術是否能成為符 合一般應用的關鍵。

參考資料

  1. J. Rosenberg et al., SIP: “Session Initiation Protocol,”IETF RFC 3261, June 2002, work in progress.

  2. A. Vemuri et al., “Session Initiation Protocol for Telephones (SIP-T): Context and Architectures”, IETF RFC 3372, September 2002.

  3. E. Zimmerer et al., “MIME media types for ISUP and QSIG Objects”, IETF RFC 3204, December 2001.

  4. G. Camarillo et al., “Integrated Services Digital Network (ISDN) User Part (ISUP) to Session Initiation Protocol (SIP) Mapping,” IETF RFC 3398, November 2002.

  5. SIP/IMS Standardization , http://www.tech-invite.com

  6. Li Zhaowei, “Comparison of SIP-T and SIP-I,” ZTE Technology, February 2005 Issue 63

  7. Jyh-Cheng Chen and Tao Zhang, “IP-Based Next-Generation Wireless Networks: Systems, Architectures, and Protocols,” New York :John Wiley, 2004

  8. Charles Kalmanek et al., “A Network-Based Architecture for Seamless Mobility Services,” IEEE Communication Mag., June 2006