0% found this document useful (0 votes)
23 views

Fast Connect Procedure For Session Initiation Protocol Using Cached Credentials

Uploaded by

vivek15012004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Fast Connect Procedure For Session Initiation Protocol Using Cached Credentials

Uploaded by

vivek15012004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Fast Connect Procedure for Session Initiation

Protocol Using Cached Credentials


Vineet Menon, S. V. Kulgod, Jagadeesh Bangalore
Grid and Networking Section
Computer Division
Bhabha Atomic Research Centre, Trombay
Mumbai 400085, India
Email: {mvineet, svkulgod, jag}@barc.gov.in

Abstract—SIP initiates a call using a three way handshake


between User Agents (UAs). Each time a SIP UA initiates a call, SDP
it has to perform capability negotiation which involves resolving
the caller, selecting an audio codec or a video codec among other Application
things.
In this paper, we have proposed a novel scheme for reducing SIP RTP/RTCP RTSP
the size of INVITE messages by enabling caching at the UAs.
We propose to prevent the transmission of Session Description
Protocol messages, which are used for capability negotiation, TCP UDP Transport
where-ever possible. Instead, we make UA remember the
capabilities of the other end and act upon it intelligently. We have
made attempts to make our modification backward compatible Physical/
and in conformance with SIP RFC 3261. The capabilities will Ethernet/IP
Network
be saved in persistent storage of each UA and will be updated
periodically to conform with the in-call INVITE messages.
This proposal will effectively reduce the message size of both Fig. 1. SIP Protocol Stack
INVITE and the impending response (180/Ringing or 200/OK)
message by half. Under ideal conditions, we get two messages
with half the original size. If either end fails to follow to this
procedure, SIP codec negotiation will revert back to the original protocols as it does not reserve resources or establish circuits
Session Description Protocol exchange without any overhead as (virtual or real) in the network” [8]. “SIP is part of the
described in RFC 3264. overall IETF multimedia architecture which includes The
Real Time Transport Protocol(RTP) for transporting audio,
I. I NTRODUCTION video and other time sensitive data, the Real Time Streaming
The ‘Session Initiation Protocol (SIP)’ [6] is an Protocol (RTSP) for controlling on-demand media stream, the
application-layer control protocol for creating, maintaining, Session Description Protocol(SDP) for describing the session
and tearing down sessions for various types of media parameters, Telephony routing Over IP(TRIP) for determining
including voice, video, and text. SIP is being used for many the best gateway for routing calls to & fro IP and Public
media-oriented applications such as Voice over IP (VoIP), Switched Telephone Network (PSTN), as well as a suite
voicemail, instant messaging, presence, IPTV, network gaming of resource management and multicast address allocation
and other applications which is causing it’s importance to grow protocols” [8]. Figure 1 illustrates the SIP protocol stack
rapidly. SIP has become very popular academically because overlayed on TCP/IP.
it has acquired the role of the main protocol for the ‘IP Before a session could be set up, session parameters, which
Multimedia Subsystem (IMS)’, which forms the basis for the helps in describing the session needs to be delivered to the
‘3rd-Generation Partnership Program (3GPP)’ for both wired user which in-turn mandates the discovery of user. The session
and wireless telecom services. SIP relies on an archipelago description is delivered as an opaque body to the UA as SIP
of servers, which caters to many functionalities including is independent of the type and other parameters of a session
but not limited to maintaining the locations of users and [8]. Hence, it’s referred to as transport agnostic protocol.
forwarding SIP messages across the application-layer SIP Analogous to an email, the user can change the location of his
routing infrastructure towards their final destination(s) [2]. videoconference (VC) device without affecting their unique
In setting up sessions, SIP acts as a signalling protocol, identifier or can even use different devices, thus ensuring
providing services similar to telephony signalling protocols complete user mobility. ‘The identifier as is the case with
such as Q.931 or ISUP, but in the context of internet protocols. email addresses can be assigned either by their telephony
“SIP greatly extends the functionality offered by its telephony service provider or professional affiliation’. Moreover, a
predecessors. SIP also differs from telephony signalling single user can effectively be present at different locations

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

2014 International Conference on Advances in Computing,Communications and Informatics (ICACCI) 323


