asynchronous interactive design of web applications: real-time sip message monitoring system using...

Post on 01-Jan-2016

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Asynchronous Interactive Design of Web Applications:Real-time SIP Message Monitoring System using AJAX

Student: Yan-Hsiang Wang

Advisor: Dr. Quincy Wu

Graduate Institute of CSIE

National Chi Nan University

2

Motivation

Session Initiation Protocol (SIP) is widely used as the signaling protocol for Voice over IP.

SIP is adopted by 3GPP in IP Multimedia Subsystem (IMS).

1

8

9

INVITE

180 Ringing200 OK

ACKConversation

BYEOK

REGISTER

200 OK

INVITE

180 Ringing

2

3

5

6

7

Bob Alice

3

A Convenient Tool - Ethereal

4

Limitation of Ethereal

Hard-phone users cannot install software to capture packets.

5

Server-based SIP Packet Capturing

Running SIP Capturing on Server-side instead of Client-side.

Existing web-base systems cannot update data in pages seamlessly. WIST - Web Interface for SIP Trace

http://sourceforge.net/projects/wist Distributed SIP Analyzer

http://sourceforge.net/projects/sipanalzyer

6

ExistingSystem 1

7

Existing System 2

8

AJAX

Asynchronous Javascript And XML This term was born in February 2005. It is not a technology; it is an approach. Connect Web Browser and Web Serve

r asynchronously. Reload data without refreshing pages.

Create an interactive web application Which behaves like a desktop application.

9

Ajax Applications

Auto-Complete (Yahoo! Travel) http://travel.yahoo.com/

12

Ajax Engine

13

Limitation of AJAX

It can’t work when some browsers disable “JavaScript”

Most popular browsers support AJAX Internet Explorer 5.0 ~ Mozilla 1.0 ~ Safari 1.2 ~ Opera 8.0 ~

14

Our System Architecture

ApacheMySQL

Ethernet card

Captor (libpcap)

AJAX engine

HTML +Cascading Style SheetsData

JavaScript Call

SIP Extractor (php)

Server-side system Client-side system

web browser

HTTP Request XML Data

PHP Query

Data

Ethernet Frame

SIP Message

SIP Header Field

16

Client-Side System

Our querying page is based on an Ajax engine. Refresh data seamlessly Update the latest packets in real time Provide desktop-like application interface

friendly Use tree menu as message browser.

Expand the message dynamically

17

Integration with SIP server(1)

18

Integration with SIP server(2)

SERweb

19

Implementation

20

Advantages

Surfing web-base system is convenient and easy (compared with Ethereal).

User can search the historical data with ordinary privilege. Ethereal requires super-user privilege to capture

packets. We can package these messages in a Pcap

format file and mail it to users so that they can parse it with other tools (Ethereal, Wireshark).

22

Performance Measurement

Environment FreeBSD 5.4 as Operating System MySQL-5.0.22 as Database Apache-2.0.58_2 as Web server Ser-0.9.6_2 as SIP server Sajax-0.12 as Ajax library Two SIPp generators on WinXP as Client

Call setup scenario (powered by SIPp)

23

Comparison with Running Ethereal on the Server(1/2)

Accumulated Network Traffic

0

500

1000

1500

2000

2500

3000

3500

60 120 180 240 300 360 420 480 540 600

Time (second)

Pack

et S

ize

(KByt

e)

Remote monitoring by X11Remote monitoring by HTTPSIP signaling

Concurrent Calls: 30

24

Comparison with Running Ethereal on the Server(2/2)

Accumulated Network Traffic

0

10000

20000

30000

40000

50000

60000

60 120 180 240 300 360 420 480 540 600

Time (second)

Pack

et S

ize

(KByt

e)

SIP signalingRemote monitoring by X11Remote monitoring by HTTP

Concurrent Calls: 1000

25

System Loading

0

0.5

1

1.5

2

2.5

3

Step1 Step2 Step3 Step4 Step5CPU

One

Min

ute

Load

Ave

rage

20050010003000500070009000

0%1%14%

18%

5%

62%

http

ser

php

captor

mysql

idle

Step1: only httpd, mysqld, ser

Step2: start stress testing

Step3: start capturing and pipe the output to the dissector

Step4: enable live update on the browser

Step5: work continuously without SIP traffics

Calls per second: 10,000Total calls: 20,000

26

Performance Measurement

Environment Fedora core 6 as Operating System MySQL-5.0.27 as Database Apache-2.2.4 as Web server

Call setup scenario (powered by SIPp) Max Allowed Rate: 10,000 Concurrent Calls: 0~8,000(with interval 200) Total calls: 20,000

27

Call Failure Rate

0%5%

10%15%20%25%30%35%40%45%50%55%60%

0 1000 2000 3000 4000 5000 6000 7000 8000Concurrent Calls

Faile

d Cal

ls

SER SER + SIP Fluoroscope SER + Distributed SIP Analyzer

28

Conclusion

Advantage Conserve the bandwidth of network Friendly interface Convenient to use

Future work Access control Inter-domain collaboration

29

Demo

Show the Wireshark image to this notebook Enable SIP Fluoroscope Live Update Sepp(Wifi-phone) calls Test(X-Lite) Capture SIP signalings

30

Q&A

Thanks for your comments!

top related