Research on P2P-SIP based VoIP system enhanced by UPnP technology



Similar documents
Quantitative Analysis of 2-tier P2P- SIP Architecture with ID-based Signature

A Comparative Study of Signalling Protocols Used In VoIP

A Self-Managing SIP-based IP Telephony System based on a P2P approach using Kademlia

SIP : Session Initiation Protocol

A P2PSIP event notification architecture

Mobile P2PSIP. Peer-to-Peer SIP Communication in Mobile Communities

SOSIMPLE: A SIP/SIMPLE Based P2P VoIP and IM System

Improving Quality in Voice Over Internet Protocol (VOIP) on Mobile Devices in Pervasive Environment

Implementing SIP and H.323 Signalling as Web Services

VIDEOCONFERENCING. Video class

EE4607 Session Initiation Protocol

2.2 SIP-based Load Balancing. 3 SIP Load Balancing. 3.1 Proposed Load Balancing Solution. 2 Background Research. 2.1 HTTP-based Load Balancing

A Scalable Multi-Server Cluster VoIP System

An Efficient Server Load Balancing using Session Management

Bridging the gap between peer-to-peer and conventional SIP networks

A Lightweight Secure SIP Model for End-to-End Communication

Enabling SIP-Based Services in Ad Hoc Networks

SIP: Ringing Timer Support for INVITE Client Transaction

SIP, Session Initiation Protocol used in VoIP

Sangheon Pack, EunKyoung Paik, and Yanghee Choi

White paper. SIP An introduction

NAT TCP SIP ALG Support

Project Code: SPBX. Project Advisor : Aftab Alam. Project Team: Umair Ashraf (Team Lead) Imran Bashir Khadija Akram

SHORT DESCRIPTION OF THE PROJECT...3 INTRODUCTION...4 MOTIVATION...4 Session Initiation Protocol (SIP)...5 Java Media Framework (JMF)...

Session Initiation Protocol (SIP) The Emerging System in IP Telephony

AN IPTEL ARCHITECTURE BASED ON THE SIP PROTOCOL

SOSIMPLE: A Serverless, Standards-based, P2P SIP Communication System

SIP: NAT and FIREWALL TRAVERSAL Amit Bir Singh Department of Electrical Engineering George Washington University

An Introduction to VoIP Protocols

SIP Protocol as a Communication Bus to Control Embedded Devices

TSIN02 - Internetworking

VoIP. Overview. Jakob Aleksander Libak Introduction Pros and cons Protocols Services Conclusion

Session Initiation Protocol Deployment in Ad-Hoc Networks: a Decentralized Approach

Chapter 2 PSTN and VoIP Services Context

Chapter 10 Session Initiation Protocol. Prof. Yuh-Shyan Chen Department of Computer Science and Information Engineering National Taipei University

TECHNICAL CHALLENGES OF VoIP BYPASS

ENUM: Migrating to VoIP. P2P Voice Applications

Programming SIP Services University Infoline Service

A Peer-to-peer Secure VoIP Architecture

Need for Signaling and Call Control

AN APPROACH TOWARDS THE LOAD BALANCING STRATEGY FOR WEB SERVER CLUSTERS

Analysis of SIP Traffic Behavior with NetFlow-based Statistical Information

(Refer Slide Time: 6:17)

Network Convergence and the NAT/Firewall Problems

A Scalable Architecture for SIP Infrastructure using Content Addressable Networks

SIP A Technology Deep Dive

Unit 23. RTP, VoIP. Shyam Parekh

Adaptation of TURN protocol to SIP protocol

Efficient load balancing system in SIP Servers ABSTRACT:

NTP VoIP Platform: A SIP VoIP Platform and Its Services

A Topology-Aware Relay Lookup Scheme for P2P VoIP System

A Novel Distributed Wireless VoIP Server Based on SIP

Authentication and Authorisation for Integrated SIP Services in Heterogeneous Environments 1

VoIP and NAT/Firewalls: Issues, Traversal Techniques, and a Real-World Solution

Security issues in Voice over IP: A Review

Receiving the IP packets Decoding of the packets Digital-to-analog conversion which reproduces the original voice stream

Voice over IP Communications

User authentication in SIP

Review: Lecture 1 - Internet History

RELOAD Usages for P2P Data Storage and Discovery

Contents. Specialty Answering Service. All rights reserved.

Using SIP Protocol for Bi-directional Push-to-Talk Mechanism over Ad-Hoc Network

Computer Networks. Voice over IP (VoIP) Professor Richard Harris School of Engineering and Advanced Technology (SEAT)

New possibilities for the provision of value-added services in SIP-based peer-to-peer networks

