(1.Central R&D Institute,ZTE Corporation;2.China Mobile Research Institute)
T he IETF peer-to-peer session initiation protocol(P2PSIP)working group oversees standardization of decentralized SIP architecture[1].IETF hopes to avoid centralized architecture,and to create a Skype-like system[2]but with open standards.P2PSIP is only a basic end-to-end communication protocol;building an integrated network suitable for operation and management still requires mechanisms for QoS,security and management,and accounting and billing.
Compared with legacy SIP systems[3]such as IMS,P2PSIP has a more open environment.For example,service nodes are distributed,rather than centralized in a closed house.Peer nodes are usually located behind network address translations(NATs).The network environment is more like the Internet than traditional communication networks with reliable QoS.Therefore,a P2PSIP system requires intelligent routing to solve NAT and route efficiency.In this paper,we propose a novel and practical P2PSIP architecture that uses overlay techniques for signaling and media transport.It replaces the traditional SIP proxy/register function with distributed hash table(DHT)mechanism,and a relay service is added to resolve NAT and QoS problems.
The IETF P2PSIP working group is the first international standards organization focused on evolving SIP towards being more peer-to-peer,that is,removing the centralized proxies and adopting a DHT approach.This working group has proposed a basic resource location and discovery protocol called RELOAD[4]and defines a simple SIP usage[5]based on it.SOSIMPLE[6]and SIPeerior[7]are important projects based on RELOAD.
There are also several voice over IP(VoIP)systems that are non-SIP or non peer-to-peer.These include Skype[8],Gizmo[9],and SATO[10].Skype can be seen as the driver of some peer-to-peer SIP developments because it has shown how well VoIP can work and what a successfully deployed VoIP peer-to-peer system looks like.Compared with these systems,our P2PSIP focuses more on control,operation,and management.
Intelligent routing is used to inspect the status of the network and select an alternative route that excels the default Internet routing.Intelligent routing is realized by application-level overlay routing,that is,relay technique.The relay function is key for a P2P VoIP system to guarantee NAT and QoS.The main advantage of Skype is that it uses the equivalent of session traversal utilities for NAT(STUN)servers and traversal using relay NAT(TURN)servers in the node itself when handling NAT[2].This is unlike explicit server pre-configuration in existing SIP applications.Based on Internet routing behavior analyzed by Chinoy[11]and Labovitz[12],S.Savage et al[13]proved that most default/bad IP paths could be improved by alternative paths in the Internet.In the last decade,many studies have focused on overlay routing such as RON[14],Detour[15],SOSR[16],and ASAP[17].

Figure 1.The proposed P2PSIP system architecture.
Our goal is to develop a flexible and controllable P2PSIP network for traditional telecom operators.This is different from Internet P2P telephone Skype in terms of QoS,service control,and network management.
We deploy a decentralized SIP system in a virtual peer-to-peer network.The requirements are:
·overlay self-organization.The P2PSIP network consists of P2PSIP overlay nodes(PONs)on top of the underlying basic network connectivity.This virtual overlay network can be self-tuned while network adjusting and disturbing occurs.In the future,it will run in a virtual machine environment.
·generic SIP service support.Existing basic and important IMS functions,such as session control,authentication,roaming,and interworking,should be supported by P2PSIP.Key techniques,such as data modeling and creating database of user service profile,as well as triggering of SIP service,must be solved.
·terminate node access.In a decentralized environment,user authentication and access security are undefined problems.
·interworking.As an alternative to VoIP,there must be a way to route calls between the P2PSIP network and traditional SIP network and PSTN.To solve this issue,gateways act as either a P2P or non-P2P client.
·intelligent routing function.The main purposes of relay service are NAT traversal and QoS proxy.Potential functions of relay nodes include audio/video mixer,audio/video transcoder,and interceptor.
The current developed P2PSIP system does not have all these functions.But we provide several useful mechanisms in our design.For example,by anchoring a user’s service on a specified PON,all services are processed at a fixed point.This allows convenient service control and management.
There are different components in the proposed P2PSIP system(Fig.1).The core of the P2PSIP system is the PON.It processes SIP services and cooperates with other PONs to implement the P2P overlay network.The protocol between PONs is RELOAD[4]defined by IETF.RELOAD is currently the only available standardized P2P protocol.
The bootstrap server is the first node when a PON joins the P2PSIP overlay network.The overlay configuration file is provided by the bootstrap server.The selected protocol between the bootstrap server and PONs is HTTP.The overlay configuration file is encoded and transferred in XML format.
The application server hosts and executes IMS-specific services such as the voice call continuity(VCC)functions and presence-based services.This element-and its interface with the P2PSIP overlay network-inherits aspects of legacy IMS components.
Both P2P and non-P2P clients are allowed to access the P2PSIP system.The SIP proxy provides protocol transfer for the non-P2P client and controls interworking with other telecom systems,,for example,connecting with breakout gateway control function(BGCF)and media gateway control function(MGCF).
NAT is a basic feature of legacy IMS networks in real network environments.The media relay mechanism is necessary for improving best-effort route policy in the Internet.Therefore,we propose a relay service based on P2P overlay function in PONs.
A PON supports the SIP service function,relay service function,and overlay maintenance function.Acting as a supporting layer,the overlay maintenance function organizes all PONs into an integral overlay network according to the specific DHT algorithm.The P2PSIP system is an application-level service overlay network established on the low-level P2P overlay system.The intelligent routing function in the P2P overlay network maintains a candidate relay-node list that provides preferred relay-nodes.Fig.2 shows the PON architecture.
We propose a smart relay function based on the supportive P2P overlay network(Fig.2).The relay plugin maintains a topology-aware candidate relay table.This table is based on the P2P overlay and global network information provided by a centralized server similar to the ALTO server defined by IETF[18].This relay table is created in two steps when a PON joins the P2P overlay.First,the new PON obtains its local network information(including network partition and neighbor network partition)from the network information server via the NI interface.The individual network partition is identified by a packet identifier(PID)and may be one or more autonomous systems(AS)and one or more subnets.Then,the new PON collects candidate relay nodes belonging to itself and neighbor PIDs using its DHT routing table.During overlay maintenance,the relay table is also updated.A relay table structure is shown in Fig.3.
A relay node should meet following four requirements[13],[14],[17]:

Figure 2.The PON module design.
(1)quasi real-time path QoS inspection.If the path QoS deteriorates badly,a relay node should apperceive and update its relay table as fast as possible.The relay plugin is required to measure the quality of the path to its neighbor nodes.
(2)node workload and capability perception.To select a suitable relay node,node workload,capability,and volunteer status needs to be taken into account.The relay function should apperceive the state of neighbor nodes in its relay table.
(3)shortest path first for data relay.Previous research[16],[17]has proven that a one-hop routing path can satisfy the requirements of voice communication.The proposed distributed scheme based on DHT overlay is capable of quick one-hop path selection in AS-level.
(4)closest node first for NAT traversal.In a real Internet environment,it is essential to provide proxy node selection for consumers behind NAT devices.Our system dynamically provides a closest relay node for NAT as opposed to manual pre-configuration in the traditional mode.
Our P2PSIP system is implemented on the premise that traditional SIP user equipment(UE)can participate without any enhancement.The SIP UE uses its standard way of transporting SIP signals and real-time transport protocol(RTP)media.This is similar to IMS terminating with a preconfigured access PON node.In the future,advanced P2PSIP UE will select an access PON node automatically using the P2P client described in[4].
A call made between UE1in PID1and UE2in PID2follows the possible call flows in[3].The preconfigured access PON node(PON1)for UE1receives an INVITE call request,obtains the UE1user profile(by RELOAD Fetch request),and triggers its subscribed services.Then,PON1uses SIP URIto obtain UE2register information(by DHT lookup)and helps build up a communication channel between UE1and UE2[3].
If end-to-end QoS between UE1and UE2gets worse during a session,an UPDATE request is sent to PON1(the current session process node).After PON1checks the UE1user profile and finds the user subscribed to the relay service,a relay selecting flow is triggered.
The relay request is not necessarily routed to PON1but to a PON that is closest to UE1.This routing is performed by the RELOAD mechanism(Fig.4).The peer is a surrogate node(SN1)that selects a relay node for the session.The SN1is located at PID1or close to PID1if no peer exists in PID1.The SN1finds a surrogate node for UE2(by its location,PID2)called SN2,and obtains its relay table(Fig.3).Based on the four defined principles for relay selection,the SN1selects one or more relay candidates by ranking.
When PON1receives the INVITE request and finds UE1or UE2behind a NAT device,a relay is required for data packet transfer.A NAT relay request for UE1in PID1is routed to a PON that belongs to PID1or is closest to PID1(Fig.5,PON1).The PON1selects the closest neighbor node with a light load in the local network partition(the first row in its relay table).Here,the metric of distance is the most prefix match of IP addresses.
The designed P2PSIP system has been implemented on Open SUSE 11.2 in C++language.On the network side,an open source stack reSIProcate[19]was used.P2P stack is a self developed project based on IETF RELOAD[4].Test SIP phones include the well-known Eyebeam SIP phone and SoftDA(ZTE testbed).Other devices,such as application server,NAT devices,and IMS system for inter-communication test,are all ZTE commercial products.

Figure 3.An Example of relay table structure.

