[轉錄]漫談IP新世代電信服務(3)淺談SIP協定與架構

來源:iThome

會談啟始協議(SIP,Session Initiation Protocol)是繼Mail(SMTP)WWW(HTTP)之後,第三大關鍵通信協定,透過SIP所營造出的即時多媒體互動會談功能,才能滿足現在使用者的需求。

文/iThome | 2006-08-14發表

會談啟始協議(SIP,Session Initiation Protocol)是新世代的網路電話(VoIP)基礎技術,是基於網際網路工程工作特別小組開放式協議體系下所制定,目的在將傳統電信網過渡至全方位IP化網路服務(All-IP Network Services),也是下一波電信產業革命中,實現網際網路、固網、行動、廣電四網融合的關鍵技術。

網際網路發展以來第三重要的協定
有學者認為,SIP是Internet發明以來最重要的會談層(Session Layer)通信協定,也是繼Mail(SMTP)、WWW(HTTP)之後,第三大關鍵通信協定。

時至今日,則唯有SIP藉由文字、語音、影像等媒介營造出的即時多媒體互動會談功能,才能滿足使用者現階段的通訊需求。

 

SIP的設計

SIP是基於TCP/IP協定上層運作的信令協議,用於啟動、管理、終止IP網路中的語音視訊甚至於文字會話具體來說就是用來建立、修改和終止一個或多個參與者之間的對話

SIP協定在建立對話的時候,使用一組借用自HTTP格式的文字訊息傳遞、交換多個用戶之間的IP位址、媒體能力,編碼格式等資訊。SIP是IETF體系的一部份,因此與IETF的許多其他協議都有聯繫,例如即時傳輸協議(RTP)、會談公告協議(SAP)、會談描述協議(SDP)。而一個完整的SIP服務系統,還需要DNS、DHCP、RSVP等IETF協定的配合才能正常運作。其中SDP可視為SIP的一部分,專門負責處理媒體格式的協商,SIP沒有它也不可能單獨運作。

以OSI定義的網路七層分類,SIP應該是屬於會談層(Session Layer)但是也有人將其歸類為廣義的應用層(Application Layer)協定。由於SIP是架構在應用層中,因此開發SIP的應用程式時,可不論底層的傳輸協定或網路架構,這讓SIP具有容易開發、內容簡潔以及擴充性高的優點,也讓SIP除了可在TCP或UDP的傳輸層上進行互動運作外,還能架構在其他任何型態的傳輸網路,讓開發者更容易進行系統的整合。

SIP的關鍵元件
SIP通過類似E-mail形式的資源識別標誌(URI)來標名用戶地址,它通過諸如用戶電話號碼、帳號、主機名等元素來構成SIP URI,其格式為user@domain的表示方式。其中user也可以是傳統電信網路中的e.164電信交換碼。

SIP關鍵元件及其呼叫模式。

SIP的關鍵元件有下列幾項:
用戶代理User Agent
通常簡稱為UA,是SIP網路環境中的用戶終端設備,其角色相當於H.323 Terminal。在邏輯上包含有User Agent Client (UAC) 以及 User Agent Server(UAS)兩種,UAC負責產生請求,而UAS負責產生依照請求產生應答。每一個UA都同時扮演者UAC和UAS的角色,當它是呼叫別人的主叫端時,就是UAC;當它是被別人呼叫的被叫端時,就是UAS。

目前我們所能看到的各種話機,本質上都是一種SIP UA裝置。有一種USB Phone是配合Soft Phone使用的,它的本質是一種音效裝置,雖然很多人也叫它做網路話機,但是它並不屬於SIP UA的角色。

代理伺服器Proxy Server
為SIP協議運作的中心,同時具有伺服器端和客戶端雙重角色的中介元件,負責代表SIP UA或者其他的Proxy Server產生請求或將收到的請求代為轉送到另外一個目標SIP元件去。由Proxy Server提供對用戶定位的服務,以轉送到正確的UA位置去,且UA回覆結果也是一樣會經由相反的路由將結果回覆給請求端的UA,這就是Proxy Server的路由功能。

Proxy Server其實就是扮演傳統電信領域中,交換總機的角色。由於它的存在,可大幅簡化UA的設計複雜度(否則UA要能記得所有通訊對象的IP網址),也是VoIP業者營運的中樞。

