You are on page 1of 5

H-SIP: Hybrid SIP Network

F. Callegati, A. Campi, W. Cerroni


D.E.I.S. University of Bologna Email: {franco.callegati, aldo.campi, walter.cerroni}@unibo.it

AbstractIn this paper we propose a service-oriented networking architecture that, by exploiting the Session Initiation Protocol (SIP), is able to support a population of users moving within a network of trusted domains over wireless and/or wired connections. The proposed architecture combines the exibility of a peer-to-peer connectivity network with the efcient signaling organization of a hierarchy of domains.

I. I NTRODUCTION The Session Initiation Protocol (SIP) [1] has been originally developed as a domain-based session management protocol for VoIP and multimedia applications. In this perspective, it has been adopted as a common signaling layer for the Internet Multimedia Subsystem (IMS) [2] architecture. The IMS has a centralized management structure which reects the operators viewpoint, focusing on an efcient and controlled administration of users, services and resources. On the other hand, several successful applications, based on the Peer-to-Peer (P2P) paradigm, have demonstrated the scalability and the efciency of a distributed networking scenario, although the lack of a central management leads to a number of issues such as quick user location, timely service provisioning, security and QoS management. SIP has found its way into the P2P scenario with the experiences made by systems such as P2P-SIP [3] and SIP-Thor [4]. In this paper we intend to show that SIP can be effectively used to implement an hybrid network architecture, with centralized user administration and distributed access control, that tries to take the best from the two aforementioned scenarios. The hybrid architecture will be called H-SIP, putting together the control typical of centralized network with the exibility of P2P. As such H-SIP is not an ad-hoc network [5] but can be considered as a network infrastructure providing maximum exibility of service access, similarly to P2P. The remainder of the paper is organized as follows. In section II we describe the architecture and the main components of the H-SIP. Then in section III we discuss the most critical network functions from the signaling point of view, that are user registration and user location. For space reasons the call set up signaling phase is not discussed in this paper and will be the subject of future works. In section IV we discuss performance issues for registration and user location and in section V some conclusions are drawn. II. T HE H-SIP NETWORK ARCHITECTURE It is rather obvious that the most effective connectivity is achieved by communicating with the equipment that can be reached in the easiest way, i.e. with the largest bandwidth

available and minimum round trip time. Distributed architectures such as P2P leverage on this idea. At the same time an efcient administration and control of a network, in particular with different administrative entities (i.e. domains), is more easily achieved with centralized architectures. The aim of H-SIP is to mix these two aspects, providing centralized user and service administration and distributed access to connectivity and services. The nal goals are to give the users: maximum efciency of signaling and communication; a unied and personalized service prole, whenever they gain access to the H-SIP. The H-SIP network is based on the standard SIP protocol. Several SIP domains may be part of the H-SIP. Administrative entities participating into the H-SIP create and maintain a set of SIP domains with all the standard components of a SIP-based network, i.e. proxy, location, redirect and registrar servers. Each user belongs natively to one of this domains which manages and is responsible for the integrity of the service prole. The H-SIP does not require protocols extensions, but just a proper conguration of the building blocks. The main building blocks are the following: SIP User Agent (UA) is the user terminal (i.e. the user of the network); Home proxy is the administrative entity of a user as in conventional SIP networks; Foreign proxy is the Home proxy of others domains; peer is a generic SIP User Agent (UA) that can be easily reached by other UAs. Some related concepts, that will be useful in the following, are: the user service prole (service preferences, QoS requirements, etc.) must be included into a standard object that can be stored into any UA and can be retrieved automatically by the UAs from the network; 1 any UA must have an inbound and outbound proxy in order to communicate to the H-SIP network; all the devices in the H-SIP network (Home proxy, Foreign proxy, peer) could act as inbound and outbound proxy. This last item is central to the H-SIP concept. The administration of the service prole is left to the Home proxy in
1 Let us recall that, given a certain UA, the inbound proxy is the proxy used to reach the UA, while the outbound proxy is the proxy used by the UA to make calls.

978-1-4244-2324-8/08/$25.00 2008 IEEE.


This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2008 proceedings.

the home domain and is therefore centralized. The connection to the network may take place at any node that is easily reachable by the UA; either the proxy of another domain or peer UAs are used to this end. To guarantee consistency in service provisioning the service prole is shared by the home proxy, so that the current inbound and outbound proxies may download it upon receiving a user registration request. This concept is similar to that of roaming in mobile networks. Roaming is obviously supported by the IMS as well, but in the IMS each domain accepts foreign users treating them as visitors. The P-CSCF in the visited network ensures that SIP registration is passed to the correct home network and that SIP session messages are passed to the correct Serving CSCF (S-CSCF) once registration has occurred. Contact with the home network during registration is through the home network ICSCF. Now let us describe with more details how some of the aforementioned concepts may be implemented. A. User Service Prole and Call Process Language The user service prole is maintained exploiting the Call Process Language (CPL) [6]. The CPL is a standard, XMLbased scripting language used to describe and control Internet telephony services. The CPL specications are maintained and managed at the home domain which distributes a copy of them to the inbound and outbound proxies where the user is roaming. The home domain is responsible of maintaining an updated version of the service prole, stored in the CPL document. Since the CPL of a user is necessary to guarantee the correct service prole, only who has the CPL of a user can act as an inbound or outbound proxy. B. Domains Share Users All SIP domains in the H-SIP are fully functional SIP domains, with the additional capability to accept the registration from users belonging to other trusted domains. A SIP server working as foreign proxy (therefore receiving a registration request from a user outside its domain) asks the users home domain for the relevant prole (CPL data) and behaves accordingly. All domains involved in the H-SIP are able to provide connectivity to all users in the network with the same level of service detail (domains share users). It is important to point out that, unlike IMS, once a user has being accepted into a foreign domain it is treated as a regular user and not as a visitor, since the foreign domain has his CPL le. C. Peer-to-peer networking The typical User Agents (UA) in the H-SIP is a fully functional SIP UA equipped with an additional small proxy and location server. Such a peer can accept registrations from other UAs, since it acts as a small proxy server, with the capability to route messages according to the CPL specications, and as a small location server, able to locate users registered through that peer. The generic UA (peer) may behave as an inbound and outbound proxy, with the limitation that it is not reliable since it can switch on and off at random (both

because it is physically switched off or because it becomes unreachable). Since the peer provides a small location server, the SIP extensions for presence information [7] can be used to notify the peers inbound proxy. This feature allows a user to directly call a UA and plays an important role in the H-SIP because the inbound proxy of a UA can be located everywhere in the network. III. R EGISTRATION AND LOCATION IN THE H-SIP
NETWORK

A. User registration The UA searches the network and discovers the closest HSIP access point, that may be either a domain proxy (home or foreign) or a peer. Therefore the rst operation a UA must perform when going on line is a proxy discovery. The protocols used to discover the closest proxy can be DHCP, ZeroConf and Multicast, depending on the local network. 1) Registration through a foreign proxy: The UA sends a REGISTER message to the foreign proxy located in the local access network. The proxy is able to accept the registration but it is not able to check the user access rights, because the user is not a subscriber of its domain. Therefore, the foreign proxy forwards the registration message to the home proxy (since there is a trust relationship) that, upon receiving the request, veries the user credentials and, in case they are valid, sends a positive response back to the foreign proxy, which in turn forwards the acknowledgment to the user. From the user point of view the registration session is completed and the foreign proxy is addressed as the current inbound and outbound proxy. In the second phase of the registration process the home proxy sends the user service prole to the foreign proxy with another registration message. Now the new inbound and outbound proxy has the capability to provide the services according to the user preferences. The home domain is still responsible for the user management, but the connectivity to the SIP network is now provided by the foreign proxy. From the UA point of view the foreign domain is equivalent to the home domain. The user registration procedure by a foreign proxy is shown in Fig. 1 (a). 2) Registration by a set of peers: In case the UA does not nd a close foreign proxy server in the local network, it sends a registration message to its home proxy that checks the user credentials and allows the user to connect to the H-SIP. When the connection to the home domain is not very performing we assume that better connectivity may be provided by P2P connections. Therefore the home proxy performs a search algorithm 2 in order to nd a suitable subset of available UAs that are physically close to the user and sends back a 305 response, addressing these peers as new proxies for the user. When the UA receives a 305 message with a set of alternatives it sends the REGISTER message to all these peers in parallel, that will basically behave as a set of inbound and outbound proxies. The use of multiple peers instead of only one
2 The detailed behavior of the search algorithm is out of the scope of this work.

