Courtesy of Carsten Bock and his team, several IMS extensions from the OpenIMSCore project are ported and directly available for testing built on top of latest development version of Kamailio project. Right now, the IMS extensions are held by carstenbock/ims branch in GIT repository.

For testing at this moment is better to use the Debian repository made available for this purpose:

– install the Key:

wget http://repository.ng-voice.com/ngvoice-debian-gpg.key
apt-key add ngvoice-debian-gpg.key

– add our repository to your “/etc/apt/sources.list”:

deb http://repository.ng-voice.com lenny main contrib non-free
deb-src http://repository.ng-voice.com lenny main contrib non-free

– to install Kamailio & IMS Modules:

apt-get install kamailio kamailio-ims-modules

In order to update the packages, you need to remove any previous installation of kamailio from Debian repository (apt-get remove kamailio), clean your local deb-cache (apt-get clean) and reinstall the packages.

The repository also contains other packages, such as:

– the RTP-Proxy (for the P-CSCF, package rtpproxy, latest stable version)
– the Fokus FHoSS HSS-Server (package openimscore-fhoss)

More installation notes here:

Here is a summary of available IMS modules:

CDP / CDP-AVP

  • The CDP (C-Diameter-Peer) modules provide an Diameter-interface, which are used by several components of the OpenIMS-core: They are used as Cx-Interface for the I-/S-CSCF and for the Rx-Interface for the P-CSCF. The modules may be used in other ways, too (e.g. for an Sh-Interface for an Kamailio-based aplication server)

P-CSCF

  • The Proxy-CSCF in the IMS Architecture acts as an entry point to the network. The pcscf module of the original OpenIMS-core aggregates many functions required at this component: Header manipulation/verification, RTP-Relay and presence-support for the “reginfo”-event. Optional, the Rx-Interface for Billing may be enabled.

I-CSCF

  • The Interrogating-CSCF is a kind of “Loadbalancer” or a entry Proxy for the “home-network” of an IMS setup. The I-CSCF will retrieve the location for a user from the HSS, it will check, where a user is registered or where it should register (based on user-settings, required capabilities later maybe even load). The icscf-module implements the according interfaces towards the HSS (Cx) and according header manipulation/verification methods.

S-CSCF

  • The Serving-CSCF is acting as a registrar and as decision engine regarding the routing of the Request. It retrieves the user-data and routing rules from the HSS and applies them to the processed requests. The scscf-module implements the according interfaces towards the HSS (Cx), the interfaces towards application-servers (Isc) and according header manipulation/verification methods.

MGCF

  • The MGCF-Module of the OpenIMS core implements header and content manipulation for interconnections towards Class 4 networks.

E-CSCF & LRF

  • The Emergency-CSCF and the Location Resource Function (LRF) implements IMS compliant emergency call routing. The modules provide required content aggregation methods.
An open source Home Subscriber Service project is under development as well: