440 likes | 693 Views
VOIP 理論. IP 網路提供多媒體通信服務. IP(Internet Protocol) 已成為通信的主導技術 各種資訊都可以由 IP 封包來承載( Everything over IP ) IP 封包又可以在專線電路、 Ethernet 、 Frame Relay 、及 ATM 等各種傳送網路中傳送( IP over Everything ) IP 網路能提供語音、數據及影像等多媒體資訊之通信服務 IP 網路多媒體通信服務的模式,如 VoIP ,已為電信產業帶來前所未有的一場電信革命. VoIP 的定義.
E N D
IP網路提供多媒體通信服務 • IP(Internet Protocol)已成為通信的主導技術 • 各種資訊都可以由IP封包來承載(Everything over IP) • IP封包又可以在專線電路、Ethernet 、Frame Relay 、及ATM等各種傳送網路中傳送(IP over Everything) • IP網路能提供語音、數據及影像等多媒體資訊之通信服務 • IP網路多媒體通信服務的模式,如VoIP,已為電信產業帶來前所未有的一場電信革命
VoIP的定義 • VoIP為Voice over Internet Protocol之縮寫,VoIP也可稱為網路電話,係指在IP網路上執行呼叫控制與傳送通信媒體封包使用的通信協定。 • VoIP系統可應用於所有採用IP技術的網路,包括網際網路(Internet)、區域網路及專用之IP網路。 • IP網路上與VoIP有關的訊務,主要包含VoIP信號封包及VoIP媒體封包兩大類。 • 由於VoIP技術的成功發展,其通信品質幾可達電話通信的基本要求,且可提供多媒體通信服務。
VOIP的優勢 • VoIP(Voice over IP) 網路電話,是將類比的語音訊號壓縮成數位化的“數據資料封包”( Data Packet )的型式,在IP 網路基礎上即時傳送的語音服務,也就是說,透過開放性的網際網路,傳送語音的電信應用服務。 • 利用Internet 不僅做到了可即時提供語音服務,更可連接至世界各地,讓使用者可以不需再透過傳統的公眾電話網路(PSTN)進行遠距離電話交談。 • VoIP系統就是將原為聲音的類比訊號數位化後 ( digitized ),透過由網路上各相關通訊協定,做點對點 (pear-to-pear ) 的即時通訊功能。
VoIP基本原理 • VoIP通信包含下列基本操作: • 在IP網路建立呼叫接續(信號封包) • 媒體資訊數位化並裝載於IP封包(媒體封包) • 媒體IP封包即時傳送
VoIP信號功能 • 協助呼叫雙方獲取對方終端系統之IP 位址及埠號碼(port numbers),使雙方於呼叫接通後能相互傳送及接收媒體資訊 • 執行呼叫接續控制(i.e. Invite, Ringing, Answer, etc.) • 協助呼叫雙方終端系統協議通信使用之媒體及其媒體格式( Media? Codec? )
VoIP媒體封包之封裝與傳送 • 發送端欲發送之類比媒體資訊藉由CODEC轉化為數位媒體資訊 • 發送端終端設備將數位媒體資訊裝載於IP封包 • 發送端終端設備將媒體IP封包上傳至IP網路 • IP網路將媒體IP封包傳送至接收端終端設備 • 接收端終端設備藉由Jitter Buffer調整媒體IP封包時序 • 調整完成之媒體IP封包藉由CODEC轉化為類比媒體資訊並輸出至接收人
VoIP的協定 • VoIP使用的通訊協定 SIP (Session Initial Protocol)會議初始協定
SIP 簡介 • SIP (Session Initiation Protocol)為IETF 制定之多媒體通信協定 • 會談(Session) 係泛指在網際網路或在IP網路上的一個多媒體通信或呼叫,諸如網路電話、視訊會議及遠距教學等 • SIP屬於應用層之通信協定,它被設計用來建立、管理及終止會談或呼叫所需之信號控制 • SIP 是一個定義在OSI 七層架構應用層(Application Layer)的控制協定,主要的目的用來建立、修改,及終止多媒體會議,像是網路電話、網路視訊會議等等。
SIP 特性 • (1) 利用文字(Text-based)的方式來編碼 • SIP 以類似HTTP/1.1 方式,直接採用文字來作為訊息內容的編碼。 • (2) Client-Server 的架構 • 在SIP 環境中的元件,是以Client-Server的方式來進行訊息的交換,並且可利用 HTTP 既有的封包資訊,所以SIP 適用於廣域網路的傳輸架構。 • (3) 訊號與資料獨立 • SIP 僅負責多媒體會議建立時控制訊號的部分,並沒有負責傳送多媒體資料,多媒體資料可以由SDP 負責描述,資料傳送部分可以使用RTP,TCP,UDP 等通訊協定。
SIP 優點 • SIP使用簡單的文字模式使得使用者可以很容易的了解Control Message中所包含的資訊,而H.323採用Binary Mode。 • SIP讓服務提供者、應用開發者、企業容易去創造唯一且不同的服務和應用。 • 在SIP的peer-to-peer的協定上,SIP減少中央主機得控制所有事情的必須性,peer-to-peer協定減少了網絡工作和主機的得依據使用者人數而建造的共用配備。 • SIP是一個更有效率和較低複雜度的協定, SIP只有簡單的幾個請求和回應。 • SIP與HTTP是很相像的,SIP有以下幾個HTTP的特性。 • 標準網路位址名:SIP使用標準的IP位址名格式 • 清楚的文字模式協定,如此使得更易於診斷和偵錯。 • 簡單的錯誤信息:SIP使用熟悉有帶著字首的 ”錯誤消息” • SIP的低複雜度、容易維護與建置、擴充性高,和建置花費低等優勢,使其儼然成為未來VoIP的主流協定。
SIP 會談建立 • SIP協助會談雙方獲取對方終端系統之IP 位址及埠號碼( port numbers),使雙方於會談接通後能相互傳送及接收媒體資訊 • SIP協助會談雙方終端系統協議通信使用之媒體及其媒體格式( Media? Codec? ) • SIP執行會談呼叫控制(i.e. Invite, Ringing, Answer, etc.)之程序 • SIP負責會談呼叫控制功能, SIP並未提供媒體資訊傳送功能 • SIP呼叫控制信號訊息與會談之媒體資訊往往使用不同之傳送路徑
Location Server Proxy Server Redirect Server Internet PSTN Registrar Server Gateway User Agent User Agent Phone SIP 組成元件 • SIP網路元件主要分為使用者代理器(User Agents簡稱UA)及伺服器(Servers)兩大類 Servers – Proxy Server – Location Server – Registrar Server User Agents – User agent Client,簡稱UAC – User agent Server,簡稱UAS
SIP元件 User Agents • User Agents是SIP網路環境中的終端設備,它可以是SIP電話機或者在個人電腦端的SIP客戶端軟體。 • 每個SIP User Agent都包含User Agent Client (UAC)以及User Agent Server (UAS)的功能。 • UAC負責產生(建立)請求(Request) 開始一個通話。 • UAS負責產生依照請求產生應答(Response) 接受一個通話。 • UAC 和 UAS 皆可結束通話。 • 這個模式與傳統的client/server架構不同。
SIP UAC及UAS功能 • UA一般同時具有UAC及UAS功能, • 在一通呼叫中,發話端之UA須扮演Clinet之角色,稱之為UAC,受話端之UA則扮演Server之角色,稱之為UAS, • UAC向UAS發出SIP呼叫建立請求,UAS接收到SIP請求後,作相關處理並振鈴受話端使用者,並向UAC送出回應
SIP元件 Registrar 伺服器 • 接受User Agent進行註冊要求的伺服器。 • 提供 authentication(認證)服務。 • 通常與proxy或redirect server放在一起,而且更新Location Server上的User Agent資訊與位置服務。
SIP Registrar Server功能 • 註冊伺服器接受並處理已具有帳戶(account )之使用者之註冊(REGISTER)請求, • 使用者藉由註冊請求,向網路之特定註冊伺服器登錄他的連絡位址(contacts), • 註冊處理完成後,註冊伺服器將使用者之連絡位址上傳至位置伺服器之資料庫中儲存 • 註冊伺服器之註冊功能,可提供SIP使用者方便好用之個人可移動性功能。 • 註冊伺服器可與其他SIP伺服器共構在同一硬體平台
SIP元件 Proxy 伺服器 • SIP Proxy負責將User Agent或者其他的SIP Proxy發出的請求代為傳遞到另外一個SIP元件。 • 當User Agent發出請求的時候,請求並不是直接傳送到目的端的User Agent,而是經由一層層的SIP Proxy後才將請求訊息傳送到目的端的User Agent,每個SIP Proxy都會決定出下一個路由且對請求訊息做適當的加工處裡以利訊息的傳遞。目的端的User Agent回覆結果的時候也是一樣會經由相反的路由將結果回覆給請求端的User Agent。
SIP元件 Redirect 伺服器 • 為一個伺服器,接受SIP的要求,將位置對應到零個或多個新的位置,並將結果回傳給client 。 • 與proxy server不同, redirect server並不會發出他自己的SIP要求。 • 與user agent server不同, redirect server並不會接受或結束一個通話。
Location Server Registrar Server User Agent SIP元件 Location 伺服器 • 代理伺服器於呼叫建立時,向位置伺服器查詢被叫使用者之連絡位址,以轉送呼叫建立訊息 • 被SIP redirect或proxy伺服器使用 (2) store (3) 200 OK (1) Register
SIP服務運作流程 • SIP呼叫的建立、修改及終止所須之控制操作,一律採用請求/回應(request/response)操作模式 • SIP請求訊息係由SIP Client送至SIP伺服器,再由SIP伺服器回應該請求之操作結果
SIP 訊息 Request(請求) SIP Request • INVITE • 邀請建立會議(Session) 。 • ACK • 回覆確認邀請(INVITE)的回覆已收到。 • BYE • 結束一個以連接的Session。 • CANCEL • 取消一個已發出邀請但尚未連結的Session。 • REGISTER • 註冊使用者的URL • OPTIONS • 用來傳送midcall訊號(mid-session資訊)並不改變Session的狀態。 SIP message可以分成兩類 一類是Request ,另外一類是Response。
SIP 訊息 Responses(回應) SIP Responses • 1xx - Informational Messages. • 訊息通知,請求處裡中尚為完成。 • 2xx - Successful Responses. • 請求處裡成功。 • 3xx - Redirection Responses. • 重新導向,將請求訊息重新導向至另一個SIP元件。 • 4xx - Request Failure Responses. • 客戶端錯誤,錯誤的原因在於請求端。可以矯正後重試。 • 5xx - Server Failure Responses. • 伺服器端錯誤,錯誤的原因在於目的端。可以重試其他的location。 • 6xx - Global Failures Responses. • 錯誤(Global Error),請求失敗且無法重試。 SIP回應訊息包含一個3位數的狀態碼(status code),用來表示回應之原因
SIP 用戶地址 • 類同E-mail形式 • 統一資源識別標籤URI • (Universal Resource Identifier)格式 • sip://username:pasword@hostname:5060;transport=tcp • sip:walker@voip.tceb.edu.tw • sip:walker@voip.tceb.edu.tw:5060 • sip:walker@140.128.55.54:5060 • sip:0709400050@voip.tceb.edu.tw:5060 username 代表使用者名稱或是電話號碼 hostname 代表 domain name 或是數字型態的IP address。
P2P IP位址撥號 • 用IP位址撥號之不方便性: • IP位址不易記不易用 • 動態IP位址無法固定使用 192.168.1.10 撥叫 192.168.1.30 INVITE From: bill@192.168.1.10 To: david@192.168.1.30 192.168.1.20 IP 網路 192.168.1.10 192.168.1.30 192.168.1.50 192.168.1.40
SIP 呼叫信號流程(Peer to Peer) SIP UA1 SIP UA2 0709400011@192.168.1.33 0709400044@192.168.1.88 INVITE From: 0709400011@192.168.1.33 To: 0709400044@192.168.1.88 [session & media descriptions] 呼叫開始 100 Trying 180 Ringing 振鈴 200 OK 應答 ACK 呼叫確認 RTP Audio 語音通信 BYE 呼叫結束 200 OK
SIP提供註冊功能 • 使用者藉由註冊操作操作,向網路之註冊伺服器登錄其連絡位址連絡位址 • 註冊伺服器將對使用者作認證並將其連絡連絡位址上傳至位置伺服器之資料庫中儲存 • SIP 藉由註冊功能可提供使用者個人可移動性之通信服務
Proxy Server A Proxy Server B INVITE INVITE 180 Ringing 180 Ringing 180 Ringing 100 Trying 100 Trying 100 Trying 200 (OK) 200 (OK) 200 (OK) 200 (OK) 200 (OK) 200 (OK) INVITE ACK ACK ACK BYE BYE BYE Call Setup User Agent User Agent MediaPath RTP/RTCP MEDIA Call Teardown SIP 呼叫信號流程(Proxy Server)
INVITE sip:bob@hinet.com SIP/2.0 Via: SIP/2.0/UDP 100.101.102.103:5060 From: Alice <sip:alice@hinet.com> To: Bob <sip:bob@hinet.com> Call-ID: 1234@hinet.com CSeq: 1 INVITE Subject: meeting Contact: sip:alice@192.168.12.12 Content-Type: application/sdp Content-Length: 147 v=0 o=alice 2890844526 2890844526 IN IP4 hinet.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 SIP訊息結構與格式 起始行Start-Line • Request-Line或是Status-Line,Request-line為SIP請求訊息之首行,用來表示請求之型式;Status-line為SIP回應訊息之首行,用來表示對某一請求之回應。 訊息頭部(message-headers) • SIP信號控制處理之必要資訊,例如,SIP訊息是由誰發出、送給誰、如何轉送、控制那一個會談及訊息之內容型式等。 訊息內容(message-body) • 用來定義會談有關之媒體與接續參數,例如,定義會談使用媒體之型式及媒體傳送使用之IP位址及埠號碼等相關資訊。訊息內容一般採用SDP(Session Description Protocol, FC2327)描述,SDP訊息亦以文字格式構成。 Start-Line Message-Headers Message-Body