SIP OVER NAT. Pavel Segeč. University of Žilina, Faculty of Management Science and Informatics, Slovak Republic

IP Telephony Deployment Models

Voice over IP. Presentation Outline. Objectives

CHAPTER 6. VOICE COMMUNICATION OVER HYBRID MANETs

MODELLING OF INTELLIGENCE IN INTERNET TELEPHONE SYSTEM

Design of a SIP Outbound Edge Proxy (EPSIP)

Multimedia Conferencing with SIP

Unified Messaging using SIP and RTSP

Deployment of a Wireless Hybrid and Mobile Network for VoIP Services Based on Open Source Software

Simulation of SIP-Based VoIP for Mosul University Communication Network

SIP Trunking to Microsoft Lync (Skype for Business) Server

Measurement of V2oIP over Wide Area Network between Countries Using Soft Phone and USB Phone

Media Gateway Controller RTP

OVERVIEW OF ALL VOIP SOLUTIONS

A Brief Overview of VoIP Security. By John McCarron. Voice of Internet Protocol is the next generation telecommunications method.

Session Initiation Protocol and Services

Decentralized supplementary services for Voice-over-IP telephony

Implementation of Video Voice over IP in Local Area Network Campus Environment

This specification this document to get an official version of this User Network Interface Specification

Encapsulating Voice in IP Packets

A Decentral Architecture for SIP-based Multimedia Networks

Real-Time Billing in SIP

SIP: Ringing Timer Support for INVITE Client Transaction

Improving Availability with Adaptive Roaming Replicas in Presence of Determined DoS Attacks

Session Initiation Protocol (SIP)

10 Signaling Protocols for Multimedia Communication

A Telephone Domain Name System (T-DNS) for Internet Telephony Service at All IP Network

Transcription:

December 2010, 17(Suppl. 2): 36 40 www.sciencedirect.com/science/journal/10058885 The Journal of China Universities of Posts and Telecommunications http://www.jcupt.com Research on P2P-SIP based VoIP system enhanced by UPnP technology WANG Xu-hui ( ) School of economics and management, Beijing University of Posts and Telecommunications, Beijing 100876, China Abstract As voice over IP (VoIP) develops rapidly nowadays, session initiation protocol (SIP) has been the mainstream IP multimedia communication signal protocol in the real-time multimedia communications. But SIP system allocates heavy process and network load on the central server, thus bringing the bottleneck of the system. And it also has single-point failure risk. While, peer-to-peer (P2P) overlays, especially distributed hash tables (DHTs) based structured P2P can provide features of decentralization and self-organization. So in our project, we design and implement a multimedia VoIP system exploiting P2P overlay approaches into SIP system. Moreover, we extend the terminal capability by universal plug and play (UPnP) technology so that the user can gain the best multimedia communication performance. Keywords P2P, SIP, multimedia, communication 1 Introduction 1 The explosive growth of IP network and the need of voice service over IP as an alternative to public-switched telephone network (PSTN) greatly accelerate the development of VoIP in the converged communication environment. Nowadays, most of the multimedia VoIP systems choose SIP as their communication signal protocol. SIP has become one of the most important signal protocols for real-time multimedia communications [1]. It is an IP-based application layer control protocol which can establish, modify and terminate multimedia sessions. It incorporates elements from the two most important application layer protocols of the internet, hyper text transport protocol (HTTP) and simple mail transport protocol (SMTP). It borrows from HTTP the concept of the request/response client-server design and the use of uniform resource locators (URLs). The signaling part of SIP reuses the SMTP headers, such as To, From, Subject, Date, etc., and it inherits the basic SMTP simple text encoding scheme and header style. A VoIP call (or other type of multimedia communication Received date: 20-10-2010 Corresponding author: WANG Xu-hui, E-mail: wangxuhui@bupt.edu.cn DOI: 10.1016/S1005-8885(09)60585-9 session) in SIP can be initiated and setup by some basic request/response methods, such as the original six SIP methods, INVITE, REGISTER, BYE, ACK, CANCEL, and OPTION [2]. Despite the success of SIP as an efficient multimedia communication signal protocol, SIP is based on client/server mode, which increases the system cost in maintenance and configuration. The SIP central server has to afford heavy process and network load, which brings the bottleneck of the system. Meanwhile, the SIP central server becomes the source of single-point failure risk in the situation. While in some other situations, there is no network infrastructure but requires for setting up the system in a small network quickly. So we propose to exploit P2P overlay approaches into SIP system to enhance the scalability, robust and flexibility of the SIP communication system. P2P networks have traditionally been used for file and information sharing in particular and for resource sharing in general. The key idea behind such P2P systems is to distribute processing and bandwidth requirements by sharing resources across many different peers. In our project, we combine P2P and SIP to leverage the distributed nature of P2P to allow for distributed resource discovery in a SIP network, which will decrease the cost of deployment but increase the scalability

Supplement 2 WANG Xu-hui, et al. / Research on P2P-SIP based VoIP system enhanced by UPnP technology 37 and reliability because of no bottleneck and single-point failure risk which is caused by central server. The functions of SIP proxy such as registry, discovery, routing, redirection and deletion can all be achieved by the P2P overlay. The VoIP terminals running SIP user agent (SIP UA) will utilize the P2P overlay to establish, modify and terminate the multimedia communication sessions [3]. Meanwhile, because all the VoIP terminals at present are capability-fixed and cannot be extended, for example a mobile phone without cameral cannot carry out video communication, we choose UPnP technology to extend the terminal capability so that an enhanced integrated communication terminal can be formed. Then, the user can gain the best multimedia communication performance [4]. The rest of the paper is organized as follows. Sect. 2 introduces the design of the P2P-SIP based VoIP system enhanced by UPnP technology and describes the communication procedures of the system. In Sect. 3, a prototype of the VoIP system named UST+ will be presented and the implementation in details and the test result will be shown. Finally, the conclusion is in Sect. 4. 2 System design 2.1 Overview of system design In the process of system design, we exploit P2P overlay approaches into the SIP architecture design. Since P2P overlays, especially DHTs based structured P2P, have been proposed for scalable distributed applications in Internet and can provide features of decentralization and self-organization, we replace the SIP central servers by P2P overlay to carry out resource distributed operations for the communication control such as registry, discovery, routing, and redirection. So combined with SIP, the resource control service of P2P overlay can achieve the functions provided by the traditional SIP central servers and the decentralized SIP protocol can be achieved with little cost. Meanwhile, we introduce the UPnP control point into the VoIP terminal in order for the terminal to discover and integrate the UPnP multimedia devices in the LAN area to form an enhanced communication terminal. So the terminal can acquire the capability which it does not contain. The system can be divided into 3 function areas: P2P-SIP overlay function area, SIP UA function area and UPnP function area. The system function area is shown in Fig. 1. Fig. 1 The system function area Fig. 2 The system module design P2P-SIP overlay is comprised of many distributed servers in Internet as P2P-SIP nodes and the core services such as discovery, routing and group/membering which traditional SIP server provides will be carried out in this function area. The SIP UA function area is responsible for basic multimedia session control including session establishing, modifying and terminating. The UPnP function area is responsible for extending the capability of the VoIP terminal. The VoIP terminal utilizes UPnP technology to discover and integrate the UPnP multimedia devices in the LAN area to form a virtue communication terminal [5]. 2.2 System module design The system components include P2P-SIP node, terminal user agent (terminal UA) and UPnP multimedia device. The system module design is shown in Fig. 2. In the system, P2P-SIP node acts as SIP server to accept, process, forward the session signal from the terminal UA to achieve functions including registry, discovery routing and so on. Meanwhile, many P2P-SIP nodes connect to each other through P2P mechanism to form a P2P overlay so that they

