anm 2008, phoenix – april, 18 th helmut hlavacs, andrea hess, michael nussbaumer...

17
ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer [email protected] University of Vienna Department of Distributed and Multimedia Systems Babel-SIP: Self-learning SIP Message Adaptation for Increasing SIP- Compatibility

Upload: mariam-walder

Post on 29-Mar-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

ANM 2008, Phoenix – April, 18th

Helmut Hlavacs, Andrea Hess, Michael [email protected]

University of ViennaDepartment of Distributed and Multimedia Systems

Babel-SIP: Self-learning SIP Message Adaptation for Increasing SIP-Compatibility

Page 2: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Problem Statement

Open protocols- Multiple vendors- Compatibility depends on the accurateness of

implementations

Example: SIP (Session Initiation Protocol) for VoIP- Vendors publish lists of compatible hard phones- Remaining problems with SIP dialects

How to overcome incompatibilities of peers?

Proxy biloxy.com

Registrar

1. REGISTER

2. 200 OK

Location Server

Bob’s UA

Page 3: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Use Techniques from “Autonomic Computing”

Analogy to the human autonomic nervous system• Investigated to increase autonomicity in computing

systems• IBM initiative from 2001[1]

Self-x properties• Self-configuring• Self-protecting• Self-healing• Self-optimizing• etc.

Artificial Intelligence research• Autonomous software agents, robots• Planning, reasoning, and learning

[1] Richard Murch. Autonomic Computing. IBM Press. 2005

Page 4: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Outline of the Talk

SIP (Session Initiation Protocol)

Autonomic SIP adaptation- C4.5 tree- Babel-SIP

Experiments- Quantitative results- Qualitative results

Page 5: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

SIP (Session Initiation Protocol)

REGISTER sip:Domain SIP/2.0To: <sip:UserID@Domain>From: <sip:UserID@Domain>Via: SIP/2.0/UDP IPAdress:PortCall-ID: NDYzYzMwNjJhMDRjYTFjCSeq: 1 REGISTERContact: <sip:UserID@IPAdress:Port>Max-Forwards: 70

Proxy biloxy.com

Registrar

1. REGISTER

2. 200 OK

Location Server

Bob’s UA

Session management of the Internet Multimedia Subsystem (IMS) of Next Generation Networks, Voice over IP (VoIP)

Defined in RFC 3261 (and additional RFCs for different aspects like RFC 3262, 3263, 3265, 3515, 3311, 3665, and others)

- Uses TCP/IP protocol stack

- SIP header fields

Functions

- User location

- User availability

- User capabilities

- Session setup

- Session management

Page 6: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Autonomic SIP Adaptation

Problem of transient incompatibilities

Introduce a module for arbitrary proxies:

Classification of messages (accepted/rejected)

Adaptation of messages to avoid rejections

Generic approach (not specific for SIP)

Page 7: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

C4.5 Decision TreesUsed for classification, to identify relevant header

parameters causing rejections

- Training phase required to build the tree

- Avoids over-fitting, capable to deal with incomplete data

- For SIP messages: headers, header fields, and standard values are defined as tree attributes

• 274 attributes per (REGISTER) message

Implementation: WEKA machine learning library, J48 C4.5 tree

- Attributes are stored in Attribute Relation File Format (ARFF)

Input: attribute vector AOutput: attribute vector A with new valuesFOREACH (Ai in A)Ai.value = 0IF (Ai.name in SIP message) THEN IF (SIP message field is numeric) THEN Ai.value = value of SIP message field ELSE Ai.value = 1

Page 8: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Example C4.5 Tree (Trained with REGISTERs)

