Professional Documents
Culture Documents
LB and while the initial message (e.g. INVITE) goes through the
3. IMPLEMENTATION DETAILS LB the subsequent messages for the same session go directly to
The LB is an add-on entity which is responsible to query DNS and the selected by the LB SIP proxy.
maintain SRV records of all the available SIP proxies in the
corresponding domain. For each SIP client’s request the LB is
responsible to forward the request to the most appropriate SIP
proxy, in terms of workload, to serve it. In other words, as
described in Figures 2 and 3, SIP clients firstly communicate with
the LB entity to find out the best SIP proxy available. If the LB is
not responding the SIP client can communicate directly with the
DNS to retrieve all the available SRV records corresponding to
SIP servers in the domain and select one.
Figure 4. Call flow between all the involved entities (The Via in In our opinion the most compatible with the RFC 3261 of
brackets means optionally (depends on the solution selected, see below) heardbeating functionality is the utilization of SIP-Specific Event
Notification [11] due to the fact that, it has been designed as a
One other transparency problem that emerged with the utilization framework by which SIP components can request notification
of the LB is that the subsequent requests belonging to the same from remote nodes indicating that certain events have been
dialog must not pass through the LB. For this reason it is occurred. In this case the LB forks and send a SUBSCRIBE
suggested the SIP proxies in the home network, to introduce the request to all the available SIP proxies. Consequently proxies
Record-Route header field [9]. By doing this, the clients would responds to SUBSCRIBE request with NOTIFY message. LB
then send follow-up requests regarding that session to the home needs to refresh subscriptions on a periodic basis using a new
SIP proxy assigned by the balancer in the first place. This should SUBSCRIBE message on the same dialog as defined in RFC
then not forward them to the request-URI (the LB) but process 3261. When a certain SIP proxy does not send NOTIFY messages
them by itself. In addition, this solution even has the advantage during a pre-set time period then it is considered unavailable. The
that new calls are load balanced because the route set is valid only body of NOTIFY messages can carry all the necessary
for one session. information like CPU load, memory consumption or even
As already mentioned earlier, an orthogonal to the proposed introduce new headers like WORKLOAD_INFO. Such a header
balancing method, as in AAlarm algorithm, is to enable the SIP can have the following general structure: WORKLOAD_INFO =
home proxies to dynamically inform at any time the LB entity {CPU_USAGE, MEMORY_CONSUMPTION, etc}. However,
when some workload parameters (e.g. concurrent number of SIP such information must be considered vulnerable to malicious
transactions) exceed a specified threshold. For example, consider modifications it is suggested to utilize S/MIME to protect either
the case where suddenly one or more SIP proxies are under a the header or the body from malicious modifications. Moreover,
DoS/DDoS attack. In fact, this capability requires the installation the exchanged messages (see Figure 6) are lightweight having
minimum impact on home SIP proxy servers’ performance and communication only the last two arrows are present.
network bandwidth. In case the SIP proxy initiates the
SIP Home Servers
0% 8%
A
23%
B
23% C
0% D
8% E
38%
5. ACKNOWLEDGMENTS
This work was conducted with the support of the EC under the
2005 project COOP-005892 - SNOCER
The authors would like to thank the FhG FOKUS (DE) and the
Nextsoft (CZ) SNOCER partners for their contribution to this
work
6. REFERENCES
[1] T. Brisco, DNS Support for Load Balancing, RFC 1794,
Figure 6. Indicative communication protocol between the April 1995.
Balancer and SIP proxies
[2] Vovida.org, Load Balancer Proxy Readme, Version 1.0.0,
We should also mention that user location database is another
July 2002 (www.vovida.org).
important issue that is related with the balancing scheme. There
are two alternatives. First, to use a shared by all proxies database [3] M. Colajanni, P. S. Yu & D. M. Dias, Analysis of task
and secondly to have more databases that are replicated real-time. assignment policies in scalable distributed Web-server
As the first solution introduces a sensitive single point of failure systems, IEEE Transactions on Parallel and Distributed
we intent to select the second one. However, this issue remains out Systems, 9(6), June 1998.
of the scope of this paper. [4] M. Colajanni, P.S. Yu, D.M. Dias, Scheduling algorithms for
distributed Web servers, 17th IEEE International Conference
4. CONCLUSIONS on Distributed Computing Systems (ICDCS '97), 1997.
As VoIP deployments continue to increase and become adopted [5] R. J. Schemers III, Ibnamed: A load balancing name server in
by more and more commercial organisations, reliability and Perl, in LISA ’95 conference, Stanford University, Sept.
availability issues turn out to be increasingly important. In this 1995.
context, balancing the load of SIP transactions raises as a major
factor in terms of high availability, redundancy and QoS. Despite [6] T. Shimokawa, N. Yoshida & K. Ushijima, DNS-based
the different balancing approaches that have been proposed and Mechanism for Policy-added Server Selection,
developed for Web applications, until now, no SIP-oriented http://www.tenbin.org.
complete balancing solution has emerged.
[7] A. Gulbrandsen, P. Vixie & L. Esibov, A DNS RR for
specifying the location of services (DNS SRV), RFC 2782,
Feb. 2000.
[8] T. Dagiuklas, D. Geneiatakis, G. Kambourakis, D. Sisalem,
S. Ehlert, J. Fiedler, J. Markl, M. Rokos, O. Botron, J.
Rodriguez & J. Liu, General Reliability and Security
Framework for VoIP Infrastructures, http://www.snocer.org,
Aug. 2005.
[9] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J.
Peterson, R. Spark, M. Handley & E. Schooler, Session
Initiation Protocol, RFC 3261, June 2002.
[10] Janak, J., Kuthan, J., Iancu, B., SIP Express Router v0.8.8,
Developer’s Guide, http://www.iptel.org.
[11] A. B. Roach, Session Initiation Protocol (SIP)-Specific Event
Notification, RFC 3265, June 2002.
[12] T. Dierks & C. Allen, The TLS Protocol Version 1.0, RFC
2246, Jan. 19