978-1-4244-2324-8/08/$25.00 2008 IEEE.


This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2008 proceedings.

User User
TD REGISTER TDNS REGISTER 200 OK 200 OK REGISTER 200 OK TCPL 200 OK TREG

Peer(s)
TD REGISTER 305 USE PROXY

Home domain SIP Proxy

C. Calling procedure The call set-up procedure basically follows a standard SIP call-ow. The differences worth being mentioned, as already outlined, are: the inbound and outbound proxies are not xed, so a caller must rst look for the callee inbound proxy; inbound and outbound proxies can either be reliable or unreliable: in the latter case, multiple proxies are used for redundancy. For space reason, calling and service provisioning procedures will be addressed in future work. IV. P ERFORMANCE EVALUATION In this section we analyze the performance of the H-SIP network in terms of bandwidth occupancy due to signaling overhead and service reliability. Following the description above we will address the registration phase that is the most critical for performance and signaling overhead. The model will be be based on the following assumptions: breg : is the average bandwidth requested by a standard request and nal response registration message; bcpl : is the average bandwidth requested by a standard request and nal response registration message including the user CPL; DNS messages are not considered; transmission errors and subsequent retransmission messages are considered negligible and not considered. It is also important to remind that the registration of a UA to a SIP proxy will not last forever but has a limited lifetime Treg . After Treg either the UA refreshes the registration or the proxy will forget it. Therefore a UA that has been on-line for a period of time T will register (or refresh its registration) T times, where x is the closest integer x. nr = Treg T Assuming T >> Treg we will approximate nr Treg . A. Registration through the home domain The full registration through the home domain is completely equivalent to a standard SIP network, based on a client-server schema. The registration phase costs : Bstd (t) = breg + breg nr t 0 B. Registration through a foreign proxy The registration through a foreign proxy (see gure 1.(a)) is logically very similar to the previous one but with the additional time required by the foreign proxy to contact the home proxy of the UA. The bandwidth costs is : Bf p (t) = bcpl + 2breg + 2breg nr t 0 Basically each registration message has to be counted twice. For instance when a User Agent send a registration message to its Home domain through a foreign proxy (User Agent Foreign Proxy Home proxy), two different messages are generated and counted.

Foreign SIP Proxy

Home domain SIP Proxy

TREG

REGISTER TDNS REGISTER 200 OK REGISTER 200 OK TCPL TREG2

(a)

(b)

Fig. 1. User registration procedure: (a) Foreign proxy. TD : proxy discovery time. TDN S : DNS lookup time. TREG : users credential check time at home domain. TCP L : users service prole transfer time. (b) Proxy UA. TD : unsuccessful proxy discovery time. TREG : peers search time at home domain. TDN S : DNS lookup time. TREG2 : users credential check time at home domain. TCP L : users service prole transfer time.

is necessary in order to guarantee the user connectivity, since peers are considered unreliable proxies. The user registration procedure by a peer is shown in Fig. 1 (b). B. User Location In standard SIP networks the user home domain maintains tables with the user network location (i.e. its IP address). Therefore, the user inbound proxy is always the home domain proxy and the user location is reliable and can be retrieved in a predictable and fairly limited amount time (the number of messages to be exchanged between the UA and the SIP proxy is xed). On the other hand, user location in a P2P-SIP is typically realized in a distributed way, since the position of a user is known to other users (the peers). The location discovery function must perform a search inside a subset of peers, taking amount of time that is typically a logarithmic [8] function of the number of peers and is not easily predictable a priori. H-SIP aims at implementing a trade-off between these two extreme solutions. The location function is performed referring to the home proxy but the location information my be:

the real UA network position (i.e. its IP address) when the user is connected to the home domain proxy as an inbound proxy; the foreign domain proxy name or the addresses of a set of proxy UA when the inbound proxy is a foreign proxy server or a set of peers.

