• 沒有找到結果。

中 華 大 學 碩 士 論 文

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學 碩 士 論 文"

Copied!
69
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

題目:設計與建構一個分散式網路電話監聽 系統

Design and Implement a Distributed VoIP Interception System

系所別:資訊工程學系 碩士班 學號姓名:M09302005 白志業 指導教授:游 坤 明 博士

中華民國 九十五 年 八 月

(2)
(3)
(4)
(5)

摘 要

網路電話是指將聲音資訊經過壓縮編碼成許多小封包,再透過 IP 網路來傳送至另一端予解碼還原成聲音的一種資訊技術,因為具 有便宜、方便等特性,已逐漸取代傳統電話成為人們溝通的重要工 具。隨著網路電話的盛行,利用網路電話犯罪的問題也日趨嚴重,傳 統電話網路已經有一套完善的監聽側錄架構提供司法單位進行合法 監聽,但網路電話卻尚未有完整的規範被提出以進行合法監聽的功 能。雖然已有相當多的研究提出各種不同方式進行合法監聽的系統架 構,但是這些方法皆無法同時滿足良好的通話品質、全區域型式的網 路監聽、傳統電話網路與網路電話監聽以及低成本監聽設備建置與容 易安裝等需求。因此本篇論文針對目前最盛行的網路電話協定-SIP,

提出一個高效率的分散式網路電話監聽系統架構,此監聽系統架構不 但可以取得被監聽用戶之通聯記錄,亦可以側錄雙方通話時的談話內 容,同時本論文所提出的監聽架構不需要去更改原網路環境與設備的 設定即可完成監聽系統的安裝,亦可以分散部署多個側錄設備進行分 散式監聽架構,達到有效地分擔網路流量,解決監聽時網路流量的限 制。

關鍵字:SIP、網路電話、監聽側錄

(6)

Abstract

VoIP (Voice over Internet Protocol) is a technology to transmit voice data, which is compressed to smaller packets and decompressed in the other side, to each other over internet protocol. Because it’s cheap and convenient, VoIP has gotten more popular than PSTN (Public Switched Telephone Network) and becoming an important interpersonal communication tool at present time. With VoIP become widespread, the problem of committing crimes with VoIP is getting more and more serious. There has been a complete interception system for judicial officers to intercept in the PSTN network lawfully, but there is still no any complete and standard interception been proposed for VoIP. Although there are many interception models have been proposed, but those interception models are not able to satisfy well quality of communication, plain interception in VoIP and with PSTN networks, lower deployment cost and easy installed. Thus, this thesis proposes an efficient distributed VoIP interception system for the popular protocol-SIP. The proposed interception system can be constructed without changing the original network environments as well as equipments settings.

Also, the system can be deployed distributed to resolve the problem of network traffic limitation when intercepting.

Keywords: SIP, VoIP, Interception

(7)

致 謝

在研究所二年的日子中,每週與同學數次的研讀國內外論文與 上台分享其論文貢獻,從中護得許多論文研究的靈感與想法。在此感 謝學校系上與實驗室安排如此豐富的時間與課程,讓我們彼此在腦力 激盪下,學得許多在一般課程上不易學到的研究學理與最新的資訊科 技。在本論文題目誔生前,特別感謝指導教授游老師為我安排與啟發 許多資訊領域的研發經驗。同時,在我的論文研究的過程中,更是感 謝指導教授諸多的建議與思考方向。當然,也感謝實驗室中的好友立 明、智群、宜霖以及小黑、小本學長以及學弟們熱心的陪伴下,順利 完成我的論文。論文程式完成後,感謝欣怡(小紅豆)及我的家人碧 香、志興以及姐夫三貴願意花時間與我一同測試網路電話與監聽的功 能。當然最後要感謝我的父母親從小到大辛苦的栽培下,才能讓我有 機會能完成碩士的學位。要感謝的人實在太多太多,無法在一頁簡短 的謝誌中完全表達我內心的感動。特此表達我由衷的感激,因為這是 大家一起努力的心血結晶。

(8)

目 錄

摘 要...i

Abstract ...ii

致 謝...iii

目 錄...iv

表 目 錄...vi

圖 目 錄...vii

1 章 緒論...1

1.1 簡介...1

1.2 動機與目的...2

1.3 論文架構...3

2 章 背景知識...4

2.1 PSTN-公眾交換電話網路 ...4

2.1.1 公眾交換電話網路架構...4

2.2 網路電話...7

2.2.1 SIP- Session Initiation Protocol...7

2.2.1.1 User Agents...8

2.2.1.2 Proxy Servers ...9

2.2.1.3 Redirect Servers ...10

2.2.1.4 SIP 的指令請求 ... 11

2.2.1.5 SIP 的指令回應 ...13

3 章 相關研究...14

3.1 基於H.323 之監聽架構 ...14

3.1.1 匣道器上監聽...14

3.1.2 Gatekeeper 導向監聽 ...15

3.1.3 固定路徑監聽...16

3.1.4 隨機處理模式監聽...16

3.2 基於SIP 之監聽架構 ...17

3.2.1 IER- Interception on Edge Router ...18

3.2.2 ICR- Interception on Core Router ...19

3.2.3 CIPS- Centralized Interception on Proxy Server ...20

3.2.4 DIPS- Decentralized Interception on Proxy Server ...21

3.2.5 於使用者電腦加裝監聽軟體...22

3.3 監聽網路架構之綜合探討...22

4 章 SIP 為基礎之監聽與側錄之網路架構 ...24

4.1 系統簡介...24

(9)

4.2 系統架構...25

4.3 合法監聽與側錄元件...26

4.3.1 SIPx- SIP Exchanger ...27

4.3.1.1 註冊...28

4.3.1.2 監聽與側錄運作原理...29

4.3.2 SIPm- SIP Monitor ...40

4.3.3 SIPHTTP- SIP HTTP Service...43

4.4 支援分散式監聽側錄網路架構...43

5 章 系統實作與實驗結果...45

5.1 系統設計與實作...45

5.1.1 SIPx ...45

5.1.2 SIPm ...46

5.1.3 SIPHTTP ...47

5.2 聽取側錄內容之操作介面...48

5.3 測試環境...50

5.4 通話測試結果...51

5.4.1 單一側錄設備之封包流失率測試...51

5.4.2 單一側錄設備與不同編碼方式進行封包流失率測試...52

5.4.3 多個側錄設備進行封包流失率測試...53

6 章 結論...55

6.1 成果討論...55

6.2 未來研究...55

參考文獻...57

(10)

表 目 錄

2.1 回應代碼類別表...13

5.1 測試環境硬體與網路表...50

5.2 單一側錄設備之封包流失率統計表(G.711) ...52

5.3 單一側錄設備與不同編碼方式封包流失率統計表 (G.711G.723.1)...53

5.4 多個側錄設備封包流失率統計表 (G.711)...54

(11)

圖 目 錄

1.1 台灣地區上網人口歷年成長比較 (資料來源:TWNIC 媒體簡報,2006-01) ...2

1.2 台灣地區寬頻使用人口歷年成長比較 (資料來源:TWNIC 媒體簡報,2006-01) ...2

2.1 PSTN 電話網路架構圖...5

2.2 PSTN 撥號號碼傳送方式...5

2.3 PSTN 基本建立通話與結束通話之循序圖...6

2.4 JERRY 透過SIP 代理伺服器與 WENDY 建立通話之流程...9

2.5 JERRY 透過二台不同網域之 SIP代理伺服器與 WENDY 建立通話之流程...10

2.6 JERRY 想發話給註冊在不同代理伺服器網域的WENDY 之建立通話流程... 11

2.7 一個透過 UDP傳輸的 INVITE 指令封包...12

2.8 找不到受話者的 INVITE 回應封包...13

3.1 在匣道器上監聽...15

3.2 H.323 加入監聽功能的建立通話程序...16

3.3 隨機除理模式監聽網路架構...17

3.4 邊界路由器監聽之網路架構 (圖片來源:[2]) ...18

3.5 核心路由器監聽之網路架構 (圖片來源:[2]) ...19

3.6 集中式代理伺服器監聽之網路架構 (圖片來源:[2])...20

3.7 分散式代理伺服器監聽之網路架構 (圖片來源:[2])...21

