Fast Connect Procedure For Session Initiation Protocol Using Cached Credentials
Fast Connect Procedure For Session Initiation Protocol Using Cached Credentials
978-1-4799-3080-7/14/$31.00 2014
c IEEE 322
by different network terminals simultaneously. “Thus, SIP User Agent 1 SIP Proxy Server User Agent 2
could be thought of as an application-layer anycast, with I NVITE
the SIP network entities performing application-layer level 100 Trying
routing”.[8]. I NVITE
This paper proposes a novel scheme for reducing the size of 180 Ringing
INVITE messages. Since the major bulk of INVITE message 183
composed of SDP payload, which is used for capability 200 OK
negotiation; caching up of remote capabilities can free up ACK
the INVITE messages of much ‘bytes’. Instead we use local 200 OK
memory at UAs for saving the negotiated capabilities of ACK
remote UA. This will reduce the message size of INVITE
messages by enormous amount which will eventually reduce B YE RTP Traffic
the chance of a message getting corrupted or a SIP server 200 OK
getting overloaded. B YE
200 OK
The rest of the paper is organized as follows. Section II
describes SIP and various components involved in setting up
a session including but not limited to message exchanges. Fig. 2. A typical Call Setup
Section IV details out the proposed algorithm and will describe
the pre-requisites. At the same time it describes the fall back
algorithm in case a user agent involved in a session fails SIP used UDP for transport because of its superior real time
to conform to the proposed algorithm, thus making this it characteristics, performance and scalability [9], but recent
backward compatible with existing standards. The sections study shows that TCP, because of its connection-oriented
following that delineates the experimental test-bed, results and behaviour, results in lower packet loss and higher resilience.
discussion about the improvement in performance. Finally, In short, TCP is better in call throughput while UDP is better
section VIII concludes the paper and provides directions for for lowering call setup delay [4]. Another study estimates that
further work. using UDP uses 30% less call setup time than TCP [1].
II. SIP A RCHITECTURE AND C OMPONENTS B. SIP Messages
A. SIP Entities SIP messages are inspired from HTTP messages which
SIP needs only a few entities to describe it, in entirety. The are in the form of Request-Response. SIP messages contain
main network elements are– “headers” as in HTTP messages. Headers have specific
1) User Agent (UA) meaning according to the context. Dialog-ID, session-ID are
a) User Agent Client (UAC) maintained by using these headers. As in HTTP, request
b) User Agent Server (UAS) messages start with a METHOD, while a response starts with
a STATUS CODE.
2) Servers
a) Registrar Server C. SIP Call Flow
b) Proxy Server SIP uses three way handshake for session initiation and
c) Redirect Server a two way handshake for session termination. The initiation
For most practical purposes, the servers are co-located in procedure requires the User Agent Client (UAC) to send
one single machine but nothing prevents them from being an INVITE message to User Agent Server (UAS). The
physically different. SIP entities establish a “dialog” with message contains Session Description Protocol (SDP) payload
other SIP entities. If a UA chooses to accept a call from which contains the session parameters as proposed by UAC.
another UA, it responds to the request sent by the initiator To accept the call from UAC, UAS will send a 200 OK
by exchanging a response and other related messages and response which will contain another SDP payload containing
enters into a “dialog” with the initiator UA. A “session” is the negotiated session parameters. Figure 2 illustrates a call
different from a dialog, in that a session can involve multiple setup between 2 UAs and a proxy.
user agents communicating with each other, as would be the
case in a multiparty conference call. This allows the UAs to D. Capability Negotiation
correlate responses from each individual UA and treat them Each time a UAC wants to initiate a call to a UAS, it sends
independently even though they all are participating in same an invite message with SDP payload to UAS for capability
session [7]. negotiation. Capability negotiation is an important part of SIP
As far as SIP is concerned, it doesn’t assume anything about handshake, for it determines the codecs and bandwidth to be
the underlying protocol. RFC 3261 doesn’t mandate the use used for the call.
of any transport protocol. SIP can run over any datagram or Capability negotiation is accomplished by SDP by
stream protocol TCP, UDP, ATM or frame relay. Traditionally, offer/answer model in SIP. One of the constituent participant
v=0
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
o=bell 53655765 2353687637 IN IP4 128.3.4.5
Interval (s)
c=IN IP4 135.180.144.94
Original Algorithm Modified Algorithm
m=audio 3456 RTP/AVP 0 3 4 5
Call-ID: [email protected]
300
Subject: Mr. Kulgod, how do you do?.
Content-Type: application/sdp
Content-Length: ... 200
CachedCredential: 0bdbb25ee5dfdfc2f564741dbc17368f
100
a) without SDP payload
0
0 200 400 600 800 1,0001,2001,4001,6001,8002,0002,2002,4002,6002,8003,0003,200
Fig. 3. INVITE messages depicting the message shortening scheme
Message Number
Original Algorithm Modified Algorithm
V. E XPERIMENTAL T EST S ETUP Fig. 6. Response Time Measurements for Cached Credential Algorithm
For getting the performance metric, we first implemented
our modifications in SIPp, an open source SIP test tool, which Figure 5 and 6 are the simulation result for the call
sends a huge amount of traffic to either another UA or to a establishment parameters. The data set was obtained for 30
SIP server. We tested out the server overload with a Kamailio seconds in which SIPp initiates approximately 3,300 calls.
installation without MySQL support on a desktop PC with SIPp saves the test results in a file after the test completes.
Intel Core 2 processor @ 3 GHz with 2 GiB memory. The former plot is for the increase in the call throughput
Kamailio was set in strict routing mode wherein each and of Kamailio. The call rates have an improvement of about
every packet is intercepted by Kamailio. This is suitable 30% over the original call rates. While the later plot shows
in an environment where it’s imperative that the network the improvement in the latency in millisecond, which is
administrator wants full control over the calls being made another important call performance indicator. In the improved
through the infrastructure. SIPp was executed on a laptop with algorithm, call latency improved as well. This can be attributed