The time required to discover the location of a UA is not almost constant as in the standard, domain centric, SIP approach, but is upper bounded since the number of messages to be exchanged with domain proxies (either home or foreign) is upper bounded.

978-1-4244-2324-8/08/$25.00 2008 IEEE.


This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2008 proceedings.

N/ 1 2 3 4 5 6 7

= 103 t 1 0.009950 9.9e-005 9.8e-007 9.8e-009 9.7e-011 9.7e-013

= 10t 1 0.095163 0.009055 0.000861 8.201e-005 7.8e-006 7.4e-007

=t 1 0.63212 0.39958 0.25258 0.15966 0.10093 0.063797

= 101 t 1 0.99995 0.99991 0.99986 0.99982 0.99977 0.99973

= 103 t 1 1 1 1 1 1 1
log(Pout)

5 N=2 N=3 N=4

10

15

TABLE I O FF LINE PROBABILITY

20

25

30

C. Registration by a peer
35

When neither the home proxy nor a foreign proxy can be contacted effectively (see gure 1.(b)) the registration is done using a peer UA, that will become the inbound proxy. As already outlined peer UAs are unreliable inbound proxies and therefore more than one can be used to guarantee service availability. Moreover to cope with the fact that all peers used as inbound proxies may go off line the UA may repeat the search procedure after a given refresh time Tr . The UA sends every Tr a ping message to all peers used as inbound proxies to test if they are on-line. In case some or all off them are off-line it will try to contact the home/foreign domain to get a new list of on-line peers. The goal is to restore the pool of inbound proxies every Tr . This section will provide a calculation to match the number N of peers to look for and the refresh time Tr with the system outage probability (i.e. the UA does not have an inbound proxy on-line). 1) Behavior of Peer UAs: Assuming the peers may go offline and stay on-line with exponentially distributed times, if is the average on-line time period then = 1/ is the average off-line event rate for that sort of peer. Since there are many types of peers everyone with different characteristic of power consumption, bandwidth, computational power, these parameters may differ from peer to peer. For the sake of simplicity we will assume in the following that all peers have similar characteristics and therefore that is the same for all of them. Given that peer number i is on-line at time t = 0, with this assumption, it will go off-line at time t with probability : Pof f (t) = 1 et . Assuming a UA sees N peers at time t = 0, the probability that it is not reachable at time t is the probability that all peers go off-line at time t:
N N Pof f (t) = i=0 i Pof f (t)

40

50

100

150

200 250 Tr (seconds)

300

350

400

Fig. 2.

Outage probability, = 4hours

If is the working time of a peer, the distribution of the working time given that the peer go off-line in Tr is given by 1 et 0 t Tr 1 eTr If is the amount of time the UA is without on-line peers in Tr , given that it had N peers at the starting of the interval and that they are independent, is given by F (t)/Tr = F (t) = 1 et 1 eTr
Tr 0 n

0 t Tr

The average value of is given by E [ ] = = t net (1 et )n1 dt (1 eTr )n (2)

Therefore the average amount of time during which the user experience out of service in a period Tr will be: Tout = Pos (Tr ) (3)

and the outage probability (percentage of time the user experience out of service) can be calculated as Tr (4) Tr In Fig. 2 and 3 is shown the logarithmic function of the outage probability considering a set of N peers. It is easy to see that in order to have a small outage it is better to use a population of stable peers (high ) or to reduced the refresh time interval (low Tr ) instead of using a large set of peers. The outage probability is used to x an upper bound out of service during the system engineering. 3) Signaling overhead: Since the peer UAs used as inbound proxies may disappear, the signaling overhead here is due to two components: 1) signaling to maintain the set of inbound proxies; 2) signaling to check the availability of already contacted peers. Pout = Pos

(1)

Tab. I shows the probability to be off line depending on N and = 1/ . Therefore the probability the UA is not reachable (outage probability) because all its inbound proxies (peer UAs) go offline is a function of N , and Tr . It is possible to x an upper bound to the outage probability by setting properly N and Tr . 2) Outage probability: The probability Pos of an out of service event during a Tr is given by equation 1 for t Tr .

978-1-4244-2324-8/08/$25.00 2008 IEEE.