38 The Journal of China Universities of Posts and Telecommunications 2010 can afford the signal process and network load together. They are physically distributed and can be logically round, square and net in shape determined by the P2P mechanism which the system chooses [6]. Terminal UA can connect to any P2P-SIP node in the P2P-SIP overlay to get required service. Extending the system capability just needs adding more P2P-SIP nodes into the P2P-SIP overlay. Some invalid P2P-SIP nodes will not influence the system work. P2P-SIP node chooses layered structure including the P2P module and the SIP server module. The P2P module is responsible for connecting the P2P-SIP node with each other to form a P2P overlay through P2P mechanisms. It provides SIP server module some APIs to return the IP address and port number of the P2P-SIP node responsible for the current terminal UA. At different time, P2P-SIP node responsible for the terminal UA may be different. The SIP server module is responsible for processing standard SIP signal. It cooperates with SIP UA module in terminal UA to accomplish the SIP session control. Terminal UA runs on the VoIP terminals. It includes the SIP UA module, the UPnP control point module and the real-time transport module. The SIP UA module is responsible for starting or responding to a multimedia communication request. The UPnP control point module enables the VoIP terminal to discover and integrate the UPnP multimedia devices in the LAN area to form a virtue enhanced terminal. When the SIP dialogue is established, the real-time transport module is responsible for the transport of multimedia stream between the VoIP terminals or between VoIP terminal and UPnP multimedia devices. UPnP multimedia devices refer to the devices which support UPnP technology such as data cameral, earphone and display. The UPnP device module enables the multimedia device to be discovered by the terminal UA. And the real-time transport module supports the multimedia stream transport between terminal UA and UPnP multimedia device [7]. 2.3 Communication procedures 1) P2P-SIP node registry procedure. P2P-SIP node registry procedure is most important in the P2P-SIP based VoIP communication, it constructs P2P-SIP overlay in ad hoc networks, and shapes the topology which is related to lookup and fail-over recovery mechanism. When a P2P-SIP node enters into the P2P-SIP overlay, it communicates with the other P2P-SIP nodes and joins in the P2P-SIP overlay. When a P2P-SIP node registers successfully, it sends the successors and predecessors list to other nodes. 2) Terminal UA registry procedure. In the perspective of terminal UA, registry to P2P-SIP overlay is the same as registry to traditional SIP central server [8]. When a terminal UA wants to join in the VoIP system, it creates a SIP REGISTRY request and sends it to the P2P-SIP node connecting to it. On receiving the request, the P2P-SIP node will invoke the function provided by the P2P module to look up the P2P-SIP node in charge of the terminal UA. If the return value is the address of P2P-SIP node itself, the P2P-SIP node will keep record of the registry information. If the return value is the address of another P2P-SIP node, the P2P-SIP node will not record the registry information, but forward the SIP REGISTRY request to the corresponding P2P-SIP node. Finally the SIP REGISTRY request will arrive at the P2P-SIP node in charge of the terminal UA and the response will return through the coming path route. The sequence of steps is as follows shown in Fig. 3. Fig. 3 Terminal UA registry procedure Step 1 Terminal UA B creates and sends a SIP REGISTRY request to the P2P-SIP node 5 which is connecting to it. Step 2 P2P-SIP node 5 forwards the SIP REGISTRY request to P2P-SIP node 3 which is in charge of Terminal UA B. Step 3 P2P-SIP node 3 receives the SIP REGISTRY request and creates the response. The response is forwarded through the coming path route. Step 4 Terminal UA B receives the response and finishes registry. 3) Call setup procedure. In the perspective of terminal UA, call setup procedure in the P2P-SIP overlay is the same as in the traditional SIP networks.

Supplement 2 WANG Xu-hui, et al. / Research on P2P-SIP based VoIP system enhanced by UPnP technology 39 When a terminal UA wants to call another terminal UA, the source terminal UA will create a SIP INVITE request and send the request to the P2P-SIP node connecting to it. In the P2P-SIP overlay, the P2P-SIP node gets SIP universal resource identifier (SIP-URI) from the To head field of the SIP INVITE request and invokes the function provided by the P2P module to look up the P2P-SIP node in charge of the destination terminal UA. If the return value is the address of itself, it means that the P2P-SIP node is in charge of the destination terminal UA and contains the destination terminal UA s registry information. Then the SIP INVITE request will be forwarded to the destination terminal UA. If the return value is the address of anther P2P-SIP node, the P2P-SIP node will forward the SIP REGISTRY request to the corresponding P2P-SIP node. On receiving the request, the destination terminal UA parses the session description protocol (SDP) part of the SIP INVITE request to get known of the multimedia session requirement and discovers the UPnP multimedia devices in the LAN area to form an enhanced virtual terminal. Then the response will return through the coming path route. The sequence of steps is as follows shown in Fig. 4 [9]. Step 4 The destination terminal UA B receives the INVITE request and integrates related UPnP multimedia devices in the LAN area to form a virtue enhanced communication terminal. Step 5 Terminal UA B creates the response and the response is forwarded through the coming path route. Step 6 Terminal UA A receives the response and sends an ACK request in order to establish a SIP dialogue. Step 7 After the SIP dialogue is established, multimedia stream can be transported between the source terminal UA A and the destination terminal UA B [10]. 3 Prototype implementation 3.1 System module implementation In our project, we implement a prototype named UST+ for demonstrating the communication process of the P2P-SIP based VoIP system enhanced by UPnP technology. To simplify and ease the development, the system prototype is implemented on the base of existing open source protocol stacks. In UST+ architecture, the bottom layer is the open source protocol stacks. We utilize the protocol stacks to develop all the function modules. The system components including P2P-SIP node, Terminal UA and UPnP multimedia device are constructed by combining the function modules. The P2P module is built on an open source P2P stack, Bamboo DHT. Bamboo DHT is a building block for peer-to-peer applications. At the most basic level, it allows a group of distributed hosts to collectively manage a mapping from keys to data values, without any fixed hierarchy, and with little human assistance. On the base of Bamboo DHT, We implement the functions to help P2P-SIP node look up the address of the other P2P-SIP nodes. The architecture of UST+ is as follows shown in Fig. 5. Fig. 4 Call setup procedure Step 1 The source terminal UA A creates and sends a SIP INVITE request to the P2P-SIP node 1 which is connecting to it. Step 2 P2P-SIP node 1 forwards INVITE request to P2P-SIP node 3 which is in charge of the destination terminal UA B. Step 3 P2P-SIP node 3 forwards INVITE request to the destination terminal UA B. Fig. 5 UST+ architecture The SIP server module in P2P-SIP node and the SIP UA module in terminal UA are both built on osip. osip is an open

