以 sip phone 為基礎之跨平台側錄監聽與分析系統

35
學學 學學學 學學學學 學學學 學學 學學 2010.07.27 SIP Phone 以以以以以以以以 以以以以以以以以 1

Upload: fathi

Post on 06-Feb-2016

64 views

Category:

Documents


2 download

DESCRIPTION

以 SIP Phone 為基礎之跨平台側錄監聽與分析系統. 學生:王謙志 指導教授:柯開維 教授 日期: 2010.07.27. Outline. Motivation & Goal Background Java SIP Protocol Implementation of the System System Environment of Network System Architecture Flow Chart of Packet Analysis RTP Record System UI Conclusion & Future Works Demo. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

1

學生:王謙志指導教授:柯開維 教授

日期: 2010.07.27

以 SIP Phone為基礎之跨平台側錄監聽與分析系統

Page 2: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

2

Motivation & GoalBackground

Java SIP Protocol

Implementation of the System System Environment of Network System Architecture Flow Chart of Packet Analysis RTP Record System UI

Conclusion & Future WorksDemo

Outline

Page 3: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

3

VoIP (Voice over Internet Protocol) 是目前網際網路上的相當流行且應用非常普及的一種服務,VoIP 透過將音訊數位化處理後壓縮編碼,然後藉由封包透過封包交換網路來傳輸到目的端。此種方式可大幅節省通話費用,常用應用於跨國公司的通信以及客服中心等。

VoIP Protocol :SIP(Session Initiation Protocol)H.323

Motivation

Page 4: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

4

本論文的目標是設計一個針對 SIP 協定之網路電話的監控與錄音系統

其預計達成目標如下可還原通話實況可紀錄通話歷程可查詢通話紀錄可監控點對點通話可監控通話轉移可監控會議通話可同時監控大量通話

Goal

Page 5: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

5

JavaJava APIJpcapJMFJava Sound

SIP Standard ProtocolRTP

Background

Page 6: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

6

JAVAByte CodeJVMSupport Network

Programming本系統是以 JAVA 程式

語言為基礎所開發的

JavaJAVA Source Code

JAVA Compiler

JAVA Byte Code

JVM

OS

JVM

OS

JVM

OS

Page 7: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

7

Application Programming Interface

Reuse and ExtendEasy and fast to

Implement Use Jpcap, JMF and

Java Sound

Java API

Java 2 主要 API

Page 8: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

8

提供 Java 對底層網路數據控制的能力

允許 Java 應用程式進行網路封包的擷取或發送

使用 libpcap and Winpcap ,使其能夠跨平台的運作

Jpcap

Page 9: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

9

Jpcap

WinPcap(Windows OS)

libpcap(Unix OS)

Jpcap(Java API)

Network Interface Card

Jpcap.Packet

Capture/Send Packets

Jpcap Process Model

Page 10: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

10

Java Media Framework提供對聲音和影像等多媒體內容的擷取、

撥放和編碼

JMF

Input Process Output

擷取媒體讀取檔案接收廣播

加入效果壓縮/解壓縮多工/解多工格式轉換

播放儲存

網路廣播

JMF Process Model

Page 11: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

11

Java Sound API 是屬於低階 (low-level) 的API

提供 Java 應用程式針對聲音操作的控制能力,包括音源資料的擷取、錄製與播放,例如:音頻混頻器、 MIDI 合成器,或是其他音頻和 MIDI 設備、文件讀取、文件寫入、聲音格式轉換等。

本系統使用 Java Sound API 達成即時監聽功能

JAVA Sound

Page 12: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

12

RFC 2543, March 1999RFC 3261, June 2002屬於 Client/Server 的架構可 分 為 User Agent 、 Proxy

Server 、 Redirect Server 、 Registrar Server 、 Location Server 等五個部分

SIP Protocol

Page 13: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

13

SIP網路電話運作流程

110

23

4

5

6

9

78

User Agent Client

User Agent Server

SIP Proxy Server A SIP Proxy Server B

Redirect Server Registrar

RTP Stream

11

Page 14: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

14

Request Messages Type Description

REGISTER Registers the user agent

INVITE Initiates a call by inviting user to participate in session

ACKConfirms that the client has received a final response

to an INVITE request

CANCEL Cancel a pending request

BYE Indicates termination of the call

REFER Asks recipient to issue SIP request (call transfer.)

OPTIONS Used to query the capabilities of a server

SIP Request Messages

Page 15: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

15

Response Messages Type Description

1xxInformation Responses

Ex. 180 Ringing

2xxSuccessful Responses

Ex. 200 OK

3xxRedirection Responses

Ex. 302 Moved Temporarily

4xxRequest Failure Responses

Ex. 404 No Found

5xxServer Failure Responses

Ex. 503 Service Unavailable

6xxGlobal Failure Responses

Ex. 600 Busy Everywhere

SIP Response Messages

Page 16: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

16

RTP

CSRC[0 : 15]