4.1 網路電話監聽基本架構...26

4.2 SIP監聽與側錄的網路架構圖...26

4.3 UA透過 SIPX 完成上線註冊之循序圖...28

4.4 監聽與側錄基本運作原理流程圖...29

4.5 於設有監聽設備同一網域中建立通話之循序圖...31

4.6 於設有監聽設備網域向外界網域通話進行監聽側錄之循序圖...33

4.7 於外界網域向設有監聽設備網域通話進行監聽側錄之循序圖...35

4.8 在監聽網域下與傳統電話網路建立連線之循序圖...37

4.9 在傳統電話網路與監聽網域建立通話連線之循序圖...39

4.10 包含 SDP內容的 INVITE 指令之SIP訊息...41

4.11 分散式監聽側錄網路架構圖...44

5.1 聽取側錄內容之操作流程...48

5.2 透過 PDA上網取得通聯記錄並自動回撥至 PDA上的軟體電話...49

5.3 單一側錄設備之封包流失率統計圖 (G.711)...52

5.4 單一側錄設備與不同編碼方式封包流失率統計圖 (G.711G.723.1)...53

5.5 多個側錄設備封包流失率統計圖 (G.711)...54

(12)

第1章 緒論

1.1 簡介

現今的網路發達,讓人與人之間的距離拉近了許多。從電子郵件到網路即 時訊息聊天,可看出人與人之間的溝通較以往的傳統書信更為便利。尤其在台灣 的網路發展迅速、頻寬充裕且廉價,從公司企業至一般家庭設有寬頻的服務如 ADSL 均相當廣泛。截至 2006 年一月為止,台灣地區上網的人口成長大約 1,476 萬人(圖 1.1),整體台灣人口上網率高達 65.07%,12 歲以上人口的上網率占有 65.97%;其中使用寬頻服務上網的人口約為 1,162 萬人(圖 1.2),約占總人口數六 成(59.93%)[17]。如此驚人的寬頻使用人口的成長顯式,將來的寬頻服務與運用 必定更為多元。目前許多業者正積極研究與發展互動式寬頻多媒體電視的技術,

這也將成為未來數位網路多媒體服務的新科技指標。對於個人用戶而言,目前最 受歡迎的寬頻服務之運用為文字、音訊與視訊功能的網路即時通訊。而含有音訊 功能之即時通訊軟體即是網路電話(VoIP)的一種,網路電話是指將聲音資訊經過 壓縮編碼成許多小封包,再透過 IP 網路來傳送至另一端予解碼還原聲音資訊。

此種技術與傳統電話網路傳送特性不同,通話費更便宜、使用更方便,這將是未 來的一大商機。所以在寬頻的普及下,正是多媒體資訊交流科技發展的偉大搖籃。

圖1

(13)

圖1.1 台灣地區上網人口歷年成長比較 (資料來源:TWNIC 媒體簡報,2006-01)

圖1.2 台灣地區寬頻使用人口歷年成長比較 (資料來源:TWNIC 媒體簡報,

2006-01)

1.2 動機與目的

隨著網路電話盛行的衝擊之下,利用網路電話犯罪的問題也日亦嚴重。傳 統電話網路已經有一套完善的監聽側錄架構提供司法單位合法監聽,以圖社會治 安的安定與國家的安全,但網路電話目前尚未規範出提供合法監聽的功能。目前

935 1,092 1,175 1,264 1,274 1,380 1,446 1,476

TWNIC 交通部統計處 TWNIC TWNIC TWNIC TWNIC TWNIC TWNIC

台灣地區上網人口歷年成長比較

15歲

以上 0-100

15歲

以上 0-100

91年

9月 92年

3月

93年 1月 92年

7月

0-100

93年 7月

0-100

94年 1月

0-100

94年 7月

0-100

95年 1月 單位:萬人

個人使用寬頻

1,162萬

937萬 903萬 936萬 1,031萬 1,053萬

92年7月 93年1月 93年7月 94年1月 94年7月 95年1月

59.93%

台灣地區寬頻使用人口歷年成長比較

(14)

網 路 電 話 運 行 的 通 訊 標 準 採 用 二 種 協 定 , 其 一 為 H .323[6] , 另 一 個 為 SIP(Session Initiation Protocol)[8]。這二種協定均能提供建立通話、取消通話與結 束通話的功能。由於 SIP 的迅速發展,其普及率也比 H.323 來得高,因此本論 文以 SIP 為基礎的網路電話,來制定一套兼具通話品質、側錄效能、高度跨平 台與架設容易的監聽側錄的方法,提供司法單位合法使用。

1.3 論文架構

在本篇論文中,共分為六個章節。在第 1 章的背景知識將介紹傳統電話網 路與 SIP 的通訊協定;於第 3 章中將分別介紹傳統電話網、H.323 和 SIP 目前 所提出的幾種監聽方法;在第 4 章將介紹本論文所提出以 SIP 通訊協定為基礎 的監聽側錄的網路架構;於第5 章為系統開發實作與實際網路環境的測試結果;

最後第6 章結論中將對本篇論文之成果做總結並提出未來研究的方向。

(15)

第2章 背景知識

2.1 PSTN-公眾交換電話網路

公眾交換電話網路 (PSTN- Public Switched Telephone Network) 是目前全球 最大的傳統電話網路交換系統。其技術是使用電路交換 (Circuit-Switched) 的方 式進行通話傳輸。當通話建立時,通話系統會保留一個固定的64Kbps 頻寬傳送 語音資訊直到通話結束為止。

2.1.1 公眾交換電話網路架構

傳統公眾交換電話網路如圖 2.1 所示可分成三個大項,客戶電信設備 (CPE:Customer Premises Equipment)、電信訊號傳輸設備 (The Transmission facilities)與交換機系統 (The Switched System)。

„

„ 客戶電信設備 (CPE):客戶用來接收電信服務的設備,如電話機、私人交換 機 (PBX)。

„

„ 電信傳輸設備:用來傳輸電信訊號的設備,如家中的電話機所連接的電話線 (subscriber line)、交換器互相連接的線路 (trunk)。

„

„ 交換機系統:亦稱為 Exchangers,在電信網路中扮演電路交換的設備。當 發話端撥打電話號碼後,交換機系統將發話端與受話端之間轉接到正確的路 徑以完成通話建立。交換器系統含有下列幾種設備:

„ Central Office (CO):CO 為直接與家中的話機相接的交換機,又稱 為端局 (End Office)。

„ Tandem:Tandem 為連接 Trunk 用的交換機,Tandem 通常不會直

(16)

接與使用者電機做連結。Tandem 依據區域與長途電話不同計費而 分兩大類,分別為 Local Tandem 與 Toll Tandem。Local Tandem 在 相同的計費區中,會與區域的 CO 相連;Toll Tandem 會與來至不 同計費區的 CO 相連來處理長途電話的計費。

圖2

Trunk

Trunk Trunk

Trunk

Trunk

CO

Tandem Tandem

CO CO

CPE

CPE CPE

PBX

CPE

圖2.1 PSTN 電話網路架構圖

在兩電話間建立電信連線以傳送語音稱之為 Circuit Connection。在建立通 話連線需要一層層的訊號控制。電話號碼以 CC-AC-EC-LN 方式表示,例如:

886-3-5374281。其中 CC 為國碼 886;AC 為區碼 3;EC 為區段 CO 的號碼 53;最後為用戶碼 LN 74281。若在同一國家內通話,其國碼 (CC)可以省略;同 理若為同一域碼 (AC)通話時,其區碼可省略。圖 2.2 為在台灣內不同區碼間建 立通話的範例。

圖2.2 PSTN 撥號號碼傳送方式

(17)

Caller Switch1 Switch2 Callee Off Hook

Dial Tone Dial Digits (Setup)

IAM (Setup)

Paging (Setup) Initial Dial Tone (page Response)

ACM (Alert) RAB Assignment

Call Path Establishment

Ringback Tone (Alert) Ring Tone (Alert)

Off Hook (Connect) ANM (Connect)

Ringback Tone Off (Connect) Ringback Tone Off (Connect ACK)

Connect ACK

Conversation Conversation Conversation

On Hook (Disconnect)

REL

Discounnect

Call Path Release

Release RLC

Release

Call Path Release

RAB Assignment