in a session generates an SDP message which forms the offer c) GUI of VC system prompts the user at UAC as
- the set of media streams and codecs which the offerer wishes well as UAS to save the credentials of each other,
to use and the IP addresses and ports on which it would like so that they can connect faster subsequently. Users
to receive media stream. This SDP offer is delivered to the at either end use their discretion to do so.
other participant, often called as the answerer. The answerer d) Once the user gives permission for caching of data,
generates an answer which is also an SDP message which UA will create a tuple (AORUAS , SDP). The SDP
is used to respong to the offer provided by the offerer. “The in this tuple is the negotiated SDP. Here AORUAS
answer has a matching media stream for each stream in the is Address of Record of UAS.
offer which in-turn indicates the acceptance status of each e) This process can be done independently at either
stream”. It contains the codecs, IP addresses and the ports end without any need for coordination.
which the answerer requires to receive media [5]. 2) UAC has cached the credentials of UAS in persistent
III. M OTIVATION FOR THIS WORK store
a) UAC needs to initiate the call to UAS at AORUAS .
During our work on SIP, we have come across SIP as
b) UAC does the address resolution with registrar to
a protocol which uses centralised servers, but research is
get the IP address.
going on to make it a resilient peer-to-peer protocol for call
establishment [3]. SIP acts efficiently in an ad-hoc system i) UAC checks to see if it has a cached credential
wherein one needs a very basic setup for call establishment. corresponding to AORCallee in its own record.
Hence, it could be used well in a harsh environment where the ii) A unique 128 bit ID is generated by computing
infrastructure support is minimal and the network is dynamic. the MD-5 checksum of the concatenation of its
SIP in its core can use any transport, but when it uses own AOR and SDP.
UDP performance reduces in a noisy channel because of lack cachedCredential = m(AORU AC ||SDP )
of error correction and detection. Noise in the medium can
cause burst errors [10]. One way to minimise this effect is by We, in this paper will call it cachedCredential.
reducing SIP message length, so that lesser number of bits are iii) UAC creates an INVITE message for AOR2
affected by the noise burst. with a header “cachedCredential” and puts the
Our proposed enhancement will mitigate both these issues unique ID generated in previous step against it
to varying extents. and sends it to UAS.
iv) UAS on receiving the INVITE message with
IV. P ROPOSED I MPROVEMENT a header “cachedCredential” checks its own
In our proposed algorithm, every UA will have a persistent credential store for a record corresponding
storage where data can be stored and retrieved by the UA. We to AORCaller . If it contains a record, it will
will use the data cache in the storage for session establishment. compute its own MD-5 hash for concatenation
of the SDP field which it got in the local store
A. Prerequisites and AOR of caller.
1) UAs have a persistent RW storage into which they can
store and retrieve credentials. m(AORU AC ||SDP )

B. Algorithm v) In case, UAS gets a match between


cachedCredential and the hash generated
This can be broken down into two scenarios– field in previous step,
1) In the first scenario, the UAC which initiates the A) It will send success/failure response codes
call doesn’t have the “credentials” with it. The word depending on the situation as explained
credential here means the capabilities which both phones in [6] along with the same header
needs to exchange before initiating a call. “cachedCredential” with same value as sent
2) In the second case, the UAC has already stored the by UAC.
credentials in persistent storage, and is now initiating B) UAC on receiving the status code
the call. response from UAS along with the
We elaborate each scenario one by one as below– same cachedCredential-ID knows that UAS
1) UAC doesn’t have the credentials of UAS stored recognised the credential and responded
a) The UAC proceeds as defined in [6] by sending an correctly.
INVITE message with an SDP as offer for session C) UAC will send ACK eventually, depending
establishment. on the situation to UAS.
b) UAS in turn sends handshake response message vi) If UAS fails to get the data corresponding to
180 Ringing or 200 OK to UAC, and eventually the cachedCredential-ID sent by UAC, UAS
UAC sending ACK to complete the three way will revert back to the classical capability
handshake to establish the session. negotiation as defined in [5], but this time it will

324 2014 International Conference on Advances in Computing,Communications and Informatics (ICACCI)


act as offerer and send a SDP offer to UAC in 1 GiB memory and an Intel Core 2 Processor @ 1.66 GHz.
the response message (1xx or 2xx) depending Figure 4 illustrates the experimental set-up used for simulation.
on the situation.
c) If UAC doesn’t have a cached credential in its data
store, then UAC will begin the traditional SDP
offer/answer model of capability negotiation.
3) During call if one of the UA’s receive an INVITE
modified SIPp modified SIPp
message for session parameters renegotiation. Kamailio
call initiator call terminator
a) if during a call, one of the UA receives an Server
INVITE message from the other end, it means
Fig. 4. The experimental setup for shortening of SIP messages
that the remote end wants to renegotiate the
session parameters, this automatically invalidates
the cached SDP parameters and the UA’s initiate a We also tested the shortening of SIP messages for mitigation
new capability negotiation session. of harmful effects from noisy channel by using a network
b) This recently negotiated parameters are then stored simulator. The network simulator was designed to emulate
against the respective remote end AOR. network with varying bit error rates. We changed the error
rates and since modified message was lesser in volume, it
Figure 3 illustrates the algorithm in action wherein both
suffered less damage.
an original message and the corresponding modified message
with reduced size are shown. VI. R ESULT
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 109.135.10.100 200
Authorization: PGP version=5.0, signature=...
From: Vineet Menon < sip:[email protected] > 180
To: S. V. Kulgod < sip:[email protected] > Call rates (cps)
Call-ID: [email protected] 160
Subject: Mr. Kulgod, how do you do?.
140
Content-Type: application/sdp
Content-Length: ...
120

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

