Integrating SailFin-CAFE with OpenIMS

This entry demonstrates the procedure for installing OpenIMS and integrating Sailfin-CAFE with it. The attached sailfin-cafe application could then be used to establish a call between two clients registered with open-ims.


  • Install OpenIMS core.
  • Install Sailfin-CAFE, integrate it with OpenIMS.
  • Register IMS clients with OpenIMS core.
  • Deploy the cafe-app.
  • Establish call between the clients.

Lets get started

Installing OpenIMS core

-- Install instructions can be found here.

Note: If you are running the DNS on the same machine as OpenIMS core, then while configuring the DNS server, edit the file /etc/dhcp3/dhclient.conf and uncomment this line: prepend domain_name_servers;

-- Start OpenIMS core components viz: pcscf, scscf, icsfc and FHoSS startup as given in the installation guide.

Setting up SailFin and SailFin-CAFE

-- Download and install SailFin from here.

-- Use SailFin CAFE promoted build 05 or latest. The download and install instructions are available here.

-- Register SailFin with OpenIMS core:

  • Go to http://localhost:8080 and enter hssAdmin as username & hss as password. This will lead you to FHoSS - FOKUS Home Subscriber Server webpage.
  • Click on create(Application Server) under the servcies tab.
  • The server setting parameters will be: Server Name - sip:hostname:5060, DiameterFDQN - hostname, Default Handling - Session-continued.
  • Attach the default_ifc to the newly created server.

IMSClient setup

-- UCT IMS Client can be dowloaded at

-- OpenIMS Core has Alice and Bob as the users registered by default. Use two different IMS clients to login as Alice and Bob respectively.

Deploying test application and establishing the call

-- Download and deploy the sample application using sailfin asadmin deploy.

-- Call Establishing logic of the test App:

    public class NewServlet extends HttpServlet {      
         @Context CommunicationSession session;

         protected void processRequest(HttpServletRequest request, HttpServletResponse response) {


            Call call  = session.createCall(party1);




-- Access the url : http://localhost:8080/esswebv2

-- Enter user ids : Alice@open-ims.test  and Bob@open-ims.test

-- Click on the call button and listen the IMS Clients ringing !!


The screencast for the complete setup can be viewed here !!


Hi mohit..I need your help in establishing an open ims core testbed ..I am pursuing and have taken end to end open source telecom as my final year project..I am researching & trying to establish a NGN final aim is to establish a call between two open source handsets preferably android over OpenIMS Core via ad-hoc and then provide varoius multimedia services..I have already installed openIMS core on ubuntu..I have already established the communication between alice and bob on the same system by using the monster client..My second step is to establish a call between 2 clients on 2 different systems via ad-hoc networks..say 2 laptops having ims clients..nd a 3rd one acting as a IMS server..But i am unable to configure DNS & other settings according to tat..Can u please tell me how can i establish tat...It would be nice of you if you can provide some references or ideas on this project..I also plan to develop an ims client for android platform..

Posted by Nida Hussain on November 14, 2009 at 07:38 PM PST #

NOTE: API Call is no longer available.
instead use:
Conversation conv = session.createConversation(party1);

The attached sample app has been updated to use the new API.

Posted by Mohit Gupta on November 15, 2009 at 07:07 PM PST #

Thanks for your help mohit..It was really nice of you..Have u tried to establish a call between 2 distributed clients i.e 2 laptops via ad-hoc?..If alice's client is on one machine ,ims is running on other and bob's client is on the third..How will i configure DNS & other settings according to tat?I need to establish a call between them..I think we need to use a SIP application can i integrate that with the IMS client?..After completing this step then only i can test a call between android emulators and then finally between android phones using a sip client..Can u please provide an elaborated guide on establishing a call between 2 sip clients(Android phones) using open ims core via ad-hoc..?

Posted by Nida Hussain on November 16, 2009 at 05:05 AM PST #

Hi Nida,
I have not tried it first hand. But I think, while setting up ims-core server you need to set an external IP address instead of the loopback address. You can use ~OpenIMSCore/configurator for this purpose.
See :

Posted by Mohit Gupta on November 18, 2009 at 02:47 PM PST #

Hi, I am peisee and now I would like to develop a converged application by using NetBean. The application that I wish to build is to establish a call between two clients in Linphone and log the SIP message and show it in the console. This application is needed to integrate with IMS. However, I have no idea on how to create the application. Can I use Maven to create or do you have any other idea on develop it? I already install Sailfin, Sailfin-Cafe and NetBean. I also tried the sample application that you provide as well.

Posted by pei see on January 15, 2010 at 07:02 PM PST #

Hi peisee,

You can use cafe-maven archetype for creating a cafe project []. Also, you can refer to Binod's blog to get an idea of some sample cafe-applications.

Posted by Mohit Gupta on January 17, 2010 at 04:00 PM PST #

Thanks for your help. I faca another problem now. I am trying to create a SIP application and NetBeans 6.8 was installed. But there is error when I add a SIP development module. It said that the modules 'org.netbeans.modules.editor.deprecated.pre61completion' was not found. Then, I found a patch file which can solve this problem but I don't know how to apply the patch file in NetBeans. Can you teach me?

Posted by peisee on January 18, 2010 at 10:20 AM PST #

I think you can get your answer at
Also, for cafe related questions, please mail at:

Posted by Mohit Gupta on January 19, 2010 at 03:43 PM PST #

i have problems the start p,i,s cscf look what give me like error
./ line 7: /opt/OpenIMSCore/ser_ims/ser: Aucun fichier ou dossier de ce type

./ line 7: /opt/OpenIMSCore/ser_ims/ser: Aucun fichier ou dossier de ce type

./ line 7: /opt/OpenIMSCore/ser_ims/ser: Aucun fichier ou dossier de ce type

so please help me thank you so much

Posted by problem the start p,i,s cscf on April 03, 2010 at 06:54 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

Mohit Gupta


« July 2016