圖2.3 PSTN 基本建立通話與結束通話之循序圖

圖 2.3 為基本的建立通話與結束通話程序示意圖,兩端話機 Caller 與 Callee 透過兩個交換機 (Switch1、Switch2) 建立電話連線與結束通話。首先發 話者拿起話筒 (Off Hook) 聽到撥號聲 (Dial Tone),並撥打受話者的電話號碼 (Dial Digits);此時 Switch1 傳送 IAM (Initial Address Message) 至 Switch2 嘗試 與受話者進行電信路徑連線;當 Switch2 與受話者嘗試連線成功後,Switch2 會 回傳 ACM 訊息至 Switch1;收到 ACM (Acknowledge Message) 後的 Switch1

(18)

告知發話端電信路徑連線完成,此時交換機與交換機之間已經完成並保持正確的 電信路徑連線直到雙方開始通話或是一方取消通話;在正確地建立路徑後,交換 機分別對發話端與受話端傳送通話告知響鈴並等待受話者拿起話筒進行通話或 發話者掛斷話筒以取消進行通話;受發端接起話筒 (Off Hook) 時,Switch2 將 傳送 ANM (Answer Message) 至 Switch1,此時雙方開始進行通話直到一方結束 通話;當一方結束通話 (On Hook) 時,交換機會傳送 REL 訊息至另一端交換 機;收到 REL 的交換機會斷開電信路徑結束與電機的通話連線並回傳 RLC 訊 息至主動掛話 (發送 REL 端) 之交換機;收到 RLC 後的交換機此時也斷開與 話機之電信路徑並結束通話連線。

2.2 網路電話

網路電話顧名思義為透過軟體電話對影音資料壓縮成封包,利用區域網路 和網際網路所建立的數位影音的通道做兩端的多媒體傳輸。為了提高語音封包在 網際網路中傳輸的品質,一般影音資料會先在一端經過壓縮並切割成許多小的封 包於網路中傳輸,最後再由另一端解壓縮再將封包依序組合還原成語音資料供使 用者聽取。早期 H.323 為最具代表性的網路電話,直到 SIP (Session Initiation Protocol) 的技術問世後,網路電話科技更為廣泛的應用與更多相關學術單位與 業者投入研究。

2.2.1 SIP- Session Initiation Protocol

本論文提出的監聽架構建立於 SIP 的網路環境下,在此章節會簡單的介紹 SIP 網路架構。SIP 和 HTTP (Hypertext Transfer Protocol -- HTTP/1.1)[4] 一樣為 一種以文字模式傳遞控制命令的一種通訊協定。命令與回應一般來講是以 UDP (User Datagram Protocol)[14] 來傳遞。SIP 用來建立二個以上的端點的會晤 (Session) 連 線 , 有 的 SIP 控 制 或 回 應 指 令 含 有 SDP (session description

(19)

information)[5][8] 去讓每一點知道如何建立彼此的網路連線。SIP 控制與回應指 令一般預設的通訊埠為 5060。當一個成功的會晤建立時,每一個端點必須遵循 SDP 的描述去彼此建立連線通道。 在遵循 SDP 來點對點連線後,點與點之間 即可開始使用他們自己的連線去通話,如音訊或是視訊等串流。當須要結束交談 時,其中一個點會送去 BYE[8] 指令由 SIP 的控制連線通道給另外一方來請求 結束點對點的連線。SIP 網路架構含有幾個重要的網路元件, 用戶代理程式 (User Agents- UA)、SIP 代理伺服器 (SIP Proxy Servers)和重新導向伺服器 (Redirect Servers)[8]。

2.2.1.1 User Agents

使用者代理程式 -User Agent (UA) 為 SIP 網路環境上讓使用者操作的實 體。使用者可使用 UA 向 SIP 代理伺服器做註冊的動作來表示該使用者已上線 並等待來電或準備好撥出電話來進來通話[1]。當在通話交談中,UA 必須將對方 送來的音訊或視訊串流做解碼。一般來說,UA 為個人電腦上的軟體或是硬體型 式的 IP 電話。下面為一個建立通話的實例,假設 Jerry 想利用他的電腦上的 UA 透過網路發話給 Wendy,在圖 2.4 中可看出 call-setup 的流程。(1) Jerry 向 SIP 代理伺服器提出對 sip: Wendy@domain.com 的邀請。(2) SIP server 傳送邀 請訊息來通知 Wendy。(3) Wendy 接受此通來自 Jerry@1.1.1.1 的電話。(4) Jerry 和 Wendy 開始進行通話。

(20)

圖2.4 Jerry 透過 SIP 代理伺服器與 Wendy 建立通話之流程

2.2.1.2 Proxy Servers

SIP 代理伺服器 -SIP proxy server 的功能用來接受 UA 的註冊和轉送 SIP 控制命令到雙方的 UA。當通話是由該代理伺服器的網域到另一個網域時,SIP 代理伺服器必須能找出另外的網域的 SIP 代理伺服器,並轉送命令封包至目的 SIP 代理伺服器。如果這個通話在同一個網域,SIP 代理伺服器只需要將 SIP 控 制命令轉送到通話的兩端。當代理伺服器收到“INVITE"的命令同時發話者是 註冊在本網域的 SIP 代理伺服器,SIP 代理伺服器要回應受話者的狀態,如忙 線或是響鈴中。當通話建立成功後,SIP 代理伺服器必須記錄通話者為忙線的狀 態。下面為透過二台 SIP 代理伺服器建立通話的實例,假設 Jerry 想透過兩個 不同的網域發話給 Wendy,在圖 2.5 中可看出 call-setup 的流程。 (1) Jerry 透 過domain1.com 的 SIP 代理伺服器使用 Jerry@domain1.com 邀請在另外一個網 域的 Wendy@domain2.com。(2) 代理伺服器 1 (domain1.com) 轉送 “INVITE"

指令到代理伺服器2 (domain2.com)。(3) 代理伺服器 2 轉送 “INVITE" 指令 到 Wendy。 (4) Wendy 回應此通話。(5) Jerry 和 Wendy 開始進行通話。

(21)

圖2.5 Jerry 透過二台不同網域之 SIP 代理伺服器與 Wendy 建立通話之流程

2.2.1.3 Redirect Servers

重新導向伺服器 -Redirect servers 協助提供用戶可能可以達到網路位址來 找 到 受 話 者 的 位 置[1] 。 當 重 新 導 向 伺 服 器 從 想 邀 請 UA2 的 UA1 收 到

“INVITE" 指令時,重新導向伺服器會回應可到達 UA2 的位置或是 UA2 註 冊的 SIP 代理伺服器的位址給 UA1。重新導向伺服器和代理伺服器有些許不 同。重新導向伺服器只回應可找到的受話者網路位址或是受話者所註冊的代理伺 服器,但是代理伺服器會轉送“INVITE"的訊息到受話者並回應受話者的狀態 到發話者端。下面為一個實例,假設 Jerry 想發話給 Wendy,但是 Wendy 註 冊在不同網域的代理伺服器,在圖2.6 中可看到 call-setup 的詳細流程。(1) Jerry 邀請 Wendy@domain.com 來通話。(2) 但是 domain.com 的網域上有一個 SIP 重新導向伺服器處理進來的邀請訊息而且重新導向伺服器知道在漫遊的 Wendy 可以在 zone.com 的網域找到她。重新導向伺服器提出 Jerry 的 UA 去試試 Wendy@zone.com 的建議。(3) Jerry 的 UA 再送一次 “INVITE" 指令至 zone.com 網域上的代理伺服器。(4) zone.com 網域上的重新導向伺服器轉送該

(22)

指令至 Wendy 的 UA。 (5) Wendy 回應此通電話。(6) 然後 Jerry 和 Wendy 開 始進行通話。

圖2.6 Jerry 想發話給註冊在不同代理伺服器網域的 Wendy 之建立通話流程

2.2.1.4 SIP 的指令請求

在 SIP 核心中定義出六種 SIP 的指令,如 INVITE、 ACK、 BYE、

CANCEL、 REGISTER 和 OPTIONS [8]。每一個 SIP 的指令內容含有一個欄 位來表示這個指令的目的。

INVITE 的請求指令用來邀請使用者加入一個通話。INVITE 指令的內容 包含會晤描述 –description of the session (SDP)。圖 2.7 為一個 INVITE 封包的 全部內容。從第一行至十一行為 SIP 的本文主體。從第十三行至第二十六行為 SDP 的 本 文 。 從 該 內 容 可 看 出 810073@140.126.143.73 想 發 話 至 123@140.126.143.73。

(23)

圖2.7 一個透過 UDP 傳輸的 INVITE 指令封包

ACK 的請求指令用來告知發送指命端該指命已確實送達,如 INVITE 的 指令。當收到 “200 OK" (受話者回應通話時),發話者將回應一個 ACK 訊息 給受話者來通知受話者已經收到回應並可以開始進行通話。

BYE 的請求指令用來結束通話中的會議。當發話者或是受話者送出 BYE 的指令時,令一方必須回應“200 OK"的訊息來通知已經準備好來結束此通 話。在結束通話之後,代理伺服器將會把使用者忙線中的標籤拿掉。

CANCEL 的請求指令用來取消通訊。例如, Jerry 打一通電話到 Wendy 同時 她的電話開始響鈴,但是過了一段時間都沒有人來接起電話。之後 Jerry 掛 斷此通話並送出 CANCEL 的訊息到她的電話。並且代理伺服器送出 “200 OK"來回應 CANEL 給 Jerry 的電話去表示取消通話的程序已完成。

(24)

REGISTER 的請求指令用來告知並註冊有關使用者目前的網路位址給代 理伺服器。當其他人想邀請在這個代理伺服器的使用者時,代理伺服器會轉送邀 請的指令到該使用者的 UA。

OPTIONS 指令用來查詢 server 可提供哪些指令來用。如果 server 不支 援 REGISTER 的指令,server 將會回應所支援的指令但不包含 REGISTER 給 查詢者。

2.2.1.5 SIP 的指令回應

SIP 指令回應的代碼從 100 至 699。回應代碼均表示在封包的第一行。在 表2.1 中列出每一個回應類別所對應的代碼範圍。

表1 回應代碼類別表 表2.1 SIP 回應代碼類別表

回應類別 類別說明 範例

100-199 臨時性的資訊回應 180 RINGING 200-299 成功的請求回應 200 OK

300-399 重新導向資訊回應 302 MOVED TEMPORARILY 400-499 請求失敗錯誤回應 404 NOT FOUND

500-599 伺服器錯誤 504 GATEWAY TIME-OUT 600-699 全域出錯 603 DECLINE

在圖2.8 中,可看出這個封包是“810073"想撥打一通電話到 “123",但 是代理伺服器找不到在 140.126.143.73 網域中名叫“123"的使用者。因此,

proxy 回應“404 Not Found"訊息給送出 INVITE 的發話端“810073"。

圖2.8 找不到受話者的 INVITE 回應封包

(25)

第3章 相關研究

3.1 基於 H.323 之監聽架構

在“Methods for Lawful Interception in IP Telephony Networks Based on H.323"[12] 論文中提出四種監聽架構,分別為在匣道器上監聽、Gatekeeper 導 向監聽、固定路徑監聽以及隨機處理模式監聽[13]。在四種不同的監聽策略中,

共通的特性是在網路基本硬體設備上安裝有監聽的功能;不同的地方是具有監聽 功能的網路硬體因其原本所扮演的角色不同,而位於不同的網路節點,因此四種 監聽架構的系統之特性也不同。

3.1.1 匣道器上監聽

只要在匣道器上新增一個功能,使得當有需要監聽的通話連線時,將音訊 的內容複製一份到儲存伺服器即可完成監聽的功能。這種方法不會侷限發話者所 使用的網路,即發話者可以由 H.323 或是 PSTN 的網路透過匣道器撥打到另一 邊網路環境的受話者。這一種監聽方法的優點不會因為加裝的儲存伺服器使得通 話的頻寬不足而影響通話品質。缺點是匣道器往往都是現成的硬體產品,加裝複 製音訊內容到另外的儲存體的功能不容易,使得要另外開發來支援此功能。同 時,如果該通話沒有經過匣道器,如 H.323 網路內部的通話或是 PSTN 網路內 部的通話的情況下,則無法達到監聽的功能。圖3.1 為匣道器上監聽的示意圖。

圖3

(26)

PSTN Phone H.323 Endpoint

H.323 Network PSTN Network

Gateway

Storage Device

圖3.1 在匣道器上監聽

3.1.2 Gatekeeper 導向監聽

此導向監聽方法在 H.323 的網路下可能達到監聽的功能。Gatekeeper 有如 SIP 網路架構中的代理伺服器。它的功能提供給發話者所需要的受話者網路資 訊,並負責將兩端建立點對點傳輸的通訊連線。圖3.2 為使用 Gatekeeper 重新導 向監聽的連線建立步驟圖,首先發話端傳一個含本身網路位址資訊之 ARQ 封 包給 Gatekeeper (1),Gatekeeper 會回覆包含 Storage Device 網路位址的 ACF 封包 (2,3)讓發話者知道如何連接到受話者(Storage Device)。接著發話者和 Storage Device 以 及 受 話 者 三 方 交 換 Q.931 Setup/Call Proceeding 訊 息 (4,5,6,7)。接下來受話者會與 Gatekeeper 交換 ARQ/ACF 訊息(8,9) [9],最後受 話端透過 Storage Device 送給發話端一個 Q.931 Alerting 訊息 [7] 之後即開始 進行通話與監聽。

(27)

圖3.2 H.323 加入監聽功能的建立通話程序

3.1.3 固定路徑監聽

此方法是在 H.323 網路上安插一台監聽設備,同時所有的通話都一定要經 過這台監聽設備。這種方法和 Gatekeeper 重新導向監聽的方法雷同,不一樣的 地方在於 Gatekeeper 不需要判斷每通電話是否需要監聽而是將所有通話導向監 聽設備。所以通話的連線將兩方由監聽設備分隔為二,一個為發話者和監聽設備 連線,另一個為受話者和監聽設備連線。此種方法雖然架構簡單但是仍有頻寬的 問題需要解決。同時這必須要修改 Gatekeeper 來實現監聽的功能。

3.1.4 隨機處理模式監聽

此種監聽架構是將所有的交換器 (SWITCH)或是集線器 (HUB)都跟監聽設 備做連接,同時這些交換器和集線器均要複製一份封包至監聽設備來達到監聽的 效果(如圖 3.3 所示)。因此監聽設備必須要能解析 H.323 封包,並將雙方的網路 位址和通話內容記錄下來。這種架構不但能提供 H.323 等網路電話監聽功能,

(28)

且不會影響通話的品質。但是以目前發達的網路環境連接著太多的交換器和集線 器,在現實生活上不可能全部都安裝上監聽的設備。另外這個監聽架構也受到交 換器和集線器的硬體效能的限制,當網路流量很大時有時無法在一定的時間內完 成封包的複製與分析。

圖3.3 隨機除理模式監聽網路架構

3.2 基於 SIP 之監聽架構

現今網路電話以 SIP 通訊協定廣為流行,漸漸取代以往的 H.323 。許多 研究單位也針對 SIP 網路電話擬出幾種不同的監聽技術,在“Design and Implementation for Lawful Interception of SIP-based Services"[2]論文中提出四種 基於 SIP 協定之監聽架構,分別為邊界路由器監聽(IER)、核心路由器監聽 (ICR)、集中式代理伺服器監聽 (CIPS)以及分散式代理伺服器監聽 (DIPS)。IER 與 IER 是為加裝側錄功能於路由器上,但後者為集中式側錄機制;CIPS 與 DIPS 則為加裝側錄功能於 SIP 代理伺服器中,分別為集中式側錄與分散式側 錄。另外一些資訊安全業者亦研究開發安裝於使用者的終端電腦上進行監聽網路

(29)

電話,如 X-Gate[19]。

3.2.1 IER- Interception on Edge Router

邊界路由器監聽 (Interception on Edge Router)主要概念為利用邊界路由器 來擷取所需的語音封包來達成監聽的目的。由於在網域外封包的傳輸均會通過邊 界路由器 (Edge Router),因此當網路電話建立連線與點對點進行通話時,邊界 路由器均會接收到全部的封包。因此路由器不需改變 SIP 在建立通話或是點對 點進行通話時的路由設定,即可完成監聽與側錄的功能。圖3.4 為此種監聽網路 架構示意圖,多媒體封包會透過邊界路由器傳送至目的地。當邊界路由器檢視該 建立通話之 SIP 內文為需監聽的對象時,將會把通話時的多媒體封包複製一份 至控制中心 (Control Center)。

