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.
Overview
- 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 127.0.0.1;
-- 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 http://uctimsclient.berlios.de/
-- 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);
call.addParticipant(party2);
-----------
}
}
-- 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 !!
Screencast
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 B.tech(CS&E) and have taken end to end open source telecom as my final year project..I am researching & trying to establish a NGN testbed..my 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 15, 2009 at 03:38 AM PST #
NOTE: API Call is no longer available.
instead use:
Conversation conv = session.createConversation(party1);
conv.addParticipant(party2);
The attached sample app has been updated to use the new API.
Posted by Mohit Gupta on November 16, 2009 at 03:07 AM PST #
@Nida :
I think this might be helpful :
http://theimsjungle.wordpress.com/2008/04/30/p-cscf-an-introduction/
http://uctimsclient.berlios.de/uctimsclient_on_ubuntu_howto.html
http://greenmang0.wordpress.com/2009/02/25/how-to-set-fqdn-fully-qualified-domain-name-on-debian-system/
Posted by Mohit Gupta on November 16, 2009 at 04:01 AM 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 router..how 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 01:05 PM 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 : http://uctimsclient.berlios.de/openimscore_on_ubuntu_howto.html
Posted by Mohit Gupta on November 18, 2009 at 10:47 PM PST #