40 The Journal of China Universities of Posts and Telecommunications 2010 source SIP stack implementing the standard SIP protocol. It provides a fully usable parser for the SIP syntax and implements the transaction layer. It also provides an SDP parser and extra features for the user agent. It can be used to build both SIP proxy and SIP UA. The SIP server module is developed by modifying PARTYSIP, an open source SIP server based on osip. We implement the functions which transform the SIP requests to P2P operations, such as the function transforming SIP REGESTRY request to P2P PUT operation. The SIP UA module is developed by modifying Linphone, an open source SIP UA based on osip. We modify Linphone s source codes to enable it to support registry and routing in P2P-SIP overlay. The UPnP control point module in terminal UA and the UPnP device module in UPnP multimedia device are implemented on the base of the UPnP stacks created by the Intel tools for UPnP. The UPnP control point module will be embedded into the SIP UA module to support discovery and integration of UPnP multimedia devices [11]. The real-time transport module is implemented on an open source real-time transport protocol (RTP) stack, JRTP. And we use Microsoft foundation classes (MFC) to develop the user interface of UST+. 3.2 System test The system components are all simulated by the computers. We run the P2P-SIP nodes, terminal UAs and UPnP multimedia devices and test the procedure of P2P-SIP node registry, terminal UA registry and call setup. The test result proves that the system can fulfill our design requirements. 4 Conclusions In this paper, we present a P2P-SIP based VoIP system enhanced by UPnP technology to overcome the disadvantages of the traditional SIP VoIP systems and extend the terminal capability for the user to gain the best communication performance. We describe the system module design and the communication procedures of the system in details. Then we introduce a prototype named UST+ for demonstrating the work process of the system and give the implementation steps. The test result proves that the system can fulfill our design requirements. In the future, we will try to choose other P2P mechanism such as content addressable network (CAN), Chord to implement the P2P module and the security and AAA mechanism of the VoIP system will be taken into consideration. Acknowledgements This work is supported by the Fundamental Research Funds for the Central Universities. References 1. Rosenberg J, Schulzrinne H, Camarillo G, et al. RFC3261. SIP: Session Initiation Protocol, 2002 2. Baset S, Schulzrinne H. An analysis of the skype peer-to-peer Internet telephony protocol. Technical Report CUCS-039-04. Computer Science Department, Columbia University, 2004, 9 3. Stoica, Morris R, Karger D, et al. Chord: A scalable peertopeer lookup service for Internet applications. SIGCOMM 01, Aug 2001, San Francisco, USA. 2001: 12 4. Singh K, Schulzrinne H. Peer-to-peer internet telephony using SIP. International Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV), Jun 2005, Skamania, Washington. 2005: 15 20 5. David A, Bryan, Bruce B, Lowekamp. SO-SIMPLE: A SIP/SIMPLE Based P2P VoIP and IM System, 2004 6. Bryan D, Cullen J. A P2P approach to SIP registration. Internet Draft draft-bryan-sipping-p2p-01. Internet Engineering Task Force, 2005, 7 7. Guha S, Takeda Y, Francis P. NUTSS: A SIP-based approach to UDP and TCP network connectivity. SIGCOMM 04 Workshops, Aug 2004, Portland, the USA, 2004 8. Ratnasamy S, Francis P, Handley M, et al. A scalable content-addressable network. ACM SIGCOMM2001, Aug 28 31, 2001, San Diego, California, USA 9. Rowstron A, Druschel P. Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems. IFIP/ACM International Conference on Distributed Systems Platforms (Middleware 2001), Nov 12 16, 2001, Heidelberg, Germany. 10. UPnP Forum. UPnP device architecture 1.0, 2001, 12 11. S. Koutroubinas, T. Antonakopoulos, V. Makios. A New Efficient Access Protocol for Integrating Multimedia Services in the Home Environment. IEEE Transactions on Consumer Electronics, 1999, 45(3): 481 487