Columbia VoIP Testbed

Overview

Architecture

SIP End Clients

Interoperability

 

 

   Home   |   Issues   1   2   3   4   5   6   |   Robustness Tests   |

 

SIP interoperability

With more than a decade of development led by the IETF, and a plethora of devices and software systems speaking its dialect, SIP together with its related standards has grown in size and scale, raising concerns over interoperability.  In this work, we explore SIP interoperability (or lack thereof) by proposing systematic methodologies for identifying and analyzing the basic-level protocol interoperability issues that plague SIP usage in the real-world. We also dissect and describe a few of the commonly observed SIP interoperability issues and their implications.

 

Systematic study of SIP interoperability

We employ a simple framework for identifying and analyzing the real-world SIP interoperability issues.

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

We identify a minimum set of functionality required in a SIP communication network; complete support for these functionalities, would constitute the basic-level of SIP interoperability.  We describe this set to contain call-flows defined in RFC 3665, RFC 3666, RFC 4317 and a set of robustness tests.

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

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

We present the results of our testing in two forms. Firstly, the Interoperability Matrices that describe how each of the end-clients and servers work with each other for all the identified basic call-flow scenarios. Secondly, we developed a Category of Interoperability Issues based on the common issues we’ve encountered during our testing and analysis.

 

Categories of interoperability issues

Our experimentation and testing on the VoIP Testbed indicates that the interoperability issues could be classified into five broad categories. They are –

1.       Lack of clarity in the specification

2.       Implementation of an older specification

3.       Incomplete implementation of the specification

4.       Incorrect implementation of the specification

5.       Failure against robustness tests

 

Template for describing the interoperability issues

We present a detailed study of interoperability failures in the issues section using the template below.

Issue Name
The name associated with the issue
Category
One or more categories for which the issue is classified
Description
A definition of the problem, succinct but including necessary background material
Implications
A summary of why the issue is viewed as an issue
<Instance #1>
 . . . 
<Instance #N>
A list of real-world scenarios, where this issue is observed, together with the packet
traces and call flows, affected products, fixes and workarounds, and references

 

 

Summary

We published and presented our work at the 1st SIP Forum Workshop on SIP Interoperability at IETF 70. Our study has indicated that the basic-level of interoperability is nowhere near 100%.  We believe that achieving seamless interoperability at the basic-level is crucial and should not be left to the discretion of the vendors or as a matter of self-interest.  It is also our hope that people feel encouraged to use Columbia VoIP testbed to identify, demonstrate and fix real-world issues.

 

References

1.       Archana Rao, Henning Schulzrinne, “Real-world SIP Interoperability: Still an Elusive Quest,” 1st SIP Forum Workshop on SIP Interoperability at IETF 70, Dec 2007

2.       A Johnston, S. Donovan, R. Sparks, C. Cunningham, K. Summers, “Session Initiation Protocol Basic Call Flow Examples,” RFC 3665, IETF, Dec 2003

3.       A Johnston, S. Donovan, R. Sparks, C. Cunningham, K. Summers, “Session Initiation Protocol Public Switched Telephone Network Call Flows,” RFC 3666, IETF, Dec 2003

4.       A Johnston, S. Donovan, R. Sparks, “Session Description Protocol Offer/Answer Examples,” RFC 4317, IETF, Dec 2005