Figure 4.P2P calling setup process.

Figure 5.NAT traversal process.
We propose a novel P2PSIP system with intelligent routing function in the media plane.The system follows SIP functions and features of 3GPP IMS services.Basic VoIP services are supported;for example,an SIP session can be set up between traditional UEs.For UE behind NAT devices,a specified application server selects an appropriate relay for users.If the default network path gets congested,a relay service is provided as the subscribed service.
A key advantage of P2P technique is that distributed process and storage eliminates the centralized point failure.However,during implementation of our P2PSIP system,we found that using DHTs affects performance in the more flexible routing path in the application layer.Furthermore,the decentralized architecture makes deployment of the traditional SIP/IMS services,such as multiple user identifiers(PUIs and PVIs)and forking service supporting,more complicated.Security in the overlay network and control of services are also major concerns.These issues are still to be investigated.
[1]“P2PSIP:Peer-to-Peer Session Initiation Protocol.”[Online].Available:https://datatracker.ietf.org/wg/p2psip/
[2]S.A.Baset and H.Schulzrinne,“An analysis of the Skype peer-to-peer Internet telephony protocol,”Cornell University,Ithaca,NY,Rep.CUCS-039-04,2004.
[3]SIP:Session Initiation Protocol,RFC3261,June 2002.
[4]C.Jennings,B.Lowekamp,E.Rescorla,S.Baset,and H.Schulzrinne,“Resource location and discovery(RELOAD)base protocol draft-ietf-p2psip-base-13,”IETF.[Online].Available:https://datatracker.ietf.org/doc/draft-ietf-p2psip-base/
[5]C.Jennings,B.Lowekamp,E.Rescorla,S.Baset,and H.Schulzrinne,“A SIP usage for RELOAD draft-ietf-p2psip-sip-05,”IETF.[Online].Available:http://tools.ietf.org/html/draft-ietf-p2psip-sip-05
[6]D.A.Bryan,B.Lowekamp,and C.Jennings,“SOSIMPLE:a serverless,standards-based,P2PSIP communication system,”in1st Int.lWorkshop,Adv.Architectures and Algorithms for Internet Delivery and Applic.(AAA-IDEA),Orlando,FL,June 2005,pp.42--49.
[7]“SIPeerior Technologies P2PSIP Core and Endpoint Development Kits,”P2PSIP.org.[Online].Available:http://www.p2psip.org/implementations.php
[8]Skype.[Online].Available:http://www.skype.com
[9]Gizmo.[Online].Available:http://gizmoproject.com
[10]M.Stiemerling and M.Brunner,“A peer-to-peer SIP system based on service aware transport overlays,”PIK,vol.30,no.4,pp.213-218,2007.
[11]B.Chinoy,“Dynamics of Internet Routing Information,”inProc.SIGCOMM'93,New York,NY,1993,pp.45-52.
[12]C.Labovitz,A.Ahuja,A.Bose,and F.Jahanian,“Delayed Internet routing convergence,”inProc.SIGCOMM’00,New York,NY,2000,pp.175-187.
[13]S.Savage,A.Collins,E.Hoffman,J.Snell,and T.Anderson,“The end-to-end effects of internet path selection,”in Proc.SIGCOMM’99,New York,NY,1999,pp.289-299.
[14]D.Andersen,H.Balakrishnan,F.Kaashoek,and R.Morris,“Resilient overlay networks,”ACM SIGCOMM Comput.Commun.Rev.,vol.32,no.1,p.66,Jan.2002,pp.xxx-xxx.
[15]S.Savage,T.Anderson,A.Aggarwal,D.Becker,N.Cardwell,A.Collins,E.Hoffman,J.Snell,A.Vahdat,G.Voelker,and John Zahorjan,“Detour:informed Internet routing and transport,”IEEE Micro,vol.19,no.1,pp.50-59,Jan./Feb.1999.
[16]K.Gummadi,H.Madhyastha,S.Gribble,H.Levy,and D.Wetherall,“Improving the reliability of Internet paths with one-hop source routing,”InProc.USENIXOSDI’04,Berkeley,CA,2004,p.13.
[17]S.Ren,L.Guo,and X.Zhang,“ASAP:an AS-Aware Peer-Relay Protocol for High Quality VoIP,”in26th IEEE Int.Conf.Dist.Comput.Syst.(ICDCS’06),Lisboa,Portugal,2006,p.70.
[18]R.Alimi,R.Penno,and Y.Yang,“ALTO protocol draft-ietf-alto-protocol-06.”[Online].Available:http://tools.ietf.org/html/draft-ietf-alto-protocol-06
[19]reSIProcate.[Online].Available:http://www.resiprocate.org/Resip_Overview