SIP Conformance Testing Based on TTCN-2 *

Similar documents
SIP Robustness Testing Based on TTCN-3*

Session Initiation Protocol (SIP)

Department of Computer Science. Burapha University 6 SIP (I)

SIP Compliance APPENDIX

TSIN02 - Internetworking

SIP Session Initiation Protocol

Overview of SIP. Information About SIP. SIP Capabilities. This chapter provides an overview of the Session Initiation Protocol (SIP).

Audio and Video Communication Software Design Based on SIP

ETSI TS V2.1.1 ( ) Technical Specification

Voice over IP Consortium

Overview of the Session Initiation Protocol

draft-ietf-sip-info-method-02.txt February 2000 The SIP INFO Method Status of this Memo

The implementation of multicast with SIP in distance education system

Analyze of SIP Messages and Proposal of SIP Routing

X-Communicator: Implementing an advanced adaptive SIP-based User Agent for Multimedia Communication

VoIP Basics. 2005, NETSETRA Corporation Ltd. All rights reserved.

3GPP TS V ( )

Chapter 3: IP Multimedia Subsystems and Application-Level Signaling

ETSI TS V1.0.0 ( ) Technical Specification

Session Initiation Protocol (SIP) Ragnar Langseth University of Oslo April 26th 2013

ECMA st Edition / December Corporate Telecommunication Networks - Signalling Interworking between QSIG and SIP - Call Transfer

Request for Comments: 2976 Category: Standards Track October 2000

Transporting Voice by Using IP

Optimizing SIP Service Provisioning in Internet Connected MANETs

ENSC 833-3: NETWORK PROTOCOLS AND PERFORMANCE. Implement Session Initiation Protocol (SIP) User Agent Prototype

Session Initiation Protocol (SIP) Overview

Information About SIP Compliance with RFC 3261

Compliance with RFC 3261

IMS signalling for multiparty services based on network level multicast

ETSI TS V1.2.0 ( ) Technical Specification

SIP System Features. SIP Timer Values. Rules for Configuring the SIP Timers CHAPTER

An Efficient NAT Traversal for SIP and Its Associated Media sessions

ETSI TS V1.1.1 ( )

ETSI TS V1.3.1 ( ) Technical Specification. Corporate telecommunication Networks (CN); Tunnelling of QSIG over SIP

Network Working Group. Expires: April 30, 2002 October 30, The Refer Method draft-ietf-sip-refer-02. Status of this Memo

Journal of Information, Control and Management Systems, Vol. X, (200X), No.X SIP OVER NAT. Pavel Segeč

A Web Services based Architecture for NGN Services Delivery

ETSI TS V1.1.1 ( )

All-IP Core Network Multimedia Domain

ETSI TS V7.4.0 ( )

S Postgraduate Course in Radio Communications. Application Layer Mobility in WLAN. Antti Keurulainen,

The Sys-Security Group

Kommunikationssysteme [KS]

Authentication, Authorization and Accounting Requirements for the Session Initiation Protocol

Session Initiated Protocol (SIP): A Five-Function Protocol

Adapting SIP for Enabling Voice Calls in MANET

Medical Sensor Application Framework Based on IMS/SIP Platform

3GPP TS V ( )

Technical Report Intelligent Transport Systems (ITS); Testing; Part 5: IPv6 over GeoNetworking validation report

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

Voice over IP (VoIP)

3GPP TR V7.0.0 ( )

3GPP TS V ( )

3GPP TS V7.2.0 ( )

Internet Engineering Task Force (IETF) Request for Comments: 8055 Category: Standards Track. January 2017

ETSI TS V8.0.0 ( ) Technical Specification

ETSI ETR 346 TECHNICAL December 1996 REPORT

SIP-Based Multimedia Services Provision in Ad Hoc Networks

ETSI TS V ( )

Request for Comments: Category: Standards Track Columbia U. G. Camarillo Ericsson A. Johnston WorldCom J. Peterson Neustar R.

AN IPTEL ARCHITECTURE BASED ON THE SIP PROTOCOL

SIP Server Deployment Guide. SRV address support in Contact and Record-Route headers

Interoperability Test Guideline. For SIP/MPEG-4 Multimedia Communication System

SIP SERVICES USING SIP SERVLET API THE INFOLINE SERVICE


Test Cases Generation from UML Activity Diagrams

Interworking Between SIP and MPEG-4 DMIF For Heterogeneous IP Video Conferencing

Study on Jabber Be Applied to Video Diagnosis for Plant Diseases and Insect Pests

Tech-invite. RFC 3261's SIP Examples. biloxi.com Registrar. Bob's SIP phone

