Professional Documents
Culture Documents
net/publication/232627204
CITATIONS READS
14 1,868
4 authors, including:
Neco Ventura
University of Cape Town
207 PUBLICATIONS 689 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Efficient Resource Utilization for Next generation Networks with Social Considerations View project
All content following this page was uploaded by Neco Ventura on 16 December 2014.
Abstract-The VCT IMS Client is a free open source imple- pool of potential developers and testers located around the
mentation of a 3GPP IMS Client. The project was started with the world [2]. The client, which originally offered only basic voice
goal of creating a flexible and extensible code base for researchers calling capabilities quickly grew in robustness and scale, and
and industry specialists to use the many communication services
offered by the IMS. Since its inception in 2006 the client has at the time of writing supports a multitude of features, includ-
grown, both in terms of its stability and its feature set, and is ing video calling, presence, instant messaging, authentication,
used worldwide by IMS enthusiasts as a means to experiment XML Configuration Access Protocol (XCAP) and Real Time
with IMS without any associated risks or costs. Streaming Protocol (RTSP) for video on demand applications.
This paper describes the history of the project, the software Reports from the dedicated UCT IMS Client mailing list
architecture, the supported services and provides results of the
various interoperability tests that have been performed between indicate that the client has a substantial following, particularly
the VCT IMS Client and other freely available IMS Clients. in Europe and Asia. Fig. 1 shows the relative number of
visits to the UCT IMS Client website from cities around the
I. INTRODUCTION world as reported by Google Analytics. At the University of
The 3GPP first began standardisation of the IP Multimedia Cape Town the client has been used extensively by under-
Subsystem (IMS) in Release 5 of their specifications with the graduate and post-graduate students to develop new IMS
goal to fill the need for an all-IP multimedia framework for applications, including network-stored address books, IMS
next generation mobile networks. Since then there has been multimedia servers and interactive games to name but a few.
much activity in several standardisation bodies, including ETSI This paper is dedicated to a in-depth overview of the
TISPAN, 3GPP2 and Packet Cable, to incorporate the IMS UCT IMS Client, including a look at its architecture, the
into their own specifications. However, despite the fact that dynamically linked libraries, a detailed description of the
IMS was first proposed several years ago and that there has client's features and some examples of how it has enhanced
been widespread interest in the technology worldwide, there IMS research. We then describe a recommended IMS testbed
is relatively little IMS software available to the general public. environment, similar to the one located at the University of
The Fraunhofer Institute FaKUS first identified the void Cape Town, that allows the IMS enthusiast to fully utilise
of IMS software in 2006 and consequently began developing the client's many features. Since the release of the UCT IMS
the Open IMS Core project [1]. This project encompassed Client in 2006, other IMS clients have been released freely
the core elements of an IMS network, the three Call Session on the Internet. We compare the features of these clients
Control Functions (CSCFs) and the Home Subscriber Server to the UCT IMS Client and detail the results of various
(HSS). The Open IMS Core software was released free to interoperability tests.
the public in November of 2006, under the open source GNU
General Public License version 2 (GPLv2). By releasing this II. CLIENT ARCHITECTURE
software freely on the Internet Fraunhofer FOKUS instantly The goal of the UCT IMS Client project is to produce
made the new and powerful technology that is IMS available software that is free, both in terms of cost and software
to telcos, vendors, research institutions and the general public, freedoms, that can be easily installed, operated and modified
and opened the door for all these users to try the technology by researchers looking to learn more about IMS. Therefore,
without risk or cost. Unfortunately, one key piece of the IMS the use of Linux and its many freely available libraries was a
puzzle was still not freely available: the IMS client. Although natural choice for the operating environment. An unfortunate
Fraunhofer FOKUS also released a SIP-to-IMS gateway the consequence of this choice, is that the client cannot easily be
true power of the Open IMS Core could never be realised with run in the ubiquitous Windows environment, nor can it run
a vanilla SIP client. natively on current generation mobile devices, however, this
Soon after the release of the Open IMS Core researchers does not limit the client's primary purpose as a research and
at the University of Cape Town (UCT) identified the need testing tool.
for a pure IMS client for their own research. The UCT IMS An IMS client requires several IETF protocols in order
Client project was born as an open source initiative and was to perform its various functions, such as Session Initiation
released freely on the Internet under the GPLv2 in order to Protocol (SIP) [3], Real-time Transport Protocol (RTP) [4],
encourage and drive innovative IMS research from the large XML Configuration Access Protocol (XCAP) [5], Message
Authorized licensed use limited to: TOKYO. Downloaded on June 30, 2009 at 02:19 from IEEE Xplore. Restrictions apply.
.
"
. .'
':
,. • • __.~
..
'.
I"~
:~I~._.>::-
.
.
..
::1. .-.1',-
" .... -/
" ,I "'\, I
r
.i.':/-·-~::~, ~,'
•
Figure 1. Visits to the UCT IMS Client website.
: gStreamer :
of flexibility to the program developer. gStreamer provides
I
I
1
1 modules to capture audio and video, encode the voice and
libCurl 1
libMSRP : video and packetise the resultant bit stream into RTP packets
I
IibVLC
~ J for transmission across the network.
D. libVLC
Figure 2. UCT IMS Client software architecture. The RTSP signalling functions that allow for the description,
setup and control of on-demand video streams are provided by
libVLC [13]. This library supports media trick functions such
Session Relay Protocol (MSRP) [6] and Real Time Streaming as play, pause, fast-forward and rewind.
Protocol (RTSP) [7]. The UCT IMS Client uses several
existing libraries that implement these protocols. All libraries, E. libMSRP
except for libMSRP, are dynamically linked at run-time and libMSRP provides a set of functions that allows the client to
therefore must exist on the host machine for the client to run transmit a series of related instant messages in the context of a
successfully. libMSRP is not currently available in popular session [14]. Message sessions are treated like any other IMS
Linux distributions and is therefore included as part of the session and the instant messaging data is transferred in the
client source code. data plane. Session-based instant messaging has a number of
A. oSIP and eXosip advantages over the traditional page-mode method, including
The oSIP library provides a low-level SIP stack useful for tighter integration with other media types, and brokered pri-
the creation of SIP proxies and end-points [8]. The eXosip vacy and security. libMSRP is a high-level API that provides
library on the other hand is a high-level API that abstracts simple methods to initiate, process and terminate session-based
much of the complexity of the oSIP library by providing instant messaging sessions.
methods to create SIP messages, responses and handle SIP III. CLIENT FEATURES
dialogs [9].
The first release of the UCT IMS Client supported only
B. libcurl and libxm12 basic voice calls using the j.,t-Iaw and A-law codecs. Apart
libCurl provides an HTTP stack for providing the GET and from the basic functionality of an IMS client, such as regis-
PUT commands that XCAP requires to download and upload tration with the core network, the client now also supports the
files to an XDMS respectively [10]. The XML content of following rich communications features.
the HTTP messages is created and parsed by the libXML2
A. Voice and Video Sessions
library [11].
The client can make voice and video calls with another suit-
C. gStreamer able IMS client once it has registered with its home network.
The gStreamer library provides a modular framework for The client extracts the service routes from the registration
handling many types of multimedia. Several gStreamer ele- process and routes calls to the home network S-CSCF from
ments can be linked together to form a pipeline [12]. This where they are routed to the terminating party.
Authorized licensed use limited to: TOKYO. Downloaded on June 30, 2009 at 02:19 from IEEE Xplore. Restrictions apply.
The client supports JL-Iaw, A-law, GSM and MP2 audio basic components needed to create an open source IMS testbed
codecs, and the H263 video codec. It is possible to vary the environment are described.
video codec bit-rate between three different settings in case the
bandwidth of the host device is limited. It is possible during A. IMS Core Elements
an on-going session to re-negotiate the media components. In Central to an IMS testbed are the service control layer
this case the user simply selects different media components, elements that perform IMS authorisation, signalling and ser-
codecs or bit-rate, and re-INVITES the session. vice invocation. IMS Core elements are numerous and include
gateway and media processing functions. However, for a basic
B. Presence system that supports registration and IMS session setup, only
The client supports SIP for Instant Messaging and Presence core Call Session Control Functions (CSCF) and a Home Sub-
Leveraging Extensions (SIMPLE) whereby the SIP subscrip- scriber Server (HSS) are necessary. The core CSCFs include a
tion mechanisms are utilised to subscribe to another user's Proxy-CSCF (P-CSCF), an Interrogating-CSCF (I-CSCF) and
presence status. The client can subscribe to a users presence a Serving-CSCF (S-CSCF). The P-CSCF is the first point
event and will be notified whenever the status changes or the of entry into the IMS network, and can be located in the
user goes offline. home or visited network. This element is involved with signal
It is also possible to subscribe to a list of presence watchers compression, security and resource management. The I-CSCF
- the other parties that are currently subscribed to the user's is a SIP proxy located at the edge of an administrative domain,
presence. The client subscribes to the watcher info event and can be used to encrypt sensitive information to hide
(presence.winfo) and is notified whenever a new subscription network topology. The S-CSCF is always located in the home
is made to their presence status. It is possible to authorise or network, and carries out admission control and application
block these subscriptions if the presence server supports such invocation functions. The FOKUS Open Source IMS Core
mechanisms. provides software implementations of the core CSCF and HSS
functional elements [1]. It is a 3GPP standards based software
C. Instant Messaging package that provides a reliable and comprehensive testing
The client supports the two types of instant messaging framework for IMS applications.
currently prescribed in IMS networks, pager mode and session-
based. Pager mode messages are sent in the body of SIP B. End User Equipment
MESSAGE requests whereas session-based messages are sent To interact with the IMS core and perform key IMS proce-
across the media plane, in a similar fashion that IMS separates dures like registration and session initiation, end user equip-
the signalling and media of voice and video sessions. The ment is necessary. IMS clients range in functionality from
client supports a form of typing notification to alert the basic emulators that support registration and voice calls, to
corresponding party of keyboard activity [15]. application specific clients that support a number of integrated
applications, e.g. an IMS IPtv client that specifically caters
D. Streaming Video and Video on Demand for streaming videos. At the very least, end user equipment
The client supports two modes of uni-directional video deployed in an IMS testbed should support AKAvl/2-MD5
viewing. The client can simply setup a session with a video authentication, IMS SIP signalling including pre-conditions,
server in a similar manner that it would with another IMS basic voice and video, instant messaging, presence and XCAP.
client by sending a SIP INVITE message and then negotiating Freely available end user IMS emulators include the UCT IMS
the codecs via SIP/SOP. Alternatively, the client can setup the Client [2], the FOKUS Open IC Lite, the IMS Communi-
session using the RTSP protocol. This has the added benefits cator [16] and the Mercuro IMS Client [17]; each is useful
of the previously mentioned trick-play functions that are more for different scenarios. The UCT IMS Client is particularly
suitable for video-on-demand applications, which allow the useful to Linux developers that require access to the lower
user to manipulate the incoming video feed. level architecture details in order to test and prototype new
applications.
IV. RECOMMENDED COMPONENTS OF AN OPEN SOURCE
IMS TESTBED C. Presence Support
The primary motivation for an open source IMS testbed is to Presence on the Internet is an application that allows a user
expose the complex concepts and components associated with to publish their communication status, indicating their avail-
IMS technology and Service Delivery Platforms in general to a ability and willingness to communicate. In IMS, SIP-based
wide set of developers. Such a testbed brings academia and in- presence will be a key enabler for achieving the envisaged rich
dustry together, and helps accelerate technology development multimedia experience. As a service enabler, presence infor-
and acceptance. From the research point of view these testbeds mation can be incorporated into any number of services, e.g.
facilitate easy prototyping and experimentation with new ideas, IPtv, a presence enabled address book, etc. In an IMS testbed
and provide a safe and controlled area where technologies, a presence server should allow end users, or "presentities" as
protocols and applications can be analysed, separate from the they are known, to publish their status as well as allowing them
live environment and associated hazards. In this section the to subscribe to other presentities, becoming watchers. The
Authorized licensed use limited to: TOKYO. Downloaded on June 30, 2009 at 02:19 from IEEE Xplore. Restrictions apply.
Table I
FEATURE SUMMARY OF UCT IMS CLIENT, FOKUS OPEN IC LITE, IMS COMMUNICATOR AND MERCURO IMS CLIENT.
VCT IMS Client FOKVS Open IC Lite IMS Communicator Mercuro IMS Client
Registration AKAvl/2-MD5; MD5 AKAvl/2-MD5; MD5 AKAvl-MD5; MD5 AKAvl/2-MD5; MD5
IMS signalling
PRACK support No PRACK support PRACK support PRACK support
Pre-condition support No pre-condition Support Pre-condition support Pre-condition support
Media Support Audio / Video Audio Audio / Video Audio
Presence Support
Presence support No presence support No presence support Presence support
Watcher authentication Watcher authentication
Instant Messaging Pager mode / Session-based Pager mode No support Pager mode / Session-based
XCAP Support XCAP support No XCAP support No XCAP support XCAP support
Platform Linux Windows / Linux Windows / Linux Windows
License GPLv3 Free, Closed Source LGLP Free, Closed Source
----.f~-
Application
D. XML Document Management Support
SIP
.a
XML Document Management (XDM) is an Open Mobile Diameter
BOPENSOURCEI
HTTP
Alliance enabler that is standardised and widely accepted as SQL
an IMS application that can be used for the storage and
retrieval of XML documents from a centralised server in the 6i·····;:··::~Bi
-=t* . #<:
J.aa II S<SCf
Service Control
Authorized licensed use limited to: TOKYO. Downloaded on June 30, 2009 at 02:19 from IEEE Xplore. Restrictions apply.
these results are easily repeatable. Note that as of December functionality, and can subscribe to another clients presentity.
2008 all of these clients are under active development. The The verdict for this test case is either SUCCESS or FAILURE.
FOKUS Open IC Lite is a free version of the Open IC that Fig. 6 shows the test arrangement.
contains only a subset of the full Open IC client features.
Table I summarises the client features.
A. Testing Methodology
To evaluate basic interoperability, test cases are defined for
IMS session initiation, media support, presence support and
instant messaging support. To evaluate session initiation, the Subscribe
Ej
UCT IMS Client initiates an IMS audio session with each other to presentity
8
client, and signalling is analysed. The purpose of this test is to
verify whether the UCT IMS Clients can successfully establish
IMS sessions with other clients, whether pre-conditions are
supported, and whether sessions can be renegotiated. The System Under Qualified
Test Equipment
verdict for each of these test steps is either SUCCESS or
FAILURE. Figure 4 shows the test arrangement. Figure 6. Test arrangement for presence test case.
~e~
Instant Messaging (1M) support is an important character-
istic of an IMS client. This can be achieved using the SIP
MESSAGE methods known as Pager mode 1M, or using the
8
/ Session
To evaluate the clients ability to support instant messaging,
Client 1 Initiation
i£<
~;.,.:.:.'~,: ~.,.).,
( '.;•.:• . . Client
' .2
:. .\'.•;.'
.<'
the UCT IMS Client initiates a pager mode and session-
based (where applicable) 1M exchange with all other clients -
System Under Qualified and vice versa. The purpose of this test is to verify whether
Test Equipment each client can process pager mode and session-based instant
messages, and whether writing notification is supported. The
Figure 4. Test arrangement for session initiation test case.
verdict for each of these test steps is either SUCCESS or
FAILURE. Fig. 7 shows the test arrangement.
r
To evaluate media support, audio and video sessions are
E1\
established between the UCT IMS Client and all other client
implementations. The audio and video streams are analysed by
€:,
a human user. The purpose of the test is to verify whether each P
client can establish satisfactory media sessions with the other
8
clients. The verdict for this test case is either SUCCESS or
FAILURE, the quality of the video and audio is not examined.
Fig. 5 shows the test arrangement.
Session-
System Under based 1M Qualified
t:~
Test Equipment
8 .:--------.:. t:o:)
System Under
AudioNideo streams
Qualified
B. Results
Table II summarises the results of the inter-operability
tests - each test case is evaluated to either SUCCESS or
Test Equipment FAILURE. As a benchmark the UCT IMS Client, when
tested against itself, was successful for all test cases. For
Figure 5. Test arrangement for media test case. the session initiation test case, basic SIP signalling was
successful for all clients, however when enabling PRACK and
To determine whether each client sufficiently supports SIP- particularly pre-condition support, the clients exhibited poor
based presence, the UCT IMS Client uploads presence infor- interoperability. Audio sessions were successfully established
mation, and all other clients become watchers and subscribe between the UCT IMS Client and all other clients, though
to this presence information - and vice versa. The purpose between the UCT IMS Client and the FOKUS Open IC Lite
of this test is to verify whether the clients support presence the sound quality was very poor and the audio stream was
Authorized licensed use limited to: TOKYO. Downloaded on June 30, 2009 at 02:19 from IEEE Xplore. Restrictions apply.
Table II
SUMMARY OF INTER-OPERABILITY TESTS BETWEEN UCT IMS CLIENT AND OTHER CLIENT IMPLEMENTATIONS.
View publication stats Authorized licensed use limited to: TOKYO. Downloaded on June 30, 2009 at 02:19 from IEEE Xplore. Restrictions apply.