b) with SDP payload Fig. 5. Call Rate Measurements

INVITE sip:[email protected] SIP/2.0


Via: SIP/2.0/UDP 109.135.10.100
Authorization: PGP version=5.0, signature=...
From: Vineet Menon < sip:[email protected] >
400
To: S. V. Kulgod < sip:[email protected] >
Response time (ms)

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

2014 International Conference on Advances in Computing,Communications and Informatics (ICACCI) 325


to the lower buffer requirement in the server which enabled R EFERENCES
the server in servicing messages faster and more efficiently. [1] H. Fathi, S.S. Chakraborty, and R. Prasad. “On SIP
session setup delay for VoIP services over correlated
fading channels”. In: Vehicular Technology, IEEE
100 Transactions on 55.1 (2006), pp. 286 –295. ISSN:
Average bit error

0018-9545. DOI: 10.1109/TVT.2005.861213.


[2] B. L.-L. V. Hilt. “Session initiation protocol (SIP)
overload control”. In: SIPPING Working Group -
10−1
Internet Draft (2009). (work in progress). URL: http :
10−5 10−4 10−3 10−2
//tools.ietf.org/html/draft-hilt-sipping-overload.
Error probability [3] Pelagie Houngue, Roch Glitho, and Ernesto
Original Algorithm Modified Algorithm
Damiani. “A novel architecture for a Peer-to-Peer
Fig. 7. Network Error Simulation
Session Initiation Protocol”. In: Computers and
Communications (ISCC), 2010 IEEE Symposium on.
2010, pp. 728 –733. DOI: 10.1109/ISCC.2010.5546739.
Figure 7 is the result of error simulation in the network.
[4] M. Ohta. “Performance comparisons of transport
As shown, the error rates increases with the network error
protocols for session initiation protocol signaling”. In:
probability. When SIP uses UDP, a single bit error can make
Telecommunication Networking Workshop on QoS in
the whole packet unusable. With reduced message sizes, burst
Multiservice IP Networks, 2008. IT-NEWS 2008. 4th
errors as well as random errors will do less damage to call
International. 2008, pp. 148 –153. DOI: 10 . 1109 /
setup.
ITNEWS.2008.4488145.
[5] J. Rosenberg and H. Schulzrinne. An Offer/Answer
VII. C ONCLUSION Model with Session Description Protocol (SDP). RFC
The improvement proposed in the existing standards 3264 (Proposed Standard). Updated by RFC 6157.
improved the throughput and latency of SIP messages which Internet Engineering Task Force, June 2002. URL: http:
pass through SIP server considerably as shown in section VI. //www.ietf.org/rfc/rfc3264.txt.
This improvement is in concurrence with the expected result [6] J. Rosenberg et al. SIP: Session Initiation Protocol.
of reducing the message size of SIP messages. RFC 3261 (Proposed Standard). Updated by RFCs
3265, 3853, 4320, 4916, 5393, 5621, 5626, 5630, 5922,
The results also shows superior noisy channel characteristics
5954, 6026, 6141. Internet Engineering Task Force,
of SIP when the message size is reduced because it random
June 2002. URL: http://www.ietf.org/rfc/rfc3261.txt.
noise and burst noise has lower chance of corrupting a packet
[7] Travis Russell. Session Initiation Protocol SIP:
of lesser length.
Controlling Convergent Networks. McGraw-Hill
Communication Series, 2008, p. 23.
VIII. F UTURE W ORK [8] H. Schulzrinne and J. Rosenberg. “The Session
In this paper, we have carried out simulations in a lab scale Initiation Protocol: Internet-centric signaling”. In:
environment. As future work, we propose to carry out even Communications Magazine, IEEE 38.10 (2000), pp. 134
more realistic simulations and data generation, as in a carrier –141. ISSN: 0163-6804. DOI: 10.1109/35.874980.
grade environment. [9] K.K. Tam and H.L. Goh. “Session Initiation Protocol”.
In: Industrial Technology, 2002. IEEE ICIT ’02. 2002
IEEE International Conference on. Vol. 2. 2002, 1310
ACKNOWLEDGEMENT
–1314 vol.2. DOI: 10.1109/ICIT.2002.1189367.
The authors gratefully acknowledge the invaluable guidance [10] G. Xylomenos and G.C. Polyzos. “TCP and UDP
and help, both technical and moral from Shri. A. G. Apte, performance over a wireless LAN”. In: INFOCOM
Former Head, and Shri. R. S. Mundada, Head, Computer ’99. Eighteenth Annual Joint Conference of the IEEE
Division. The authors also acknowledge the assistance of Computer and Communications Societies. Proceedings.
Computer Division, Bhabha Atomic Research Centre for IEEE. Vol. 2. 1999, 439 –446 vol.2. DOI: 10 . 1109 /
providing facilities for conducting this research. INFCOM.1999.751376.

326 2014 International Conference on Advances in Computing,Communications and Informatics (ICACCI)

You might also like