This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2008 proceedings.

0 1 2 3 log(Pout) 4 5 6 7 8 Bandwidth (byte) N=2 N=3 N=4

4.5 4 3.5 3 2.5 2 1.5 1 0.5 0

x 10

B B

std

Bfp
peer

50

100 150 (minutes)

200

250

0.5

1.5

2 2.5 t (seconds)

3.5 x 10

4
4

Fig. 3.

Outage probability, T r = 3600s

Fig. 4. Costs of registration considering treg = Tr = 3600s, breg = 1024byte, bcpl = 2048byte, N = 3, = 4hours

The latter component of the signaling is rather easy to calculate. We can assume that the UA tries to contact in parallel the N peers used as inbound proxies. The total bandwidth consumed during the search is xed because UA sends in parallel N different (ping like) messages to the N peers. If Cm is the cost of the ping-like message (a request-response exchange) the total cost is upper bounded by Cp = Cm N . This is an upper bound because not all peers will answer because are off-line. The former part of the signaling overhead is a little bit more complicate and can be calculated considering that, at the beginning of a new Tr the number of active peers is given by k that is the number of proxies that survived during the previous Tr . Pk,n (Tr ) = With the average : n (Tr ) = E [kn (t)] = k
n

is centralized by the user domain, is maximum when the registration is made is a P2P fashion and is in between when using a foreign proxy. V. C ONCLUSION In this paper we have proposed and described a serviceoriented networking architecture that, by exploiting the Session Initiation Protocol (SIP), is able to support a population of users moving within a network of trusted domains. At the best of our knowledge this proposal is original and realizes an interesting trade-off between complexity and performance. We claim that this architecture may satisfy the needs of large user communities belonging to administrations that are bound by collaboration agreements. In our view this proposal combines the exibility of a peer-to-peer connectivity network with the efcient signaling organization and management of a hierarchy of domains. Beside describing the H-SIP concept and terminology, this paper also presented an evaluation of the performance of the H-SIP in terms of cost of signaling with reference to the registration procedure. R EFERENCES
[1] J. Rosenberg, et al., SIP: Session Initiation Protocol, IETF RFC 3261, June 2002. [2] M. Poikselka, et al., The IMS: IP Multimedia Concepts and Services, 2nd ed., Wiley, 2006. [3] D. Bryan, P. Matthews, E. Shim, and D. Willis, Concepts and Terminology for Peer to Peer SIP (November 2007) draft-ietf-p2psip-concepts-01. [4] www.ag-projects.com. [5] Simone Leggio, Jukka Manner, Antti Hulkkonen, Kimmo Raati, Session Initiation Protocol Deployment in Ad-Hoc Networks: a Decentralized Approach, Proc. of International Workshop on Wireless Ad-Hoc Networks (IWWAN2005), London, UK, May 2005. [6] J. Lennox, X. Wu, H. Schulzrinne, Call Processing Language (CPL): A Language for User Control of Internet Telephony Services, IETF RFC 3880, October 2004. [7] A. Niemi, Ed., Session Initiation Protocol (SIP) Extension for Event State Publication, IETF RFC 3903, October 2004. [8] S. Cirani, L. Veltri, A Kademlia-based DHT for Resource Lookup in P2PSIP (October 2007) draft-cirani-p2psip-dsip-dhtkademlia-00

n k

eTr

1 eTr

N k

k
i=0

n k

eTr

1 eTr

N k

= net

(5)

If the user attempts to restore the number of servers N , then n (Tr ) attempts of new registrations. it will make at least N k If Cr = breg + bcpl is the cost of each one, the average cost will be: n (Tr ) Cr C (Tr ) = N k Thus, the total bandwidth is: Bpeer (t) = breg + N Cr + N breg (t/treg ) + C (Tr )(t/Tr ) The Fig. 4 shows the costs of registration in a standard SIP network, in a H-SIP with the registration through a foreign proxy and by a peer. The gures somewhat conrms our thesis that H-SIP is a compromise between centralized and P2P. The total signaling load is minimum when registration

978-1-4244-2324-8/08/$25.00 2008 IEEE.


This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE "GLOBECOM" 2008 proceedings.

You might also like