Introduction

The UCT IMS Client is designed to be used in conjunction with the Fraunhofer FOKUS Open IMS Core. The client has been developed by the Communications Research Group at the University of Cape Town, South Africa. At present the client is still in active development and there are several known bugs.

The client supports AKA authentication, and emulates IMS signaling as far as possible. The current version supports voice and video calls (numerous codecs), pager-mode and session-based instant messaging, Presence, an IPtv viewer and an XCAP client.

Several related projects have resulted from the UCT IMS Client - most notably UCT Advanced IPTv and UCT IPTv Streaming Server, The UCT Policy Control Framework, UCT Back-to-Back User Agent, UCT IMS Charging Framework.

All software is released under the GNU General Public License version 3 - for more information see the GNU General Public License.


Citation

This information is for paper authors who want to cite the UCT IMS Client and related software in their publications. The links below will point you to the actual papers.

To cite the UCT IMS Client http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4976254&isnumber=4976181

To cite other related UCT IMS software http://portal.acm.org/citation.cfm?id=1390576.1390627

Latest News

1 June 2009 - UCT IMS Charging Framework v 1.0.1 is now available for download - it utilizes and enables session based charging for the UCT advanced IPtv server. It comprises of a CTF, CDF and OCS to provide online and offline charging. See the How To guide for details..

15 January 2009 - UCT IMS Client v 1.0.13 is now available for download - additions include general bug fixes and standards compliance, and Ubuntu Intrepid compatibility.

7 July 2008  - UCT advanced IPTv is now available for download. This uses an Indirection AS and a media server to setup an RTSP session.  See the How To guide for details.

7 July 2008 - The latest version of the UCT IMS Client v 1.0.12 is now available for download - additions include general bug fixes, improved standards comformance, MSRP (Session based Instant Messaging) support and RTSP support. 

15 May 2008 - The latest gStreamer libraries have moved RTP packet validation and this causes incompatibility problems when using the UCT IMS Client NAT Traversal method.  Until this is resolved in the gStreamer libraries the NAT Traversal method has been removed.

5 May 2008 - The Ubuntu Hardy release contains an updated version of the eXoSIP/oSIP libraries - all software that uses this library has been updated and re-released.

5 May 2008 - The latest version of the UCT IMS Client v. 1.0.10 is now available for download - additions include general bug fixes, Ubuntu Hardy compatability, improved XDMS error detection and re-direction support.

5 May 2008 - The latest version of the UCT Policy Control Framework v. 1.0.2 is now available for download - additions include general bug fixes and standardisation improvements, policy overhaul and improved policy enforcement and RTP Proxy support.

Download

Choose your version number below. We recommend using the most recent version. A Debian / Ubuntu package is available for 1.0.4 and above.

Version Number Date Description
1.0.13 13 February 2009 Ubuntu Intrepid compatibility.

General bug fixes and improved standards conformance.

1.0.12 7 July 2008 Added MSRP and RTSP support.

General bug fixes and improved standards conformance.

Incorporated EPG for UCT Advanced IPTv.

1.0.11 15 May 2008 Removed NAT traversal method until further notice - to be compatible with gStreamer libraries.

General memory management fixes.

Added MP2 audio codec support.

1.0.10 26 April 2008 Due to changes in the gStreamer library and the removal of RTP packet validation, this version is unavailable until further notice.
1.0.9 28 Jan 2008 Added option to turn off hardware acceleration for IPtv client.
1.0.8 6 Nov 2007 Client now compatible with Ubuntu Gutsy.

Added IPtv client (see the how-to guide for installation instructions for the IPtv server) and fixed some bugs with SDP negotiation. Instant messenger gives remote typing notification.

1.0.7 5 Oct 2007 Fixed a bug that caused the client to crash on receiving a SIP message without an SDP body.
1.0.6 19 Sep 2007 Removed the SIP mode since it was no longer maintained.

Moved the media over to the gstreamer library. The client now supports video calling (if you have a webcam) and three different audio codecs.

There is also an improved XDMS management tool.

1.0.5 27 Jun 2007 Added support for back-to-back user agents. See the how-to guide to set up your own click-to-dial server in your network.

Added support for presence rules using XCAP. See the OpenXCAP wiki for details on setting up your own XCAP server.

Added support for re-inviting sessions for media interface hand-over during a call.

1.0.4 30 May 2007 Added presence functionality according to RFC 3856 (A Presence Event Package for the Session Initiation Protocol) and RFC 3863 (Presence Information Data Format). You will need a presence server to use the presence functions.

Also added is a new display window for improved debugging.