SIP System Features. SIP Timer Values. Rules for Configuring the SIP Timers CHAPTER

Internet Streaming Media

VoIP Security Threat Analysis

ISO/IEC INTERNATIONAL STANDARD

Session Initiation Protocol (SIP) Overview

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols

A NOVEL MECHANISM FOR MEDIA RESOURCE CONTROL IN SIP MOBILE NETWORKS

MSc THESIS. Session Initiation Protocol Benchmark Suite Jiangbo Yin

3GPP TR V ( )

Automated Test Design with TTCN-3

A Framework for Testing AIS Implementations

Interactive Distance Learning based on SIP

IP Multimedia Subsystem Part 5 Marek Średniawa

3GPP TS V6.1.0 ( )

SIP as an Enabling Technology

Name of Course : E1-E2 CFA. Chapter 7A. Topic : SIP. Date of Creation :

ECMA st Edition / December Corporate Telecommunication Networks - Signalling Interworking between QSIG and SIP - Call Diversion

ETSI TS V1.1.1 ( )

Internet Engineering Task Force (IETF) Request for Comments: 8262 Updates: 5368, 5621, 6442 Category: Standards Track October 2017 ISSN:

[MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions

A Method of Identifying the P2P File Sharing

Unified Communications Platform

The search being performed may take a significant time so a forking proxy must send a 100 Trying response.

ETSI CTI Plugtests Guide First Draft V ( ) IoT CoAP Plugtests; Paris, France; March 2012

Extensions to Session Initiation Protocol (SIP) and Peer-to-Peer SIP

3GPP TS V ( )

ETSI CTI Plugtests Guide First Draft V ( ) IoT CoAP Plugtests; Paris, France; March 2012

A New Approach to Authentication Mechanism in IP Multimedia Subsystem

Alkit Reflex RTP reflector/mixer

Outline. Goals of work Work since Atlanta Extensions Updates Made Open Issues Ad-hoc meeting & Next Teleconference Links

Web Data mining-a Research area in Web usage mining

Transcription:

TSINGHUA SCIENCE AND TECHNOLOGY ISSN 1007-0214 40/49 pp223-228 Volume 12, Number S1, July 2007 SIP Conformance Testing Based on TTCN-2 * LI Tian ( 李天 ), WANG Zhiliang ( 王之梁 ), YIN Xia ( 尹霞 ) ** Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China; Network Research Center, Tsinghua University, Beijing 100084, China Abstract: The session initiation protocol (SIP) is a signaling protocol for Internet telephony, multimedia conferencing, presence, event notification, and instant messaging. With the gaining popularity, more and more SIP implementations have been developed and deployed. How to guarantee the conformance of those SIP implementations is the key point of interconnection and interoperation among them. This paper proposes the test method and architecture for the SIP protocol based on the IPv6 tester system. Tree and tabular combined notation (TTCN-2) is adopted to describe the test suite. With an enhanced reference implementation, the data-processing ability to the original test system has been greatly improved. In the following test practices, some errors have been found in the SIP entities under test. It is proved that the proposed test method and architecture are effective to verify the conformance of the SIP entities, and the result of the conformance test may provide helpful reference to the development of SIP products. Key words: session initiation protocol (SIP); conformance testing; reference implementation; TTCN; test suite Introduction * ** Received: 2007-02-01 Supported by the National Natural Science Foundation of China (No. 60572082) To whom correspondence should be addressed. E-mail: yxia@tsinghua.edu.cn; Tel: 86-10-62788109 The session initiation protocol (SIP) [1] is an application-layer control (signaling) protocol for creating, modifying and terminating multimedia sessions with one or more participants. Providing the flexibility and extensibility, SIP has recently gained significant attention in many areas. Due to the popularity, many SIP implementations have been developed by different professional vendors, or by different open source developers. Then in this situation a big problem has been raised that how to guarantee those SIP implementations to interoperate with the others successfully. Conformance testing [2] is the process of verifying that an implementation performs in accordance with a particular standard, specification, or environment. It is exclusively concerned with the external behavior of an implementation. Conformance testing is not intended to be exhaustive, and a successfully passed test suite does not imply a 100% guarantee. But it does ensure that the implementation is consistent with its specification with a reasonable degree of confidence, and it does increase the probability that implementations will inter-work with each others. Therefore, there is an increasing demand for the SIP conformance testing in all areas where SIP is applied. The European Telecommunications Standards Institute (ETSI) [3] has developed an abstract SIP test suite written in the standardized testing language Testing and Test Control Notation version 3 (TTCN-3) [4]. Based on the abstract test suite, many test devices vendors such as Ixia, Agilent and Spirent have integrated SIP conformance testing into their professional network tester. But the ETSI s test suite is designed in excessive detail. Each test case is corresponding literally to one or two sentences in the SIP protocol specification. The results in a great amount of test cases and

224 makes the test practice less efficient. What s more, unfortunately the detailed information of those SIP conformance test systems is kept as secret due to commercial reasons. The project TAHI [5] in Japan has developed an SIP conformance test tool. But the SIP test suite is based on perl, which leads to an obstacle in understanding and modifying. In this paper, we propose the method and architecture to test the conformance of SIP protocol. The architecture is based on our universal IPv6 tester system, which is developed based on our previous work protocol integrated test system (PITS) [6]. We adopt tree and tabular combined notation (TTCN-2) [2] to describe the test cases. TTCN-2 is defined in ISO/IEC 9646-3 [2] for use in the specification of OSI abstract conformance test suites and supported by the IPv6 tester system. It provides more extensibility for the test suite. Finally, we perform the test practice on some SIP entities. The rest of the paper is organized as follows. Section 1 briefly gives an introduction of SIP. Section 2 describes the method and architecture used in SIP conformance testing. An enhanced reference implementation and SIP test suites are also presented in Section 2. This is followed in Section 3 by the result of conformance test practice on some SIP entities. In the last section, conclusions and future work are given. Tsinghua Science and Technology, July 2007, 12(S1): 223-228 the registering of the UA to provide mobility. SIP defines two types of messages: requests and responses, which are all based on text. Both types of messages consist of a start-line, one or more header fields, an empty line indicating the end of the header fields, and an optional message-body. The method in the start-line of request messages determines the message type. There are six method defined in Ref. [1], such as INVITE, ACK, REGISTER, OPTIONS, CANCEL and BYE. Similarly, according to the status code in the start-line, response messages can be divided into six distinct classes. An example of SIP session flow is presented in Fig. 1. User A sends INVITE to user B through SIP proxies. If agreeing to create the SIP session, User B responses to user A with 200 OK. After ACK is received by user B, the session initiation is completed. When user B wants to close the session, he sends BYE to user A. After receiving BYE, user A should send 200 OK to confirm the close of session. 1 SIP Overview SIP is based on an HTTP-like request/response transaction model. The characteristics of SIP are simplicity and flexibility. Each transaction consists of a request that invokes a particular method, or function, on the server and at least one response. SIP networks mainly include two types of SIP entities: user agent (UA) and network server. The user agent interacts withsip users directly such as soft-phones and hardphones. According to the different role in the sip transaction, User Agent can be divided into two types: user agent client (UAC) and user agent server (UAS). The user agent client creates a new request, and the user agent server generates a response to an SIP request. There are three types of SIP network servers: the proxy server, the redirect server and the registrar. The proxy server mainly forwards the SIP requests from a UAC to the destination UAS. The redirect server responds to a request issuer with the destination address instead of forwarding the request. The registrar is responsible for Fig. 1 An example of SIP session flow 2 SIP Conformance Testing Research The goal of conformance testing is to help understand whether a system is consistent with its specification. Before a conformance testing can be applied, the test method and architecture must be designed according to the characteristic of the system under testing. In the SIP conformance testing, we adopt the IPv6 tester system as the test platform.

LI Tian ( 李天 ) et al:sip Conformance Testing Based on TTCN-2 225 2.1 IPv6 tester system The IPv6 tester system is a universal protocol conformance test platform, which is developed based on our previous work, protocol integrated test system (PITS) [6]. With the IPv6 tester system, we have performed conformance testing on many protocols such as IPv6 core protocol [7], neighbor discovery protocol [8], tunnel protocol [9], RIP [10], etc. The IPv6 tester system is comprised of five subsystems: user interface, test management, test execution, distributed software environment and reference implementation. The basic architecture is showed in Fig. 2. Fig. 2 Architecture of IPv6 Tester System In a conformance test process, test execution (TE) reads and interprets the test case which is described in tree and tabular combined notation (TTCN-2). Then according to the test events in the test cases, TE sends commands to reference implementation (RI) to send or receive data. RI interacts with the implementations under test and submits the received data to TE. TE compares the received data with the expected data, and makes a verdict. A basic structure of RI is discussed in Ref. [11]. Except for RI, the other four subsystems in the IPv6 tester system are irrelevant with the protocols. This advantage makes it easy to take a new protocol conformance testing with the IPv6 tester system. 2.2 Test method & architecture Considering the distinctness among the types of SIP entities, we adopt different test method and architecture in SIP conformance testing. We adopt the remote test method and the single-port test structure for the end systems such as the user agent and registrar (as shown in Fig. 3a). The proxy and redirect server act similarly as routers in SIP sessions, which need to interact with other entities through one or more ports simultaneously. In this situation the single-port test structure can not fit the test requirements. Therefore, we adopt the multi-port test structure and traverse test method in the conformance test on the proxy and redirect server (as shown in Fig. 3b). The remote test method and traverse test method are defined in ISO/IEC 9646-1 [2]. To test the function of the user agent or the registrar, the IPv6 tester acts as an SIP user agent or registrant to communicate with the SIP entity. In the architecture for the SIP proxy and redirect server, there are two ports for the control and observation from both sides of the SIP entity. The IPv6 tester acts as two SIP clients communicating with each other through the proxy or redirect server. After receiving message from the IUT, the IPv6 tester can make a verdict to find whether the IUT acts correctly. 2.3 An enhanced reference implementation In the IPv6 tester system, RI is an important component which is relevant with the protocol under test. Its basic function is rather simple: receiving commands and data from TE, and sending data to the Implementation Under test (IUT); receiving data from IUT, and submitting the data to TE. SIP is an application-layer

226 Tsinghua Science and Technology, July 2007, 12(S1): 223-228 Fig. 3 SIP conformance test architecture protocol which is more flexible than other lower-layer protocols. So there are some limitations when SIP conformance testing is carried out on the IPv6 tester system with the basic RI architecture. First, being a language to describe the abstract test suites, TTCN-2 has an excellent ability of controlling test flow. But on the other hand, TTCN-2 does not have sufficient capability to deal with data and computation. Therefore, it is difficult to do some operations in TTCN-2 test cases. These operations include random number generation, data encryption and decryption which are often required in SIP sessions. Secondly, SIP is text-based protocol and its message and header field syntax is identical to HTTP/1.1. There are much flexibility in SIP messages which can not be handled directly by TTCN-2 test cases. For examples, the length of header in SIP messages is variable; the order of headers is nondeterministic; there are optional headers which cannot be predicted by the tester. Therefore, it is nearly impossible to generate or parse the SIP message in the TTCN-2 test case directly. To resolve those problems, we have developed an enhanced RI to complement the poor data-processing ability of TTCN-2. The structure of the enhanced RI is showed in Fig. 4. The enhanced RI is composed of two processes: the main process and the receiving process. Compared to the basic RI, there are some additional modules in the two processes. These modules include data analyzing, data computing, message padding, message parsing and headers ordering. The main process receives a command from TE and makes an analysis to find out what type of SIP message TE wants to send. In the data computing module, all data operations (random number generation, data encryption/ decryption) required in SIP sessions are included. Then the desired message is generated in the message padding module and sent to the physical network interface. In the receiving process, the message parsing module is an important component where the received SIP message is parsed and all header values are extracted. All headers in the SIP message are ordered in the ordering module and some optional headers are padded in the padding module before the whole message is submitted Fig. 4 Structure of the enhanced RI

LI Tian ( 李天 ) et al:sip Conformance Testing Based on TTCN-2 227 to TE. Through these enhancements discussed above, the data-processing ability of IPv6 tester system is greatly improved and the SIP message can be generated or parsed in a more efficient way. 2.4 Test suite design The test suite is the basis of the conformance testing, and should be described in a more precise format other than natural language. We adopt tree and tabular combined notation (TTCN-2) to describe SIP conformance test suite. According to the SIP standard, four kinds of entities are considered successively as IUT in our test suite: the user agent, the proxy server, the redirect server and the registrar. Each kind of entities has different responsibilities in SIP session. The user agent s functions include registration, call control, and querying. The proxy server s functions include call control and querying. The redirect server is only included in call control. The registrar is only responsible for registration. So the content of the SIP test suite mainly includes four aspects: registration, call control, querying and messaging. Messaging is a compulsory part in the test content to ensure that all the four kinds of SIP entities handle the text-based message correctly. Table 1 shows the basic structure of our SIP conformance test suite. Table 1 Basic structure of SIP conformance test suite Test group Test content Number of test cases User agent Registration; Call control; Querying; Messaging 103 Proxy Call control; Querying; Messaging 81 Redirect server Call control; Messaging 29 Registrar Registration; Messaging 34 Total 247 3 Test Practice In the test practice, we adopt three SIP entities as the SIP implementations under test. The test result is presented in Table 2. KPhone [12] and Twinkle [13] are two SIP UA for Linux, supporting a multitude of features. They can be used for direct IP phone to IP phone communication or in a network using an SIP proxy to route the call. Siproxd [14] is an SIP daemon server for Linux. It handles registrations of SIP clients and acts as a proxy/redirect server in the network. Table 2 Results of SIP conformance test practice IUT Test group Total Pass Fail Pass rate (%) KPhone User agent 103 94 9 91.3 Twinkle User agent 103 97 6 94.2 Siproxd Proxy; Redirect server; Registrar 144 129 15 89.6 According to the result, we can find that the three SIP entities have correctly implemented most functions. But the failed test cases indicate that there are still some inconsistencies between the SIP entities and the SIP specification. There are some examples. In the SIP specification it is compulsory that when an SIP entity receives an INVITE request with a Require header set to an option value that the entity does not support, it must send a bad extension (420 bad extension) response including those options in the unsupported header. But KPhone has failed in the test case. This error may lead to a failure of session initiation. It is recommended in the SIP specification that when an SIP user agent receives a success (200 OK) response including a body part shorter than the length indicated in the content-length header field, the user agent should discards it and does not send an ACK request. But KPhone and Twinkle both ignore missing bytes and send an ACK request. This inconsistency may lead to a security issue. As an proxy server, Siproxd is recommended in the SIP specification that when it receives a CANCEL request which does not correspond to an existing context without a route header, it should forward the message to the address in the request-uri. But in

228 the real implementation, Siproxd discards the message. Through the test practice, we find that the proposed test method and architecture is effective to verify the conformance of the SIP entities, and the result of the conformance test may provide helpful reference to the development of SIP products. 4 Conclusions & Future Work The method and architecture to perform SIP conformance testing, which is based on IPv6 tester system, has been proposed in this paper. To solve the problems in the application-layer protocol testing on IPv6 Tester System, we have developed an enhanced Reference Implementation. Furthermore, the TTCN-2 conformance test suite of SIP has been designed and the test practice is carried out. The conformance test will be an effective tool to evaluate the SIP product and may provide helpful reference to the development of SIP products. Considering that conformance testing does not ensure that SIP implementations will interoperate successfully, future work will focus on SIP interoperability testing. To improve the security of SIP implementations, SIP robustness testing will also be a part of future work. References [1] Rosenberg J, Schulzrinne H, Camanilo G. SIP: Session initiation protocol. Internet RFC 3261, 2002. [2] ISO. Information Technology, Open System Interconnection, Conformance Testing Methodology and Framework. ISO-9646. ISO, 1996. [3] ETSI information. http://www.etsi.org/, 2006. [4] European Telecommunications Standards Institute (ETSI). ETSI European Standard (ES) 201 873-1 V2.2.1 (2002-08). Tsinghua Science and Technology, July 2007, 12(S1): 223-228 The Testing and Test Control Notation version 3, Part 1: TTCN-3 core language. Sophia Antipolis, France: ETSI, 2002. [5] TAHI project information. http://www.tahi.org, 2006. [6] Wu Jianping, Chen Xiuhuan, Hao Ruibing, et al. PITS The protocol integrated test system based on formal technology. Journal of Tsinghua University, 1998, 38(S1): 26-29. (in Chinese) [7] Liu Yan, Yin Xia, Wu Jianping. Experience of conformance testing on IPv6 protocols. In: Proceedings of the 11th IEEE Symposium on Computers and Communications (ISCC2006). Sardinia, Italy, 2006. [8] Wang Zhiliang, Yin Xia, Wang Haibin, Wu Jianping. Automatic testing of neighbor discovery protocol based on FSM and TTCN. In: Proceedings of the Joint Conference of 10th Asia-Pacific Conference on Communications and 5th International Symposium on Multi-Dimensional Mobile Communications (APCC/MDMC'04). Beijing, China, 2004. [9] Zhou Ling, Wu Jianping, Yin Xia, et al. Research and practice on testing tunnel protocol. In: Proceedings of the 9th Asia-Pacific Conference on Communication (APCC2003). Penang, Malaysia, 2003. [10] Yu Xing, Yin Xia, Wang Zhiliang, Chen Dongluo. Research and practice on conformance test of RIPng protocol of IPv6. Computer Engineering, 2006, 32(20): 117-119. (in Chinese) [11] Li Zhongjie, Wu Jianping, Yin Xia. Generality design for testing OSI and internet protocols. In: Proceedings of the 9th Asia-Pacific Conference on Communication (APCC2003). Penang, Malaysia, 2003. [12] KPhone project information. http://sourceforge.net/ projects/ kphone, 2006. [13] Twinkle project information. http://www.twinklephone. com, 2006. [14] Siproxd project information. http://siproxd.sourceforge. net, 2006.