RTP Payload

SSRC

Timestamp

VCSRC Count

Payload Type Sequence number

0 8 16 24 32

P X M

Header Extension(Optional)

Page 17: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

17

RTP Payload Type

RTP PT Name Type Clock rate

(Hz)

Audio channel

sReferences

0 PCMU Audio 8000 1 RFC 3551

2 G721 Audio 8000 1 RFC 3551

3 GSM Audio 8000 1 RFC 3551

8 PCMA Audio 8000 1 RFC 3551

9 G722 Audio 8000 1 RFC 3551

15 G728 Audio 8000 1 RFC 3551

18 G729 Audio 8000 1  

Page 18: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

18

System Environment of Network

System Architecture

Flow Chart of Packet Analysis

RTP Record

System UI

Implementation of the System

Page 19: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

19

System Environment of Network

Intranet

LAN

PDASmart Phone SIP網路

電話

桌上型電腦網路軟體電話

Switch無線網路電

話以SIP PHone為基礎之跨平台側錄監聽與分析系統Wirless

Network

SIP ServerSIP Server

SIP Server

資料庫

Page 20: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

20

System ArchitectureSystem Architecture

Packet Process System

Packet Capture

Packet Analyer

Call List

Packet

Call Records Update and Inquiry System

SIP Analyer

RTP Analyer

PCM Processor System

GUI

Page 21: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

21

Flow Chart of Packet Analysis

New packet captured

SIP or RTPRTP Packet SIP Packet

RTP analyzer SIP signal analyzer

Call List

Process UI and updated call information

Save audio data and update database

No Yes

Other packet type

BYE ?

Finish

Finish

RTP decoder

Page 22: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

22

P to P Call Flow chart

176140.124.182.176

204140.124.182.177

1.INVITE Request

SIP Server140.124.182.178

2.407 Proxy Authentication Required

3.ACK

4.INVITE Request(告知Server,176收送RTP封包

的port為49156)

5.100 Trying 6.INVITE Request(告知204,Server收送RTP封包

的port為15364)

8.183 Session Progress(告知176,Server收送RTP封包

的port為12928)

7.100 Trying

10.200 OK(告知Server,204收送RTP封包

的port為49174)

11.ACK

Ring back tone start Ring tone start

12.200 OK

13.ACK

Ring back tone stop Ring tone stop

通話中

14.BYE

15.200 OK16.BYE

17.200 OK

9.180 Ringing

Page 23: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

23

INVITE Request

Page 24: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

24

200 OK Response

Page 25: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

25

通話紀錄重要參數 取得方法

Caller IP/Callee IPCaller 所使用的 IP 可從 INVITE Request 裡取

得, Callee 端則可從 200 OK 中取得。

Caller ID/Callee ID 兩端點所使用的 ID 可從 INVITE Request 裡取得。

CSeq解析 SIP Request/Response 封包,從 CSeq 欄位中取

得。

RTP 埠號從帶有 media port 欄位的封包內取得,如 INVITE 、

200 OK 等。

音訊編碼從帶有 media format 欄位的封包內取得,如

INVITE 、 200 OK 等。

通話紀錄參數

Page 26: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

26

將封包按順序重組,不考慮 Delay

RTP Record

聲音片段封包 聲音片段封包 聲音片段封包 ………………………

Slot Slot

聲音片段 聲音片段 聲音片段 ………………………

網路實際情形

錄音設計

Page 27: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

27

編碼格式為 PCMU(G.711 u-law 64k bps)

解碼後的格式為 Linear PCM (16bits)

必須先解碼後才能合成 否則無法正確解碼合成方法為將解碼後的兩

個封包儲存區內的資料一個單位一個單位的相加

編碼還原

送出的封包儲存區

接收的封包儲存區

解碼

輸出成WAVE檔案

RTP封包Payload

輸出至喇叭撥出

開啟即時監聽時通話結束後儲存語音檔

合成並加入WAVE Header

合成

Page 28: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

28

User Interface

Page 29: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

29

即時監聽展示圖

Page 30: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

30

通話紀錄查詢

Page 31: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

31

查詢結果展示

Page 32: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

32

Conclusions本論文成功實作了一個針對 SIP 網路電話的錄音監控系

統本系統可跨平台運作本系統可以分析多種通話型態,且同時監控大量通話本系統可 Real Time 監聽雙方通話內容本系統可透過網路連上資料庫查詢通話歷程

Future Work透過系統進行掛斷 SIP 網路電話或轉接等行為之功能語音聲紋辨識語氣音調字彙分析

Conclusion and Future Work

Page 33: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

33

單通電話與即時監聽測試點對點通話通話轉移會議通話

多通電話混合壓力測試64 通點對點通話+16 通通話轉移+16 通會議通話

通話紀錄查詢測試

Demo

Page 34: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

34

Thanks for your attention

Page 35: 以 SIP Phone 為基礎之跨平台側錄監聽與分析系統

35

Q & A