The first step in T4.1 in HIT-GATE project was to run network for IP Multimedia Subsystem (IMS) platform integrated with an Application Server. The choice was The Open IMS project (led by Fraunhofer FOCUS – http://www.openimscore.org) and application server by Mobicents (http://www.mobicents.org).
At the moment, we were able to run The Open IMS Core architecture with the public IP address and the “itti.com.pl” domain. We used the VMWare Image of Ubuntu System that is available under this link: http://www.openimscore.org/vm and we configured it with our own preferences. As a Session Initiation Protocol (SIP) clients – we chose softphones: OpenIC_lite for Ubuntu and X-Lite for Windows/Mac OS X. The environment was working well, so we started to run the application server on this architecture. We chose JBOSS (JavaBeans Open Source Software) version of Mobicents that provides support for SIP Servlets API (Application Programmable Interface) – the version was JBOSS 5.0.1.GA with MSS 1.5.0.FINAL (Mobicents SIP Servlets). Of course newer version of JBOSS AS can also be chosen as well as MSS but this one seems to work very stable so we decided to use it.
The SIP Servlets technology is one of the ways to develop applications in IMS network. Although other technologies as JAIN SLEE or Parlay X offer greater opportunities (but are also much more complicated), SIP Servlets is valued for simplicity and “SIP-oriented” structure. This JAVA API consists of objects and functions representing basic SIP messages as INVITE, REGISTER, CANCEL, etc. To handle such a message, the developer needs only to override the corresponding function – for example, to handle INVITE message, the doInvite() function is required.
We tested the example from Mobicents Project’s website (http://www.mobicents.org/mss-diameter_sh.html) by running it in our environment and we modified slightly the code according to our IP addressing in the LAN. It works correctly for Alice (with sip:email@example.com ID) and Bob (with sip:firstname.lastname@example.org), so we started to develop our own application/services, using Eclipse IDE (Eclipse 3.4 for JEE) and Maven plugin. We created successfully the example applications using basic SIP messages and tested them already on the Open IMS Core network with JBOSS Mobicents with Alice’s and Bob’s accounts.
The next goals are to:
- check the architecture with hardware SIP Phone
- try to develop more complicated services on application server
- provide a simple GSM-to-IMS client gateway using cell phone with SIP functions.
In Figure 1 below an overall architecture of IMS platform is shown. A Proxy CSCF (P-CSCF) is a SIP proxy that is the first point of contact for the IMS terminal. A Serving CSCF (S-CSCF) is a central node of the signalling plane. It is a SIP server, but it performs session control. An Interrogating CSCF (I-CSCF) is another SIP function located at the edge of an administrative domain. Its IP address is published in the Domain Name System (DNS) of the domain, so that remote servers can find it, and use it as a forwarding point (e.g. for registering) for SIP packets to this domain. The Home Subscriber Server (HSS), or User Profile Server Function (UPSF), is a master user database that supports the IMS network entities that actually handle calls. It contains the subscription-related information (subscriber profiles), performs authentication and authorization of the user, and can provide information about the subscriber’s location and IP information. SIP Application Servers (AS) host and execute services, and interface with the S‑CSCF using SIP.