1.0.3 29 Mar 2007 PRACK mechanism now compliant to RFC. Support for more than one service route. Registration and call setup timers to determine network delay.
1.0.2 23 Feb 2007 Fixed problems with register. New reg event tab. Better support for RFC 3312.
1.0.1 21 Jan 2007 Suitable for OpenIMS Core Revision 84 and later.
1.0.0 18 Dec 2006 Due to changes in the authentication algorithm this version was only compatible with OpenIMS Core Revision 83 and earlier and has been deprecated.

 

Requirements

If you are compiling from the source code (.tar.gz file)

  • Linux-based operating system
  • libosip2
  • libexosip2
  • libgtk2-0
  • libxml2
  • libcurl3
  • libgstreamer0.10-0
  • libgstreamer-plugins-base0.10
  • libvlc
  • vlc
  • N.B. Include the -dev libraries for the above packages - if you have compilation errors you are probably missing one of the above development libraries.
  • Ensure that you have the good, bad, ugly and ffmpeg (including libavcodec-unstripped-51 and libavcodec-unstripped-52 packages) gstreamer plugins or some of the media options will not work. However, these are not required during compilation.
  • When using Ubuntu Jaunty you need to rebuild the gstreamer plugin list for video encoding to work:

                      rm -rf /home/$user_name/.gstreamer-0.10/

  • Version 1.0.5 and earlier require libortp and the libalsa libraries to compile.

The above packages are all in the standard Ubuntu Gusty (7.10), Ubuntu Hardy (8.04) and Ubuntu Intrepid (8.10) Repositories.

If you are Using the Debian Package (.deb file) - recommended

If you are using a recent version of Ubuntu or Debian the package manager should install the required packages automatically. You do not need to install any packages yourself.

 

Installation Instructions

Using the .deb package

  • Install: dpkg -i uctimsclient1.x.x.deb
  • Run: uctimsclient

Compiling from source:

  • Download and install the required packages
  • Compile (do this from in src directory if using 1.0.3 and earlier): make
  • Run: ./uctimsclient

 

Screen Shots


User Interface


Preferences
 

 

Support

 

Related Projects

UCT Advanced IPtv

The UCT advanced IPtv solution involves a SIP based Indirection server that facilitates an RTSP session between the UCT IMS Client and any RTSP supported media server. A 3rd Party RTSP supported media server is required.

The UCT IMS Client includes an Electronic Program Guide (EPG) and based on an end users input an INVITE is sent to the Indirection AS.  The Indirection AS performs a hash table lookup and replies with the corresponding RTSP address.  An RTSP session is initiated between the client and an RTSP supported media server.  The client supports basic RTSP trick commands.

The UCT Advanced IPTv solution utilises the libvlc framework on the client side and can work with any 3rd party RTSP supporting media server. The Indirection AS source code is available as well as a pre-compiled Debian binary.


UCT Policy Control Framework

The UCT Policy Control Framework incorporates Policy and Charging Rule Function (PCRF) and Policy  and Charging Enforcement Function (PCEF) functionality into the FOKUS Open Source IMS Core.

XML Network level control policies are defined - the PCRF combines these policies with service information from the service control layer (e.g. P-CSCF) and creates policy enforcement rules to be enforced in the transport layer at the PCEF.

This framework provides a reference architecture for linking session based IMS services with transport layer resources. The Java source code is available.


UCT IPtv Charging Framework

The UCT IPtv charging Framework is a charging server for the the UCT advanced IPtv system. It supports online and offline charging using the Ro and Rf interfaces to an OCS and CDF respectively.


UCT Back-to-back User Agent

The UCT Back-to-back agent is a simple server that sets up a call between two registered IMS clients. When incorporated with a web-page the user agent can be used as a click-to-dial server.


UCT IPtv Streaming Server

The UCT IPtv Streaming Server allows broadcast video streaming over an IMS network.  The project is no longer under active development, and users are directed to UCT Advanced IPTv for a more comprehensive and standards compliant IPTv implementation.  However the Streaming server is still operational and remains for compatibility purposes.  The server source code is available as well as a pre-compiled debian package.

How To Guides

How to Incorporate Policy Control into the Open IMS Core

How to Use to UCT IMS IPTv package

How to Register and Make Calls with the UCT IMS Client

How to Incorporate Charging Control into the Open IMS Core

How to Install the Open IMS Core on Ubuntu

How to setup a back-to-back user agent in your IMS network

 

Authors

  • David Waiting: <david (at) crg.ee.uct.ac.za>
  • Richard Good: <rgood (at) crg.ee.uct.ac.za>

 

BerliOS Logo

 

© University of Cape Town, South Africa