Tuesday, April 21, 2009

Integrate Sailfin and OpenIMS Core in IPv4

This entry assume that you installed Sailfin and Open IMS Core successfully, you can consult to install Open IMS Core here. In order to install Sailfin, go to Sailfin project homepage and you'll have complete tutorials about this task.
In my machine, I installed both in Ubuntu 8.10 with Bind9:
  • Open IMS Core, IP address: 192.168.11.19
  • Sailfin, IP address: 192.168.11.18
  1. Configure DNS in Sailfin machine
- Modify /etc/resolv.conf, add this lines:

nameserver 192.168.11.18
search ims.fet.hut
domain ims.fet.hut

Replace "ims.fet.hut" with your IMS domain name respectively.

- In /etc/bind/ folder, create new zone file named openims-sailfin.dnszone with contents:

$ORIGIN ims.fet.hut
$TTL 1W
@ 1D IN SOA ns.ims.fet.hut. root.ims.fet.hut. (
2009041201 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

1D IN NS ns.ims.fet.hut.
ns 1D IN A 192.168.11.18

ims.fet.hut. 1D IN A 192.168.11.19
pcscf 1D IN A 192.168.11.19
icscf 1D IN A 192.168.11.19
scscf 1D IN A 192.168.11.19
hss 1D IN A 192.168.11.19

sailfin1.ims.fet.hut. 1D IN A 192.168.11.18

_sip 1D SRV 0 0 6060 scscf
_sip._udp 1D SRV 0 0 6060 scscf
_sip._tcp 1D SRV 0 0 6060 scscf

_sip._udp.ims.fet.hut. 1D IN SRV 1 0 5060 sailfin1.ims.fet.hut.
_sip._tcp.ims.fet.hut. 1D IN SRV 1 0 5060 sailfin1.ims.fet.hut.
_sips._tcp.ims.fet.hut. 1D IN SRV 1 0 5060 sailfin1.ims.fet.hut.
_sips._udp.ims.fet.hut. 1D IN SRV 1 0 5060 sailfin1.ims.fet.hut.

ims.fet.hut. 1D IN NAPTR 10 50 "s" "SIP+D2U" "" _sip._udp.ims.fet.hut.
ims.fet.hut. 1D IN NAPTR 20 50 "s" "SIP+D2T" "" _sip._tcp.ims.fet.hut.

- In /etc/bind/named.conf.local, add the following lines:

zone "ims.fet.hut" IN {
type master;
file "openims-sailfin.dnszone";
notify no;
allow-update {none;};
};

- Restart bind9:
#/etc/init.d/bind9 restart

- Add following contents in SAILFIN_HOME/domains/domain1/config/domain.xml:
- Run Sailfin:

#cd SAILFIN_HOME/bin
#./asadmin start-domain domain1
#./asadmin start-dataabase
#./asadmin
asadmin> set --host sailfin1.ims.fet.hut server-config.sip-container.external-address=sailfin1.ims.fet.hut
Please enter the admin user name> admin
Please enter the admin password>adminadmin

- That's all with Sailfin machine. After that, sailfin machine has domain name and Contact header is "sailfin1.ims.fet.hut".
Eg: REGISTER message from User equipment via P-CSCF, S-CSCF to Sailfin has Contact:"scscf.ims.fet.hut". Sailfin accept this Register and response with 200 OK has Contact:"sailfin1.ims.fet.hut" via S-CSCF, P-CSCF to User.

2. Configure DNS in Open IMS machine

- Add to /etc/bind/open-ims.dnszone file in IMS machine the following:

sailfin 1D IN A 192.168.11.18
c2d 1D IN A 192.168.11.18

- Restart DNS server in this machine
# /etc/init.d/bind9 restart

- Configure FHoSS to add new application server, point to sailfin. You can use CallSetup application in SAILFIN_HOME/samples/sipservlet/ as an application for IMS.


- You must modify CallSetup a little to work with IMS. Then you can use callsetup service with IMS client like UCT IMS client, OpenIC lite or Mercuro... normally. That's so cool!

NgocSon,