Replaces <= 0| Allow_DO <= 0| | Content-Language <= 0| | | Contact_methods <= 0| | | | To_user <= 0: ACCEPTED (112.0/5.0)| | | | To_user > 0| | | | | Contact_q <= 0| | | | | | Call-ID <= 0: REJECTED (2.0)| | | | | | Call-ID > 0: ACCEPTED (12.0/1.0)| | | | | Contact_q > 0: REJECTED (2.0)| | | Contact_methods > 0| | | | Accept <= 0: REJECTED (6.0/1.0)| | | | Accept > 0: ACCEPTED (11.0/1.0)| | Content-Language > 0| | | Contact_flow-id <= 0: REJECTED (6.0/1.0)| | | Contact_flow-id > 0: ACCEPTED (2.0)| Allow_DO > 0| | Allow-Events_talk <= 0: REJECTED (6.0)| | Allow-Events_talk > 0: ACCEPTED (3.0/1.0)Replaces > 0: REJECTED (11.0)

Hierarchy shows the importance of parameters

Number of messages classified / wrong classifications

Page 9: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.atBabel SIP

Proxy biloxy.com

Registrar

Bob’s UA

1. REGISTER 4. 200 OK

Location Server

Babel-SIP

2. REGISTER

3. 200 OK

Automatic protocol adapter

- Placed between the proxy socket and the UA

- Observes rejected/accepted messages to train C4.5 tree

- Classifies messages and adapts likely rejected messages mi

• Distance metric d(mi,mj) to choose the message mc

from the set of known accepted messages most similar

to mi

Current implementation: Weka Euclidean Distance

• Derive most problematic field in mi and replace it with

the corresponding field in mc

Page 10: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Experiments

REGISTER message headers

Using a commercial SIP proxy server (from a major Austrian telecom equipment provider): guaranteed to work with two hard phones and one soft phone

First experiments: monitoring of nine most popular hard phones

- Example findings: one hard phone A uses less than 10 header fields, phone B uses 15 header fields; the header field also differed

Second experiments

- Artificial messages (random combinations of observed SIP header fields, header field values, and header field parameters from observed hard phones and additional from RFC 3261)

- 344 different REGISTER message headers (78 rejected; ~22.67%)

Page 11: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Training and Test Sets

Training data set

Accepted messages: 39 / 78%

Rejected messages: 11 / 22%

Total number: 50

Test data set

Accepted messages: 227 / 77.21%

Rejected messages: 67 / 22.79%

Total number: 294

Experiment: 15 replicated experimental runs (4400 messages per run chosen at random from test data); training after each 20 messages

Page 12: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Rejection Rate Observed over Time

Rejection ratio of overlapping bins of 100 messages (1-100, 21-120, etc.), smoothing and calculating the mean and 90% confidence interval

Page 13: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Redials over Time Assuming phones that redial after a rejection r times

Experiments: training and test phase (15 runs)

Results:

r is best set to 4/5 – increasing does not lead to

better result

Page 14: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Analysis of Babel-SIP Behavior

- Mean aggregated over all 15 runs

- Rejection of previously accepted messages• Unacceptable behavior• Additional experiments: 14 hard -, 5 soft phones

and 227 test messages (known to be accepted)• None of these messages was rejected

Page 15: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Qualitative Insights

Example REGISTER C4.5 tree gives good insights (e.g., for not so well trained protocol newbies): top down / bottom up

CSeq is mandatory parameter (as defined in RFC 3621)

CallID mandatory

Page 16: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Conclusions and Future Work

- Babel-SIP: automatic, self-learning SIP-message translator• Generic approach --> can be applied to other protocols

- Important for the transient phase between creating a new SIP stack and final release of a 100% reliable new proxy

- Experiments with REGISTER message header rate of rejected message could be nearly halved (22.67% to 13.12%)

- So far: we did not include the semantics of the header fields

- first idea: take a rule based approach

- Investigate other SIP message types (INVITE)

- Extend the approach to other application protocols, like HTTP or RTSP

Page 17: ANM 2008, Phoenix – April, 18 th Helmut Hlavacs, Andrea Hess, Michael Nussbaumer karin.hummel@univie.ac.at University of Vienna Department of Distributed

AN

M 2

00

8, P

hoenix

, April,

18

th

karin

.hum

mel@

univ

ie.a

c.at

Thank you !

… Announcement: