Top Banner
Automated SIP Interoperability Automated SIP Interoperability Testing Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University http://www.cs.columbia.edu/IRT/voip-testbed/ SIP 2009 (Paris, January 2009)
24

Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Automated SIP Interoperability TestingAutomated SIP Interoperability Testing

Archana Rao and Henning SchulzrinneDepartment of Computer Science

Columbia University

http://www.cs.columbia.edu/IRT/voip-testbed/

SIP 2009 (Paris, January 2009)

Page 2: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

OverviewOverview

The problem of SIP interoperability

Far from perfect

Damages “brand”, harms customers, encourages single-vendor deployments

Testbed Overview

Architecture

Components

Experiments

Interoperability study

End-client characteristics

Summary

Page 3: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

InteroperabilityInteroperability

Hi Henning,

You may remember me from IETFs past -- I haven't attended any in some time because I couldn't find any really

interesting projects. I'm finally getting into SIP. I've got Speakeasy VoIP service, two sipphone accounts, a Cisco

7960 and a copy of x-ten on my Mac. And I still can't make it work. Voice flows in one direction only. I'm not even

behind a NAT or firewall -- both machines have global addresses, with no port translations or firewalls.

I've been working with Internet protocols for over 20 years. I've implemented and contributed to them. And if *I*

can't figure out how to make this stuff work, how is the average grandmother expected to do so?

SIP is unbelievably complex, with extraordinarily confusing terms. There must be half a dozen different

"names" -- Display Name, User Name, Authorization User Name, etc -- and a dozen "proxies". Even the word

"domain" is overloaded a half dozen different ways. This is ridiculous!

Sorry. I just had to get this off my chest. Regards, Phil Karn.

Is it a real problem ?

Reference: http://www1.ietf.org/mail-archive/web/rai/current/msg00082.html

Excerpts from an email posted on IETF RAI mailing list –

Page 4: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Interoperability issuesInteroperability issues

Why do we have interoperability problems?

SIP is complex

More than 150 RFCs and 500 active Internet Drafts

Efforts like – “draft-ieft-sip-hitchhikers-guide” help to a certain extent, but not sufficient

SIP has no proposed architecture/profile

SIP usage in variety of environments and domains make it impossible

Standardization from IETF is different from that of ISO/ITU

SIP is continually evolving

Non trivial for implementers to follow the life-cycle from IDs to RFCs

Walled gardens, non-standard environments

Vendors need to make products that work in their customer’s environment

Poor implementations, intentional non-interoperability etc.

Page 5: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Improving interoperabilityImproving interoperability

Current efforts to combat SIP interoperability issues

SIP Interoperability (SIPit) events

Week long gatherings of SIP implementers to test interoperability

Coordinated by SIP Forum

SIP Forum

SIP Connect 1.0 (and 1.1) outsourced enterprise VoIP

IETF Basic Level of Interoperability for SIP Services (BLISS)

Focus on resolving interpretability issues in SIP features

Line sharing, call parking, automated call handling and call queuing

University of New Hampshire – InterOperability Laboratory

Vendor-neutral lab dedicated to testing data networking technologies

20 different testing programs, each costing about $20,000 per year

Page 6: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

InteroperabilityInteroperability

How do we go about it?

1. Identify the basic real-world scenarios for SIP registration and session establishment

2. Use our VoIP testbed to configure a variety of SIP infrastructure

3. Study the behavior of SIP end-clients and servers for interoperability

So, isn’t the problem solved? These forums focus on details of advanced SIP features

Basic-level of interoperability between innumerable SIP devices in the market

Can I take any SIP phone and make a VoIP call, through any SIP service

provider?

Page 7: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Studying interoperabilityStudying interoperability

1. Define a minimum set of call flows constituting basic interoperability

RFC 3665, RFC 3666, RFC 4317

2. Use a VoIP testbed to realize a variety of real-world SIP infrastructure setups

Columbia VoIP testbed

3. Study the behavior of SIP end-clients and servers in each of these scenarios

Interoperability matrices

Categorization of common issues Lack of clarity in the specification

Implementation of an older specification

Incomplete implementation of the specification

Incorrect implementation of the specification

Failure against robustness tests

Page 8: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Columbia VoIP testbedColumbia VoIP testbed

What? VoIP infrastructure for experimentation, analysis, testing, prototyping and deployment of

SIP/VoIP components in a variety of environments.

Part of a multi-university research project supported by NSF

University of North Texas, Purdue University and University of California, Davis

Why? There’re no telecom testbeds available for research & experimentation

VoIP implementations & experiments have lacked scientific rigor

Continuously emerging standards

Need to develop repeatable, accurate test frameworks

Realistic VoIP experiments require a distributed testbed

Page 9: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

your equipment here :-)

http://www.cs.columbia.edu/IRT/voip-testbed/

http://www.cs.columbia.edu/IRT/voip-testbed/

Page 10: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Columbia VoIP testbed: serversColumbia VoIP testbed: servers

5 SIP servers

Asterisk, Pbxnsip,

Sipd, SER, OpenSER

3 Platforms Microsoft Windows XP

Linux Fedora Core 6

Sun Solaris X

3-way Connectivity the Internet

VPN

PSTN

Page 11: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Columbia VoIP testbed: UAsColumbia VoIP testbed: UAs

20+ SIP hard-phones, soft-phones, WI-FI phones with different capabilities

More details – www.columbia.edu/~ahr2114/VoIPtestbed/end-clients

Page 12: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

NSF VoIP testbedNSF VoIP testbed

TheTheInternetInternet

UNIVERSITY-A UNIVERSITY-B

PSTNPSTNNetworkNetwork

UNIVERSITY-CUNIVERSITY-D

Image courtesy: http://secnet.csci.unt.edu/7.15.funding_application.ppt

Page 13: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Columbia VoIP testbed experimentsColumbia VoIP testbed experiments

Planned or ongoing

Interoperability study

Can any two SIP devices talk to each other?

SIP end-client characteristics

Signaling and codec features in SIP devices

Robustness

VoIP with/despite NAT

Performance issues

Signaling delay, voice mouth-ear delay, packet loss resilience

Servers – Scalability, maximum capacity

Security

Separate testbed for DOS and other attacks

work in progress

Page 14: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Interoperability study: call flowsInteroperability study: call flows

Registration (RFC 3665) Successful new registration

Unsuccessful registration

Cancellation of registration

Update of contact list

Session Establishment (RFC 3665) Successful session establishment

Session establishment through two proxies

Session establishment with multiple proxy

authentication

Successful session with proxy failure

Unsuccessful no answer

Unsuccessful busy

Unsuccessful no response from user agent

Unsuccessful temporarily unavailable

Codec Negotiation (RFC 4317) Audio and DTMF

Audio, video and DTMF

Audio and video codec reordering

Page 15: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Interoperability study: matrixInteroperability study: matrix

Interoperability Matrix

Test case #1 - Successful new registration

Asterisk 3Com sipd SER

Eyebeam 1.5 Yes Yes Yes Yes

Wengophone Yes No No Yes

Polycom PVX Yes No No Yes

Express Talk 3.0 Yes Yes Yes Yes

Cisco 7940 Yes Yes Yes Yes

Grandstream GXV 3000 Yes Yes Yes Yes

Snom 320 Yes Yes Yes Yes

Polycom VSX 7000e Yes No No Yes

Page 16: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Interoperability study: auth nameInteroperability study: auth name

Issue 1 – Use of different formats for authentication name

Authorization: Digest username=“user1”,realm=“proxy01.sipphone.com”,nonce=“xxx”,

uri=“sip:proxy01.sipphone.com”,response=“yyy”, algorithm=MD5

Authorization: Digest username=“sip:[email protected]”, realm=“proxy01.sipphone.

com”,nonce=“xxx”,uri=“sip:proxy01.sipphone.com”,response=“yyy”, algorithm=MD5

Implication

Registration and call setup failure, if both formats are not supported by the UAs

Instances

Polycom PVX/VSX, Wengophone don’t register with 3Com / sipd proxies

Workaround

Use Asterisk between Polycom PVX and 3Com proxy

Page 17: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Interoperability study: rportInteroperability study: rport

Implication

Incorrect/incomplete signaling resulting in

multiple retransmissions and failed transaction

Instances

Calls to Cisco 7940 via Sipphone proxy are

always unsuccessful

Calls from Polycom VSX via 3com or sipd

proxies are always unsuccessful

Workaround

Nothing

Issue 2 – Behavior in the absence of rport parameter

SIP server UAC

INVITE (Dest port:5060)

180 Ringing (Src port:12345)

200 OK (Src port:12345)

ACK (Dest port:12345)

ACK (Dest port:12345)

200 OK (Src port:12345)

Page 18: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

Interoperability Study: codecsInteroperability Study: codecs

Implication – Audio/Video failure (mostly unidirectional, but bidirectional sometimes)

Problem Instances

Audio failure when Cisco calls voicemail service of sipphone provider

Video failure when Polycom PVX calls Xlite via Asterisk

Issue 3 – Codec Negotiation

[Offer]v=0o=Cisco-SIPUA 28422 0 IN IP4 128.59.17.67s= SIP Callt=0 0m=audio 31030 RTP/AVP 0 8 18 101c=IN IP4 128.59.17.67a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:18 G729/0a=fmtp:18 annexb=no a=rtpmap:101 telephone-event/8000a=fmtp:101 0-15a=sendrecv

[Answer]v=0o=Cisco-SIPUA 28422 0 IN IP4 128.59.17.67s= SIP Callt=0 0m=audio 31030 RTP/AVP 18 0 8 101c=IN IP4 128.59.17.67a=rtpmap:18 G729/0a=fmtp:18 annexb=noa=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000a=fmtp:101 0-15a=sendrecv

Page 19: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

UA characteristics: featuresUA characteristics: features

Basic

Configuration, number of lines, call hold, call forwarding, DND, NAT support

Advanced

Encryption, symmetric RTP, conferencing, audio/video codecs, PoE

Audio quality – silence suppression, echo cancellation, comfort noise

Transport, signaling and support protocols – TCP, TLS, HTTP, DHCP, DNS, TFTP, NTP

More details at – http://www.columbia.edu/~ahr2114/VoIPTestbed/EndClients.htm

Page 20: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

UA characteristics: robustnessUA characteristics: robustness

SIP Torture Tests (RFC4475)

A set of SIP messages aimed at stressing the SIP parser, based on experiences at SIPit.

PROTOS

Test suite with 4500+ INVITE requests, developed by University of Oulu

Robustness

SIP end-clients

PROTOS Test-cases

Behavior

WengoPhone General CPU consumption is very high (varies between 50% and 90%), throughout the testing.

SIPc 368, 369 Software crashes (with a message “Hostname variable too long”)

ExpressTalk

General Software crashes, if an INVITE is received, when all the 6 lines are busy.

2363, 2366, 2371, 2374, 2383 – 2406

Software crashes (can’t handle improper values for “Content-length”)

Example Results

Page 21: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

UA characteristics: NATsUA characteristics: NATs

SIP and NAT

Problematic for both signaling (SIP) and media transfer (RTP)

Circumventing NAT effect – solutions exist for both end-clients and proxies

Quest to overcome this, could lead to techniques uglier than NAT itself!

NAT test setup

NAT realization - Linux iptables, CLICK router

Studying the behavior in different scenarios

NAT support enabled in both the proxy server and end-client

NAT support enabled in only one of them etc

Aiming to analyze the existing practices – the good, the bad and the ugly!

Page 22: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

UA with NATsUA with NATs

SIP devices in NAT

environment

Page 23: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

What now?What now?

Summary

Tests indicate that basic-level interoperability is far from perfect

Instances of interoperability failures illustrated in our IETF workshop paper

Achieving Interoperability shouldn’t be left just to vendors

non-interoperability damages SIP brand, causes grief for third parties and harms customers

Going ahead – some ideas

Establish designated interop liaison for each vendor

calling customer support unlikely to be useful

Encourage vendors to publish interoperability reports

in standard format

Provide self-certification tests, supported by a remotely accessible test rig

Page 24: Automated SIP Interoperability Testing Archana Rao and Henning Schulzrinne Department of Computer Science Columbia University

SummarySummary

Current status

The VoIP testbed & VPN connectivity is operational

Systematic study of real-world interoperability issues

Basic-level interoperability is nowhere near 100%

IETF 70 – The 1st SIP Forum Workshop on SIP Interoperability

Evaluating SIP end client characteristics

Testbed plans

Experiments on NAT, performance, security

Make the testbed accessible and useful for engineers & deployments

Create a knowledge repository about SIP devices & tools for interoperability testing