圖3.4 邊界路由器監聽之網路架構 (圖片來源:[2])

該監聽架構因依賴邊界路由器來進行側錄,所以邊界路由器的界定尤其重

(30)

要。但利用邊界路由器的方式無法在小型的區域網路內部之通話來進行監聽,例 如某公司內部為一小型區域型網路,但因為 SIP 網路電話之多媒體串流為點對 點的傳輸方式,在建立通話的過程中,雖然邊界路由器能截取建立通話過程的封 包,可是當通話建立後進行通話時,基於點對點的傳輸機制,其多媒體串流只會 在公司內部小型區域網路進行點對點的傳輸。所以邊界路由器無法側錄於小型網 路內部之通話內容。

3.2.2 ICR- Interception on Core Router

核心路由器監聽 (Interception on Core Router)的策略與邊界路由路器雷 同,其中不同的部分是多媒體封包若為需監聽目標,則更新此封包之路由表,將 多媒體封包全部送往監聽系統的中心路由器 (Core Router)。中心路由器將所收集 的多媒體封包轉送至目的地並複製封包後轉送控制中心。

圖3.5 核心路由器監聽之網路架構 (圖片來源:[2])

(31)

核心路由器監聽的方法一樣依賴邊界路由器來進行側錄,所以仍然無法針 對小型區域網路內部通話進行側錄。同時如果核心路由器硬體或網路失敗時,將 會導致側錄對象之通話無法進行監聽。又因邊界路由器會將所有監聽對象之多媒 體串流封包集中傳送至核心路由器,所以核心路由器之網段的頻寬將是一大考 驗。也因如此,核心路由器必須要具備強而有力的硬體效能才能應付所有的封包 轉送,否則通話品質將會受到巨大的影響。上述兩種利用邊界路由器進行側錄的 策略因須將現今廣大網路所有的邊界路由器加裝功能,在現實生活上幾乎是不可 能的。

3.2.3 CIPS- Centralized Interception on Proxy Server

集中式代理伺服器監聽 (Centralized Interception on Proxy Server)方式是將 通訊內容的監聽以及多媒體資料的儲存均集中於控制中心。代理伺服器利用建立 通話時的 SIP 資訊來分析辨別是否為監聽對象,若為需監聽的對象則將 SDP 內容之多媒體串流路徑改至控制中心。當雙方開始通話時,雙方的多媒體封包均 會透過控制中心來轉送,同時將來往的封包儲存於設備中以提供合法監聽者調 用。

圖3.6 集中式代理伺服器監聽之網路架構 (圖片來源:[2])

(32)

集中式代理伺服器監聽之策略為將所有的監聽目標之多媒體封包集中由中 央控制中心來負責轉送與儲存封包,若中央控制中心伺服器或網路失敗,將會影 響整體的監聽系統。同時因為所有的多媒體封包均送往控制中心,易導致使用者 之通話品質因控制中心的網路頻寬不足而受到影響。

3.2.4 DIPS- Decentralized Interception on Proxy Server

集中式代理伺服器監聽因只有一個監聽設備於控制中心,易導致控制中心 之負載過大。分散式代理伺服器監聽 (Decentralized Interception on Proxy Server) 的策略與集中式代理伺服器監聽的最大不同點為儲存多媒體封包於個別的監聽 代理人 (Wiretap Agent),同時監聽代理人必須轉送多媒體封包至控制中心。其控 制中心和集中式代理伺服器監聽的角色雷同,把來往的封包導向至另一方,其不 同點為控制中心將封包送往另一方的監聽代理人,並由監聽代理人負責轉送至使 用者。

圖3.7 分散式代理伺服器監聽之網路架構 (圖片來源:[2])

(33)

分散式代理伺服器的監聽方式雖然將儲存多媒體串流分散多個監聽代理人 來降低控制中心的負擔,但所有需監聽的內容多媒體封包均集中由控制中心來完 成交換轉送封包至雙方,因此控制中心的頻寬與將受到考驗。同時若控制中心伺 服器失敗,將導致受監聽之通話無法建立連線。

3.2.5 於使用者電腦加裝監聽軟體

於使用者電腦加裝監聽軟體的方法為當偵測出使用者使用網路電話軟體通 話時,將電腦硬體中的麥克風與音效輸出的聲音資訊經過適當的壓縮並送往監控 中心進行側錄。此種監聽方法雖然不用更改整體的網路電話網路架構,但是規範 所有的網路電話使用者安裝該監聽程式是一項困難的作業。同時因為要將側錄的 音訊封包上傳至監聽設備會佔用一定的頻寬。尤其是在 ADSL 的網路撥接時,

上傳封包是佔用大部分的下載封包的頻寬。因此往往會導致通話品質不良的影 響。

3.3 監聽網路架構之綜合探討

過去本論文所提出的方法如在匣道器上監聽、Gatekeeper 導向監聽、固定路 徑監聽以及隨機處理模式監聽之H.323 四種監聽架構,以及邊界路由器監聽、核 心路由器監聽、集中式代理伺服器監聽,分散式代理伺服器監聽以及於使用者電 腦加裝監聽軟體等 SIP 五種監聽架構,共九種監聽架構的缺點,如:因網路頻 寬與側錄效能不足而導致通話品質不良的影響;無法監聽局部小型區域網路內部 的通電話;以及現實世界不易於安裝等問題。本篇論文目的為制定一套兼具通話 品質、側錄效能、高度跨平台與架設容易的監聽側錄的方法。其監聽架構能提供 網路電話提供者最簡單的架設,更能將網路電話與傳統電話做整合監聽。即使只 有一方的網路電話提供者提供監聽功能,也能將本監聽網路與外部未被監聽的網 路電話一併在本監聽網路完成監聽的功能。在網路頻寬問題方面,可利用本論文

(34)

之監聽架構所支援的分散式監聽側錄功能來解決通話品質的問題。

(35)

第4章 以 SIP 為基礎之監聽與側錄之網路架構

於本論文第 3 章中,對網路電話進行監聽的研究論述可看出,一套具有監 聽與側錄功能的網路電話系統,在過去無法同時滿足通話品質與側錄效能的優 點。過去監聽的策略大致分為兩種方式,分別為在基礎網路設備與網路電話設備 上安裝側錄監聽功能。在基礎網路設備加上側錄與監聽的功能,如在3.1.4 小節 中的隨機處理模式監聽架構,必須將Switch 或 Hub 安裝有監聽的功能;於 3.2.1 小節的邊界路由器監聽和 3.2.2 小節的核心路由器監聽須在路由器安裝有監聽 的功能。雖然在基礎網路設備上加上側錄功能的方式,在部署許多該設備的情況 下,能加強通話品質與側錄涵蓋範圍,但是於現實生活中要部署龐大的網路設備 無法實現,建置成本也相當昂貴。另一種在網路電話設備上安裝有監聽與側錄的 功能的架構,如在3.1.1 小節中的在匣道器上監聽與 3.1.2 小節的 Gatekeeper 導 向監聽,以及於3.2.3 和 3.2.4 小節中的集中式與分散式代理伺服器監聽的方式 雖然能免除建置龐大數量的具有監聽功能之基礎網路設備以達到較完整的監聽 涵蓋範圍,但其監聽功能因為安裝於網路電話設備上,所以在跨平台的移植性不 高,同時其通話品質亦受到一大考驗。過去幾種側錄方式亦須要對語音資料做解 碼與壓縮儲存的工作,而大大降低通話品質與側錄效能。

4.1 系統簡介

目前對於網路電話進行監聽與側錄功能的系統架構尚未能同時滿足通話品 質、側錄效能、跨平台與架設容易等需求。本論文利用分散式的側錄機制來提高 通話品質;同時採用直接儲存語音串流封包而不進行解碼與編碼的方法來提高側 錄的效能;在偵測電話事件功能方面採用獨立的元件服務於 SIP 代理伺服器前

(36)