重定向伺服器Redirect Server
SIP的其中一個主要特性就是,它將用戶的邏輯位址和實際位址分開,這使得用戶可以定義一個不變的邏輯位置,然後將它映射成別名至一個或多個變化的實際位置。重定向伺服器接受任何SIP元件的請求,並將被呼叫方的SIP位址映射成一個或多個位址並將回應給客戶端。和代理伺服器不同的是,重定向伺服器不會轉遞任何請求到其他伺服器。

註冊伺服器Register Server
接受註冊請求的伺服器,其目的是記錄用戶在請求中的聯繫資訊,或更新位置伺服器中的位址資料庫。註冊伺服器提供UA進行註冊的介面,用以進行管理並提供特定的服務。

位置伺服器Location Server
可視為SIP資料庫,負責儲存UA的資訊,接受註冊伺服器的用戶資料,並提供給代理伺服器和轉向伺服器使用。通常位置伺服器、註冊伺服器都是代理伺服器的一部分,少數大規模的電信等級服務設施,才會因效能考量區分開。

媒體閘道器Media Gateway
支援PSTN網路和IP網路兩種異質網路之間的中介呼叫與傳送,或是處理同為IP網路的兩種異質協定,如SIP與H.323之間的呼叫。

媒體伺服器Media Relay Server
為了穿越NAT或其他媒體型式轉換等目的,在兩個UA之間進行RTP Media的中繼轉遞,或者是為多方通話的媒體內容匯接目的,它必須配合SIP代理伺服器使用,或本身即兼具代理伺服器的功能。

SIP的呼叫模式
直接呼叫是SIP協議中最基本、最簡單的呼叫方式,任何SIP終端裝置只要知道其他任何SIP終端裝置的IP位址或網域名稱,就可以進行直接呼叫的動作

SIP也支援代理呼叫,當UAC想要跟UAS通話,它對已經註冊上的代理伺服器A傳送一個邀請訊息,目的是告知A想與其UAS通話,當A收到通話請求訊息後,會搜尋資料庫中的資料,但A發現無法得知UAS的位置時,A會將邀請訊息傳送給下一個指定的下一級代理伺服器B,這類似路由器中預設路由(Default Gateway)的概念。

一般在跨業者交換呼叫訊息的大型SIP環境中,代理伺服器也會建構成為階層式的組織,常有一通呼叫轉送5或6次的情況,而重定向呼叫和代理伺服器不同處在於,代理伺服器會把邀請訊息轉發到被叫方的地址並等待回應;而轉向伺服器會使用位置伺服器尋找被叫方的位置,並在重定向訊息中把這個位址回送給主叫方,讓主叫方自行嘗試對被叫方建立會談。除此之外,其目的與代理呼叫完全一致。

SIP的主要元件視不同應用還有非常多的擴展,如即時訊息伺服器(IM Server)存在伺服器(Presence Server)等等。在高階呼叫模式上,也有多方會議呼叫(Conference Call)第三方呼叫(Third Party Call)等擴展,前者大家都耳熟能詳,後者則是SIP的特異功能,係指由Proxy Server呼叫主端呼叫兩方,讓兩方建立通話的方式,在如客服中心(Call Center)的應用中,第三方呼叫可以同時呼叫客戶和客服人員,是非常有效率的呼叫建立方式。上述的擴展都還在不斷的發展和改進之中。

為了滿足多媒體通信系統移動性的需要,SIP在設計的初期還考慮到對移動性的支援,對服務品質(QoS)的支援、異質網路間的相互呼叫及介接、NAT的穿越、安全性的考量等等,在之後的章節都會一一述及。

SIP協定扮演了NGN(下一代電信網路)NGI(下一代網際網路)3G(第三代行動電話網路)的關鍵會談控制功能,大約10年之後,我們打的每一通電話都將是透過SIP協定建立通話,這讓我們有充足的理由來認識 SIP。

作者/賈文康
第一線技術顧問、台北市電腦商業同業公會顧問、NICI全國IPv6建置發展計畫,應用推廣分項計畫協同主持人、開放網路電話交換聯盟(IPOX)計畫顧問,專精研究領域為網路系統整合、TCP/IP 通訊協定核心設計、多媒體通訊、NAT穿越、網路流量暨話務量工程,在IT產業擁有15年研究開發、技術支援、產品行銷等經歷,並著有「SIP會談啟始協議操典」、「3G第三代行動通信網路技術」等書籍。

 

本篇發表於 轉錄文章, 電腦資訊。將永久鏈結加入書籤。