端做 SIP 封包轉換與轉譯以提高跨平台的功能並讓業者更為方便架設監聽設 備。

4.2 系統架構

在 SIP 網路架構中,使用者利用軟體電話透過網際網路向 SIP 代理伺服器 註冊後,即可等待發話者來電或撥號至受話者以進行通話。其中註冊、通話建立 與通話結束的過程均會透過 SIP 代理伺服器來運作。因此為了監聽通話的目 的,需要一個透過 SIP 代理伺服器來取得 SIP 交換封包並進行轉送與解譯的模 組 (Exchange Module)來偵測使用者上線註冊與通話建立與結束的事件。透過封 包轉送與解譯的模組所偵測的事件,即可取得使用者通聯記錄。取得通聯記錄之 外,為了進行側錄的功能,可利用通話的事件來觸發側錄語音資料的模組 (Storage Module)進行側錄。側錄語音資料之設備必須能改變使用者建立通話後的 語音串流路徑,由雙方通話時之點對點傳輸變換成雙方的語音串流均透過側錄模 組傳輸以進行側錄。為了提供合法監聽者被監聽者之通聯記錄與側錄內容,合法 監聽者可透過監聽服務模組 (Service Module),進行通聯記錄的查詢與取得側錄 的內容,服務模組必須能整合側錄模組所儲存的通聯記錄與語音資料並依合法監 聽者所需將語音資料回傳給合法監聽者。SIP 封包轉送解譯模組 (Exchange Module)、側錄語音資料模組 (Storage Module)與監聽服務模組 (Service Module) 之基本運作方式可見圖4.1。

於本論文的監聽架構中,轉送解譯模組定名為 SIPx (SIP Exchanger);側錄 模組定名為 SIPm (SIP Monitor);提供合法監聽者通聯記錄與語音資料之模組定 名為 SIPHTTP (SIP HTTP Service)。此三個模組的運作原因將於下個小節做詳細 的說明。

圖4

(37)

SIP Proxy Server

Storage Module

Service Module Lawful Officer

User User

Session Initiation

Session Initiation

Exchange Module

Conver satio

n Con

versation

圖4.1 網路電話監聽基本架構

4.3 合法監聽與側錄元件

在本論文的監聽的網路架構中,額外安插了三個元件於傳統的 SIP 網路架 構 ,各為 SIPx (SIP Exchanger)、SIPm (SIP Monitor)、SIPHTTP (SIP HTTP Service)。可以將三個原件安裝在同一台主機,也可以每個元件由獨立安裝在個 別的主機,並以網路相連 (請看圖 4.2)。

圖4.2 SIP 監聽與側錄的網路架構圖

(38)

本論文提出的 SIP 網路監聽架構,支援在 SIP proxy1 網域內部的通話,

也支援外部未安裝監聽設備的 SIP proxy2,和透過 NGW 傳統電話網路通話進 行監聽。 NGW [3][11] 是用來轉換傳統電話網路 PSTN [10][16] 到 SIP 網路環 境或是SIP 網路到傳統電話網路 PSTN 的訊號。SIPx 的功能用於給網路電話使 用者做註冊,並將註冊的資訊轉發給既有的 SIP 代理伺服器。當有使用者撥出 或接起電話時,SIPx 會向 SIP 代理伺服器同時做相關的資訊交換,再向 SIPm 告知將有一通電話需要監聽。 當 SIPm 收到監聽請求時,會把這次的通聯記錄 和 SIP 與 SDP (Session Description Protocol) 封 包 記 錄 下 來 並 分 析 RTP (Real-time Transport Protocol) [15] 串流的網路路徑。分析串流路徑改變 SDP 內 容後,回傳更改後的 SDP 封包到 SIPx,最後再由 SIPx 轉送給使用者。在登 入 SIPHTTP 之後,合法監聽者可以搜尋被監聽者的通聯記錄並挑選要聽取的側 錄的談話內容。在此架構中,可以分散佈置多個 SIPm 來分散網路的流量。例 如在 A 區的使用者通話時,則由 A 區的 SIPm 來做側錄以解決加入監時功能 時所造成的寬頻不足的問題。若是 A 區須被監聽的使用者很多或是 A 區的網 路電路使用率相當高,甚至可以在 A 區安插更多的 SIPm 來分擔頻寬的問題。

本論文提出的監聽架構集合了安裝監聽架構、未安裝監聽架構和傳統網路電話彼 此通訊的廣域監聽功能,也同時解決了側錄時影響寬頻的問題。更重要的是此架 構可提供給網路電話供應商最簡便的安裝與設定。另外,合法監聽者不需安裝特 別的監聽程式來取得監聽內容,可透過網頁來選取通聯記錄並使用一般市面上的 網路電話軟體即可做到聽取側錄的內容。在後面幾個章節中,會詳細說明每個元 件處理封包的流程。

4.3.1 SIPx- SIP Exchanger

SIPx (SIP Exchanger) 為一個虛擬的 SIP 代理伺服器,它將取代現有的 SIP 代 理 伺 服 器 的 網 路 位 址 , 作 用 在 於 修 改 SIP 通訊協定中封包的路由堆疊

(39)

(Routing Stack)和註冊 (Registration)資訊的修改。在 SIP 網路中將看不到原本的 SIP 代理伺服器,只看得到 SIPx。因為 SIPx 取代原 SIP 代理伺服器的網路位 址,所以原本向原 SIP 代理伺服器註冊的使用者會註冊在 SIPx 上,同時 SIPx 會轉送修改過後的註冊的資訊到原本的 SIP 代理伺服器上,讓原來的 SIP 代理 伺服器認定使用者註冊於 SIPx。SIPx 對外是 SIP 的網路環境,對內則是原本 的 SIP 代理伺服器。 SIPx 處理所有的對內和對外的封包並和原 SIP 代理伺服 器彼此私下交談。但若受話者不在本網域內,則 SIPx 會請原 SIP 代理伺服器 代理尋找該受話者的網路位址並負責轉送與外界溝通的封包。SIPx 和 SIP 代理 伺服器彼此亦使用 SIP 通訊協定來彼此溝通,其註冊資訊和路由堆疊均由 SIPx 來負責,所以不用更改或新增原 SIP 代理伺服器的功能。下面會介紹 SIPx 處 理註冊與通話連線建立的處理流程。

4.3.1.1 註冊

在安裝監聽的網路架構下,使用者會向取代原 SIP 代理伺服器網路位址的 SIPx。SIPx 收到註冊訊息後,將轉送註冊訊息至原 SIP 代理伺服器並告知若將 有發話者欲尋找該註冊於本代理伺服器之須由 SIPx 來代理尋找。在圖 4.3 中為 一個成功的註冊處理流程。

圖4.3 UA 透過 SIPx 完成上線註冊之循序圖

(40)

4.3.1.2 監聽與側錄運作原理

當 SIPx 取代原 SIP 代理伺服器網路位址時,使得使用者將會註冊於 SIPx 伺服器。在圖4.4 中,(1) 當發話者欲撥打至受話者時送出 “INVITE" 指令至 SIPx;(2) 若 SIPx 收到該封包時判定為須監聽對象,則將封包送往 SIPm;(3) SIPm 修改 SDP 之發話者的網路位址與多媒體通訊埠為 SIPm 的網路位址與 通 訊 埠 後 回 送 至 SIPx , 此 時 SIPm 會 建 立 一 個 側 錄 會 晤 執 行 緒 (Create Session);(4) SIPx 收到來自 SIPm 的封包後,轉送封包至受話者;(5) 當受話 者接起電話時,會回送 “200 OK" 的訊息至 SIPx,其中該訊息包含內有受話 者的網路位址與多媒體通訊埠 的 SDP 本文;(6) SIPx 將收到來自受話者的

“200 OK" 封包送至 SIPm,此時 SIPm 將之前建立的會晤執行緒起始進行側 錄;(7) 此時 SIPm 修改 SDP 本文中受話者之網路位址與多媒體通訊埠為 SIPm 網路位址與新建立的通訊埠並回送至 SIPx;(8) SIPx 最後將封包回送至發話 者;(9) 此時發話者與受話者均認為對方的網路位址與通訊埠為 SIPm,所以 RTP Stream 在通訊時會經過 SIPm 來達到側錄的功能。

(2)INVITE (3)INVITE (6)200 OK

(7)200 OK

圖4.4 監聽與側錄基本運作原理流程圖

(41)

在真實的網路環境中,存在許多不同網路電話之網域,所以一個成功的通 話連線則可分同網域內通話與不同網域間通話;若整體網路環境分為網路電話與 傳統電話網路兩大域塊,則可分為網路電話向傳統電話通話與傳統電話向網路電 話通話。因此設有監聽設備的網路電話之網域、其他網域和傳統電話網路之間,

所有通話建立連線的類別共可分為五大類:

„ „ A. 同一設有監聽設備之網域內通話進行監聽側錄

在被監聽的網域下建立通話連線時,SIPx 在收到發話者指令後轉送指令到 SIP 代理伺服器封包後,均會先轉送該封包到 SIPm 做封包的修改。在收到 SIPm 修改後的封包後再轉交至 SIP 代理伺服器。其 SIPm 所修改內容,和 SIPm 收到 INVITE、200 OK、BYE 和 CANCEL 時,會做出側錄能功等控制。

因為這是一通同一個被監聽網域下的通話,所以 SIP 代理伺服器找到的受話者 是註冊於 SIPx 上,因此會將封包送至 SIPx 並由 SIPx 來代理送至受話者。在 受話者收到通話邀請時,其回應的封包將會依照路由堆疊所示的全程封包轉送流 程轉送回去 [8]。在圖 4.5 中指描述重要的訊息交換流程。

(42)

Caller SIPx SIPm SIP Proxy Callee

INVITE

INVITE

INVITE INVITE

INVITE 100 TRYING 100 TRYING

100 TRYING 100 TRYING

INVITE

180 RING

180 RING

180 RING 180 RING

180 RING

180 RING

200 OK

200 OK

200 OK 200 OK

200 OK

200 OK ACK

ACK

ACK ACK

ACK ACK

BYE

BYE

BYE BYE

BYE BYE

200 OK

200 OK

200 OK 200 OK

200 OK

200 OK

RTP Stream RTP Stream

圖4.5 於設有監聽設備同一網域中建立通話之循序圖

(43)

„ „ B. 設有監聽設備網域向外界網域通話進行監聽側錄

在監聽的網域下發話到外部在傳統 SIP 網路網域的受話者時,和上一小節 部分不同的地方在於 SIP 代理伺服器的處理機制。在圖 4.6 在可看出在 SIP proxy1 收到 INVITE 指令時得知其受話者在 SIP proxy2 網域下,所以將 INVITE 封包導向 SIP proxy2。在 SIP proxy2 轉送封包至受話者後,受話者便 透過 SIP proxy2 傳送回應封包至 SIP proxy1。SIP proxy1 再依其原路徑之堆疊 反送至發話者。因此在經由 SIPx 修改路由堆疊的作用下,當監聽的網域下撥打 到外部未被監聽的網域時,仍然可以完成雙方的監聽。在圖4.6 中,可以看出在 監聽的網域下,其發者所有傳送的封包均由 SIPx 來統一收送。而因為 SIP proxy1 server 用來代理 SIPx 來尋找受話者所註冊的 SIP proxy2 server 網路位 址,所以外部未被監聽的網域受話者其交換封包的統一對象是透過 SIP proxy2 server 來交談的 SIP proxy1 server 。其交談的通訊協定亦全完遵循 Session Initiation Protocol 的規範。

(44)

圖4.6 於設有監聽設備網域向外界網域通話進行監聽側錄之循序圖

(45)

„ „ C. 外界網域向設有監聽設備網域通話進行監聽側錄

因為在監聽網域內的使用者在本章的 4.3.1.1 小節部分提到均註冊在 SIPx 下,所以外部的未被監聽的發話者撥打在此網域時會透過 SIP proxy2 server 向 SIPx 詢問受話者的網路位址。在 SIPx 收到來自 SIP proxy2 server 的封包後,

便將封包送往 SIPm 來修改封包。收到來自 SIPm 所完成修改的封包後,隨即 將封包轉發到 SIP proxy1 server。因為 SIP proxy1 server 必須做有關使用者通訊 狀態相關的記錄來提供網路電話供應廠商做計費等性質工作,所以在建立通話與 結束通話時,SIPx 均要向 SIP proxy1 server 做封包的轉送。在本章之前的幾個 有關建立通話的小節中,可以看出所有的通話建立連線時,SIPx 均會向本監聽 網域下的代理伺服器,即 SIPx 所取代網路位址的 SIP 代理伺服器,做溝通的 動作。因此在圖4.7 中,可看出在 SIP proxy1 server 收到來自 SIPx 的封包後會 再轉送回給 SIPx,再由 SIPx 轉發給本網域的受話者。其所有的封包轉送流程 均符合 Session Initiation Protocol 的標準規則。因為 SIP proxy1 server 知道其受 話者註冊在 SIPx,所以 SIP proxy1 server 會回送封包到 SIPx。在圖 4.7 中,可 以看出外部未安裝監聽設備的網域發話者其交換封包的端口是透過 SIP proxy2 server 交談的 SIPx。而在安裝監聽設備的網域下的受話者,其統一的交換封包 的對象亦是 SIPx。

(46)

圖4.7 於外界網域向設有監聽設備網域通話進行監聽側錄之循序圖

(47)

„ „ D. 在監聽網域下與傳統電話網路建立連線

在傳統電話網路中,PSTN Switch 負責將傳統電話透過骨幹網路將彼此做 電路連接來完成通話[10]。而 NGW 的功能在於將傳統網路電話的交換機與網路 電話的 SIP 代理伺服器做資訊交和語音轉換。換句話說,傳統電話網路基本上 是為類比訊號型式,而網路電話是數位的型式。NGW 則將類比與數位之間做交 換來達到通訊的功能。在圖4.8 中,可以看出當 NGW 收到 SIP 代理伺服器的 INVITE 封包時,NGW 會轉換成 PSTN Switch 所理解的 IAM 訊息以得知有 一通電話將建立。當 PSTN Switch 透過傳統電話網路找到受話者且受話者接受 該通話時,PSTN Switch 會回傳 ANM 的訊號至 NGW。NGW 就此將 ANM 訊 號再轉換成 “200 OK" 的封包回傳給 SIP 代理伺服器。此時 SIP 代理伺服器 即可透過封包上記錄的路由堆疊回傳給上游的 SIPx。所以在這個監聽的網路架 構下,亦可達到網路電話撥打至傳統電話網路的監聽功能。在圖4.8 中,可以得 知在監聽網路網域下的發話者的資訊交換端口為 SIPx,而 PSTN Switch 的資訊 交換窗口是透過 NGW 來交換訊息的 SIP 代理伺服器。這個流程圖與圖 4.6 相 當類似。不同的是 NGW 扮演圖 4.6 中的 SIP proxy2 server,用來透過 PSTN Switch 來找尋受話者。而當通話連線建立成功後,來自受話者的聲音訊號與發 話者的以 RTP 串流型式的封包透過 NGW 作交互轉換與傳輸。但共通點是,兩 端聲音的封包均會透過 SIPm 來做側錄的動作。

(48)

A Domain of Interception Network Boundary

Caller SIPx SIPm SIP Proxy PSTN Switch

INVITE

INVITE

INVITE INVITE

INVITE 100 TRYING

100 TRYING

100 TRYING 100 TRYING

180 RING

180 RING 180 RING

180 RING

180 RING 200 OK

200 OK 200 OK

200 OK

200 OK ACK

ACK

ACK ACK

BYE

BYE

BYE BYE

BYE

RLC

200 OK 200 OK

200 OK

200 OK RTP Stream

NGW

100 TRYING 100 TRYING

100 TRYING 100 TRYING

IAM

ANM

ACK

REL

200 OK

RTP Stream VOICE

圖4.8 在監聽網域下與傳統電話網路建立連線之循序圖

(49)

„ „ E. 在傳統電話網路與監聽網域建立通話連線

當來自傳統電話網路的來電至網路電話的受話者時,NGW 會收到從 PSTN Switch 的 IAM 訊號,而該訊號內含者受話者的資訊。透過 NGW 的轉換,NGW 可得知該受話者註冊在 SIPx 的網域中。當 SIPx 收到來自 NGW 的 INVITE 封包訊息時,隨即將 INVITE 傳至 SIPm 通知來電並交予修改封包。在收到來 自 SIPm 回應 INVITE 的封包後,SIPx 再轉交該封包至 SIP 代理伺服器。因 SIP proxy 知道受話者註冊於 SIPx,所以在一次的封包來回後,SIPx 再將封包 送至受話者以通知來電。其 SIPx 與 SIP 代理伺服器的來回目的,在本章的 D 部分中有詳細說明過。在圖4.9 中可以得知傳統網路電話是透過 NGW 來和 SIPx 做資訊的交換,而在監聽網域下的受話者亦是以 SIPx 為封包交換的端口。此流 程與圖4.7 的流程類似,而不同的地方是 NGW 扮演圖 4.7 中 SIP proxy2 server 的角色,幫 PSTN Switch 來透過 SIPx 找尋受話者的網路位址。NGW 也一樣 在通話連線建立後,將傳統電話網路與網路電話做類比音訊與數位壓縮語音封包 做交換與轉換。而 SIPm 則將兩端的訊號封包做側錄的動作,所以當傳統電話 網路撥打至安裝有監聽設備網域下的受話者時,亦能達到監聽功能的需求。

(50)

A Domain of Interception Network Boundary

PSTN Switch NGW SIPm SIP Proxy Callee

IAM

INVITE

INVITE INVITE

INVITE 180 RING

200 OK 200 OK

200 OK 200 OK

200 OK

ACK

ACK ACK

ACK

REL

BYE

BYE BYE

BYE 200 OK

200 OK

RLC

200 OK 200 OK 180 RING 180 RING SIPx

100 TRYING

100 TRYING INVITE

180 RINGING

ANM

ACK

RTP Stream RTP Stream

BYE

200 OK

100 TRYING

100 TRYING

INVITE

180 RINGING 180 RINGING

200 OK

ACK

BYE

200 OK VOICE

RING TONE

圖4.9 在傳統電話網路與監聽網域建立通話連線之循序圖

(51)

4.3.2 SIPm- SIP Monitor

SIPm (SIP Monitor) 為用來記錄每一個成功的通話會晤 (Session)、通話內容 的語音媒體串流。這一類的媒體串流為 RTP (Real-Time Transportation Protocol) Stream。通常 RTP Stream 有幾種壓縮的方法,如 G771u、G771a 和 GSM 等,

UA 利用 SDP 的內容描述來告知對方自己所提供的編碼方式。在 SDP 的內容 中也包含 RTR Stream 連接的網路位址和通訊埠作為彼此通訊的重要依據。

SIPm 會藉由 SIPx 傳來的資訊來改變 SDP 的通訊內容,以達到側錄 RTP Stream 的功能。當 SIPm 收到來自 SIPx 的指令封包後,會依照各種不同的指 令類別做不同的側錄控制。同時 SIPm 也修改了 SIP 本文中 SDP 的部分來達 到側錄的功能。在修改 SDP 內容後,SIPm 會將其內容再轉送回給 SIPx。而在 側錄的過程中,和以往論文所提出的側錄方法不同,本論文的側錄功能不需要將 語音編碼做解密或解壓縮將語音還原;亦不需將還原後的龐大語音檔壓縮成 MP3 等格式來儲存。本論文的側錄方式是將收集到的 RTP Stream 封包加內時 間標記後直接儲存。因為在 RTP Stream 中,如果暫時沒有任何的音訊時,RTP Stream 將沒有何任的封包送出,所以如果使用者在講話中停頓幾秒鐘,在 SIPm 都必須將它記錄下來。因為不需要做解碼與壓縮的動作,節省了 CPU 的負擔,

如此可以大大的提高側錄的效能。

SIPm 進行側錄之運作共可分四種:Create Session、Start Session、End Session 與 Delete Session,下面為 SIPm 針對側錄控制的敍述:

„

„ A. Create Session

當 SIPx 收到 INVITE 指令時會轉送該封包至 SIPm,此時 SIPm 立即建 立一個新的側錄執行緒 (Create Session)。其中 INVITE 本文包含著 SDP 的內 容 [8],其 SDP 內容如圖 4.10 中所示。

(52)

圖4.10 包含 SDP 內容的 INVITE 指令之 SIP 訊息

在圖4.10 中,“v"代表協定版本;“o"代表通話的發話者;“s"代表通 話名稱;“c"代表連線的資料,其中包含連線型式、網路型式以及連線位址;

“t"代表通話的起始時間;“m"表示多媒體的型式,其中包含視訊或音訊說 明、可用的連接埠、封包格式以及所支援的編碼代碼;“a"則列出“m"所支 援的編碼代碼,其中來說明了編碼名稱和位元率。在 SIPm 執行“Create Session"時,同時也修改了“o"、“c"以及“m"的部分內容。在“o"和“c"

中把發話者的網路位址改成 SIPm 的網路位址;而在“m"中,則修改了發話者 的通訊埠,取代成 SIPm 在“Create Session"時所新產生的通訊埠。而在修改 的同時,SIPm 必須記錄發話者原始的網路位址與通訊埠。在修改 SDP 後,SIPm 便將封包回傳給 SIPx,由 SIPx 最後傳到受話者。所以受話者會認為發者的網 路位址與通訊埠位址在於 SIPm 上。因此若受話者接起通話時,便會將 RTP Stream 導向 SIPm 設備上。同時 SIPm 再將受話者的 RTP Stream 複製一份儲 存下來並轉送到先前記綠下來的原始發話者網路位址與通訊埠。如此即可側錄到 受話者的語音封包。

(53)

„ „ B. Start Session

當 SIPx 收到“200 OK"指令時會轉送該封包至 SIPm,此時 SIPm 之前

“Create Session"建立的側錄執行緒將會準備開始側錄。其中“200 OK"本文 包含著 SDP 的內容 [8],其 SDP 內容為受話者提供給發話者可用的語音編碼 和連線到受話者的網路位址與通訊埠。此時 SIPm 會修改“o"、“c"以及

“m"的部分內容。在“o"和“c"中把受話者的網路位址改成 SIPm 的網路位 址;而在“m"中,則修改了受話者的通訊埠,取代成 SIPm 在“Create Session"

時所新產生的另一個通訊埠。而在修改的同時,SIPm 必須記錄受話者原始的網 路位址與通訊埠。在修改 SDP 後,SIPm 便將封包回傳給 SIPx,由 SIPx 最後 傳到發話者。所以發話者會認為受者的網路位址與通訊埠位址均位於 SIPm 上。因此在受話者從發話者所送出的語音封包均會經過 SIPm 設備,以達到側 錄發話者的語音的需求。

„ „ C. End Session

當發話者與受話者其中一方想結束通話時,會送出 BYE 的指令,此時 SIPx 會將指令送往 SIPm 設備上。當 SIPm 收到 BYE 指令時即可“End Session"來終止側錄的工作。終止側錄後,SIPm 會將此通聯記錄與雙方的通話 內容全部儲存並記錄在資料庫上,以提供將來合法監聽者用來搜尋與聽取側錄的 語音內容。

„ „ D. Delete Session

當發話者與受話者其中一方想取消此通話時,會送出 CANCEL 的指令。

當 SIPx 收到 CANCEL 指令時,會轉送該封包至 SIPm。當 SIPm 收到來自 SIPx 的 CANCEL 指令時即可“Delete Session"來取消側錄的工作。

參考文獻

相關文件

3.非自願離職失業者如同時具有獨力負擔家計者、中高齡者、身心障礙者、原住 民、低收入戶或中低收入戶中有工作能力者、長期失業者、二度就業婦女、家 庭暴力被害人、更生受保護人及

除了本招訓簡介所列的訓練班次外,另有本署所

 智能電話 、平板電腦的出現  無線網絡普及.  小班教學優化課堂

(電話號碼) School Address (Telephone Number) 123456 呂祺小學.. Lui Kee Primary

(電話號碼) School Address (Telephone Number) 123456 呂祺小學.. Lui Kee Primary

(電話號碼) School Address (Telephone Number) 123456 呂祺小學.. Lui Kee Primary

 智能電話 、平板電腦的出現  無線網絡普及..  小班教學優化課堂

• 透過電話熱線為居住在受影響屋苑的三類較容易受影響的人士安