Added missing configuration to guide
This commit is contained in:
parent
0aae608c5c
commit
2d025bb0f2
|
@ -32,8 +32,7 @@ This removes all existing cloud users and allows only root user and sets a passw
|
||||||
|
|
||||||
```
|
```
|
||||||
$ apt update && apt upgrade -y && apt install -y mysql-server tcpdump screen ntp ntpdate git-core dkms gcc flex bison libmysqlclient-dev make \
|
$ apt update && apt upgrade -y && apt install -y mysql-server tcpdump screen ntp ntpdate git-core dkms gcc flex bison libmysqlclient-dev make \
|
||||||
libssl-dev libcurl4-openssl-dev libxml2-dev libpcre3-dev bash-completion g++ autoconf rtpproxy libmnl-dev \
|
libssl-dev libcurl4-openssl-dev libxml2-dev libpcre3-dev bash-completion g++ autoconf rtpproxy libmnl-dev libsctp-dev ipsec-tools
|
||||||
libsctp-dev ipsec-tools
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 4. Install all required Kamailio packages (v5.2)
|
#### 4. Install all required Kamailio packages (v5.2)
|
||||||
|
@ -44,47 +43,7 @@ $ add-apt-repository 'deb http://deb.kamailio.org/kamailio52 bionic main'
|
||||||
$ apt install -y kamailio kamailio-mysql-modules kamailio-ims-modules kamailio-presence-modules kamailio-tls-modules kamailio-xml-modules kamailio-xmlrpc-modules
|
$ apt install -y kamailio kamailio-mysql-modules kamailio-ims-modules kamailio-presence-modules kamailio-tls-modules kamailio-xml-modules kamailio-xmlrpc-modules
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 5. Create necessary folders for kamailio pid files and set ownership
|
#### 5. Clone Kamailio repository and checkout 5.2 version of repository
|
||||||
|
|
||||||
Create the directory for pid file:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ mkdir -p /var/run/kamailio
|
|
||||||
$ mkdir -p /var/run/kamailio_icscf
|
|
||||||
$ mkdir -p /var/run/kamailio_pcscf
|
|
||||||
$ mkdir -p /var/run/kamailio_scscf
|
|
||||||
```
|
|
||||||
|
|
||||||
Default setting is to run Kamailio as user kamailio and group kamailio. For that you need to create the user:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ adduser --quiet --system --group --disabled-password \
|
|
||||||
--shell /bin/false --gecos "Kamailio" \
|
|
||||||
--home /var/run/kamailio kamailio
|
|
||||||
|
|
||||||
$ adduser --quiet --system --group --disabled-password \
|
|
||||||
--shell /bin/false --gecos "Kamailio" \
|
|
||||||
--home /var/run/kamailio_icscf kamailio
|
|
||||||
|
|
||||||
$ adduser --quiet --system --group --disabled-password \
|
|
||||||
--shell /bin/false --gecos "Kamailio" \
|
|
||||||
--home /var/run/kamailio_pcscf kamailio
|
|
||||||
|
|
||||||
$ adduser --quiet --system --group --disabled-password \
|
|
||||||
--shell /bin/false --gecos "Kamailio" \
|
|
||||||
--home /var/run/kamailio_scscf kamailio
|
|
||||||
```
|
|
||||||
|
|
||||||
Set ownership:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ chown kamailio:kamailio /var/run/kamailio
|
|
||||||
$ chown kamailio:kamailio /var/run/kamailio_icscf
|
|
||||||
$ chown kamailio:kamailio /var/run/kamailio_pcscf
|
|
||||||
$ chown kamailio:kamailio /var/run/kamailio_scscf
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 6. Clone Kamailio repository and checkout 5.2 version of repository
|
|
||||||
|
|
||||||
```
|
```
|
||||||
$ mkdir -p /usr/local/src/kamailio-5.2
|
$ mkdir -p /usr/local/src/kamailio-5.2
|
||||||
|
@ -94,39 +53,147 @@ $ cd kamailio
|
||||||
$ git checkout -b 5.2 origin/5.2
|
$ git checkout -b 5.2 origin/5.2
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 7. Edit /etc/hosts file for hostname resolution
|
#### 6. Setup the DNS for resolving IMS components names
|
||||||
|
|
||||||
Edit the /etc/hosts file as follows:
|
|
||||||
|
|
||||||
In the below example ims-deb is the hostname of the machine, PCRF is running in 10.4.128.11/172.24.15.3 (Floating IP) machine and IMS running at 10.4.128.7/172.24.15.21 (Floating IP)
|
|
||||||
|
|
||||||
Notice the change in PCRF address resolution (It should be the machine IP where PCRF is running)
|
|
||||||
{: .notice--warning}
|
|
||||||
|
|
||||||
```
|
```
|
||||||
root@ims-deb:~# cat /etc/hosts
|
$ apt install -y bind9
|
||||||
127.0.0.1 localhost
|
|
||||||
127.0.1.1 ims-deb
|
|
||||||
10.4.128.7 hss.mnc096.mcc262.3gppnetwork.org mnc096.mcc262.3gppnetwork.org
|
|
||||||
10.4.128.7 icscf.mnc096.mcc262.3gppnetwork.org mnc096.mcc262.3gppnetwork.org
|
|
||||||
10.4.128.7 pcscf.mnc096.mcc262.3gppnetwork.org mnc096.mcc262.3gppnetwork.org
|
|
||||||
10.4.128.7 scscf.mnc096.mcc262.3gppnetwork.org mnc096.mcc262.3gppnetwork.org
|
|
||||||
172.24.15.3 pcrf.mnc096.mcc262.3gppnetwork.org mnc096.mcc262.3gppnetwork.org
|
|
||||||
|
|
||||||
# The following lines are desirable for IPv6 capable hosts
|
|
||||||
::1 ip6-localhost ip6-loopback
|
|
||||||
fe00::0 ip6-localnet
|
|
||||||
ff00::0 ip6-mcastprefix
|
|
||||||
ff02::1 ip6-allnodes
|
|
||||||
ff02::2 ip6-allrouters
|
|
||||||
ff02::3 ip6-allhosts
|
|
||||||
```
|
```
|
||||||
|
|
||||||
After editing the file, save it and reboot the machine
|
Use the below example DNS Zone file to create a DNS Zone file in the /etc/bind folder and
|
||||||
{: .notice--info}
|
edit /etc/bind/named.conf.local, /etc/bind/named.conf.options accordingly:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cd /etc/bind
|
||||||
|
$ vim mnc096.mcc262.3gppnetwork.org
|
||||||
|
```
|
||||||
|
|
||||||
#### 8. Populate MySQL database using kamctlrc command
|
In the below example: Kamailio IMS & DNS server running at 10.4.128.7/172.24.15.21 (Floating IP) and PCRF at 10.4.128.11/172.24.15.3 (Floating IP)
|
||||||
|
|
||||||
|
```
|
||||||
|
$ORIGIN mnc096.mcc262.3gppnetwork.org.
|
||||||
|
$TTL 1W
|
||||||
|
@ 1D IN SOA localhost. root.localhost. (
|
||||||
|
1 ; serial
|
||||||
|
3H ; refresh
|
||||||
|
15M ; retry
|
||||||
|
1W ; expiry
|
||||||
|
1D ) ; minimum
|
||||||
|
|
||||||
|
1D IN NS ns
|
||||||
|
ns 1D IN A 10.4.128.7
|
||||||
|
|
||||||
|
pcscf 1D IN A 10.4.128.7
|
||||||
|
_sip._udp.pcscf 1D SRV 0 0 5060 pcscf
|
||||||
|
_sip._tcp.pcscf 1D SRV 0 0 5060 pcscf
|
||||||
|
|
||||||
|
icscf 1D IN A 10.4.128.7
|
||||||
|
_sip._udp 1D SRV 0 0 4060 icscf
|
||||||
|
_sip._tcp 1D SRV 0 0 4060 icscf
|
||||||
|
_sip._udp.ims 1D SRV 0 0 4060 icscf
|
||||||
|
_sip._tcp.ims 1D SRV 0 0 4060 icscf
|
||||||
|
|
||||||
|
scscf 1D IN A 10.4.128.7
|
||||||
|
_sip._udp.scscf 1D SRV 0 0 6060 scscf
|
||||||
|
_sip._tcp.scscf 1D SRV 0 0 6060 scscf
|
||||||
|
|
||||||
|
hss 1D IN A 10.4.128.7
|
||||||
|
pcrf 1D IN A 10.4.128.11
|
||||||
|
```
|
||||||
|
|
||||||
|
Edit /etc/bind/named.conf.local file as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
//
|
||||||
|
// Do any local configuration here
|
||||||
|
//
|
||||||
|
|
||||||
|
// Consider adding the 1918 zones here, if they are not used in your
|
||||||
|
// organization
|
||||||
|
//include "/etc/bind/zones.rfc1918";
|
||||||
|
|
||||||
|
zone "mnc096.mcc262.3gppnetwork.org" {
|
||||||
|
type master;
|
||||||
|
file "/etc/bind/mnc096.mcc262.3gppnetwork.org";
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
Edit /etc/bind/named.conf.options file as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
options {
|
||||||
|
directory "/var/cache/bind";
|
||||||
|
|
||||||
|
// If there is a firewall between you and nameservers you want
|
||||||
|
// to talk to, you may need to fix the firewall to allow multiple
|
||||||
|
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
|
||||||
|
|
||||||
|
// If your ISP provided one or more IP addresses for stable
|
||||||
|
// nameservers, you probably want to use them as forwarders.
|
||||||
|
// Uncomment the following block, and insert the addresses replacing
|
||||||
|
// the all-0's placeholder.
|
||||||
|
|
||||||
|
forwarders {
|
||||||
|
// Put here the IP address of other DNS server which could be used if name cannot be resolved with DNS server running in this machine
|
||||||
|
10.4.128.2;
|
||||||
|
};
|
||||||
|
|
||||||
|
//========================================================================
|
||||||
|
// If BIND logs error messages about the root key being expired,
|
||||||
|
// you will need to update your keys. See https://www.isc.org/bind-keys
|
||||||
|
//========================================================================
|
||||||
|
dnssec-validation no;
|
||||||
|
allow-query { localhost; };
|
||||||
|
|
||||||
|
auth-nxdomain no; # conform to RFC1035
|
||||||
|
//listen-on-v6 { any; };
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
$ systemctl restart bind9
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, test DNS resolution by adding following entries on top of all other entries in /etc/resolv.conf.
|
||||||
|
|
||||||
|
search mnc096.mcc262.3gppnetwork.org
|
||||||
|
nameserver 10.4.128.7
|
||||||
|
|
||||||
|
Finally, ping to ensure
|
||||||
|
|
||||||
|
$ ping pcscf
|
||||||
|
PING pcscf.mnc096.mcc262.3gppnetwork.org (10.4.128.7) 56(84) bytes of data.
|
||||||
|
64 bytes from localhost (10.4.128.7): icmp_seq=1 ttl=64 time=0.017 ms
|
||||||
|
64 bytes from localhost (10.4.128.7): icmp_seq=2 ttl=64 time=0.041 ms
|
||||||
|
|
||||||
|
To make changes in /etc/resolv.conf be persistent across reboot edit the /etc/netplan/50-cloud-init.yaml file as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
# This file is generated from information provided by
|
||||||
|
# the datasource. Changes to it will not persist across an instance.
|
||||||
|
# To disable cloud-init's network configuration capabilities, write a file
|
||||||
|
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
|
||||||
|
# network: {config: disabled}
|
||||||
|
network:
|
||||||
|
version: 2
|
||||||
|
ethernets:
|
||||||
|
ens3:
|
||||||
|
dhcp4: true
|
||||||
|
match:
|
||||||
|
macaddress: fa:16:3e:99:f5:67
|
||||||
|
set-name: ens3
|
||||||
|
nameservers:
|
||||||
|
search: [mnc096.mcc262.3gppnetwork.org]
|
||||||
|
addresses:
|
||||||
|
- 10.4.128.7
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
$ netplan apply
|
||||||
|
$ ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
|
||||||
|
$ systemctl restart systemd-resolved.service
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 7. Populate MySQL database using kamctlrc command
|
||||||
|
|
||||||
Edit SIP_DOMAIN and DBENGINE in the /etc/kamailio/kamctlrc configuration file (Used by kamctl and kamdbctl tools).
|
Edit SIP_DOMAIN and DBENGINE in the /etc/kamailio/kamctlrc configuration file (Used by kamctl and kamdbctl tools).
|
||||||
|
|
||||||
|
@ -166,7 +233,7 @@ The kamdbctl will add two users in MySQL user tables:
|
||||||
- kamailioro - (with default password 'kamailioro') - user which has read-only access rights to 'kamailio' database
|
- kamailioro - (with default password 'kamailioro') - user which has read-only access rights to 'kamailio' database
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 9. Edit /etc/default/rtpproxy file as follows:
|
#### 8. Edit /etc/default/rtpproxy file as follows:
|
||||||
|
|
||||||
```
|
```
|
||||||
# Defaults for rtpproxy
|
# Defaults for rtpproxy
|
||||||
|
@ -188,7 +255,7 @@ Then run,
|
||||||
$ systemctl restart rtpproxy
|
$ systemctl restart rtpproxy
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 10. Edit configuration file to fit your requirements for the VoIP platform, you have to edit the /etc/kamailio/kamailio.cfg configuration file
|
#### 9. Edit configuration file to fit your requirements for the VoIP platform, you have to edit the /etc/kamailio/kamailio.cfg configuration file
|
||||||
|
|
||||||
Follow the instruction in the comments to enable usage of MySQL. Basically you have to add several lines at the top of config file, like:
|
Follow the instruction in the comments to enable usage of MySQL. Basically you have to add several lines at the top of config file, like:
|
||||||
|
|
||||||
|
@ -212,13 +279,13 @@ modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:22222")
|
||||||
|
|
||||||
If you changed the password for the 'kamailio' user of MySQL, you have to update the value for 'DBURL' parameters.
|
If you changed the password for the 'kamailio' user of MySQL, you have to update the value for 'DBURL' parameters.
|
||||||
|
|
||||||
#### 11. Run Kamailio SIP server
|
#### 10. Run Kamailio SIP server
|
||||||
|
|
||||||
```
|
```
|
||||||
$ systemctl start kamailio
|
$ systemctl start kamailio
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 12. A quick check for the basic working of SIP server can be done as follows:
|
#### 11. A quick check for the basic working of SIP server can be done as follows:
|
||||||
|
|
||||||
Create new subscriber accounts. A new account can be added using `kamctl` tool via `kamctl add <username> <password>`
|
Create new subscriber accounts. A new account can be added using `kamctl` tool via `kamctl add <username> <password>`
|
||||||
(When asked for entering MySQL password for user 'kamailio@localhost': type 'kamailiorw', as provided in kamailio.cfg)
|
(When asked for entering MySQL password for user 'kamailio@localhost': type 'kamailiorw', as provided in kamailio.cfg)
|
||||||
|
@ -287,7 +354,7 @@ Save and exit
|
||||||
|
|
||||||
- Now try calling from either phone
|
- Now try calling from either phone
|
||||||
|
|
||||||
#### 13. Create new mysql database for pcscf, scscf and icscf, populate databases and grant permissions to respective users identified by a password
|
#### 12. Create new mysql database for pcscf, scscf and icscf, populate databases and grant permissions to respective users identified by a password
|
||||||
|
|
||||||
```
|
```
|
||||||
$ mysql
|
$ mysql
|
||||||
|
@ -367,9 +434,24 @@ Verify that following tables are present in respective databases by logging into
|
||||||
<mysql> grant delete,insert,select,update on scscf.* to scscf@localhost identified by 'heslo';
|
<mysql> grant delete,insert,select,update on scscf.* to scscf@localhost identified by 'heslo';
|
||||||
<mysl> grant delete,insert,select,update on icscf.* to icscf@localhost identified by 'heslo';
|
<mysl> grant delete,insert,select,update on icscf.* to icscf@localhost identified by 'heslo';
|
||||||
<mysl> grant delete,insert,select,update on icscf.* to provisioning@localhost identified by 'provi';
|
<mysl> grant delete,insert,select,update on icscf.* to provisioning@localhost identified by 'provi';
|
||||||
|
<mysql> GRANT ALL PRIVILEGES ON pcscf.* TO 'pcscf'@'%' identified by 'heslo';
|
||||||
|
<mysql> GRANT ALL PRIVILEGES ON scscf.* TO 'scscf'@'%' identified by 'heslo';
|
||||||
|
<mysql> GRANT ALL PRIVILEGES ON icscf.* TO 'icscf'@'%' identified by 'heslo';
|
||||||
|
<mysql> GRANT ALL PRIVILEGES ON icscf.* TO 'provisioning'@'%' identified by 'provi';
|
||||||
|
<mysql> FLUSH PRIVILEGES;
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 14. Copy pcscf, icscf and scscf configuration files to /etc/ folder and edit accordingly
|
Then,
|
||||||
|
|
||||||
|
```
|
||||||
|
$ mysql
|
||||||
|
<mysql> use icscf;
|
||||||
|
<mysql> INSERT INTO `nds_trusted_domains` VALUES (1,'mnc096.mcc262.3gppnetwork.org');
|
||||||
|
<mysql> INSERT INTO `s_cscf` VALUES (1,'First and only S-CSCF','sip:scscf.mnc096.mcc262.3gppnetwork.org:6060');
|
||||||
|
<mysql> INSERT INTO `s_cscf_capabilities` VALUES (1,1,0),(2,1,1);
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 13. Copy pcscf, icscf and scscf configuration files to /etc/ folder and edit accordingly
|
||||||
|
|
||||||
```
|
```
|
||||||
$ cd /usr/local/src/kamailio-5.2/kamailio/misc/examples/ims/
|
$ cd /usr/local/src/kamailio-5.2/kamailio/misc/examples/ims/
|
||||||
|
@ -386,17 +468,23 @@ Edit the configuration files as per your deployment needs
|
||||||
|
|
||||||
### I-CSCF
|
### I-CSCF
|
||||||
|
|
||||||
|
Edit the DNS domain names, DB URL and IP addresses at all places in the icscf.cfg, icscf.xml files accordingly
|
||||||
|
|
||||||
Changes required in icscf.cfg:
|
Changes required in icscf.cfg:
|
||||||
|
|
||||||
```
|
```
|
||||||
# SIP / UDP
|
# SIP / UDP
|
||||||
listen=udp:10.4.128.7:4060
|
listen=udp:10.4.128.7:4060
|
||||||
|
# SIP / TCP
|
||||||
|
listen=tcp:10.4.128.7:4060
|
||||||
|
|
||||||
alias=icscf.mnc096.mcc262.3gppnetwork.org
|
alias=icscf.mnc096.mcc262.3gppnetwork.org
|
||||||
|
|
||||||
#!define NETWORKNAME "mnc096.mcc262.3gppnetwork.org"
|
#!define NETWORKNAME "mnc096.mcc262.3gppnetwork.org"
|
||||||
#!define HOSTNAME "icscf.mnc096.mcc262.3gppnetwork.org"
|
#!define HOSTNAME "icscf.mnc096.mcc262.3gppnetwork.org"
|
||||||
|
|
||||||
|
#!define ENUM_SUFFIX "mnc096.mcc262.3gppnetwork.org."
|
||||||
|
|
||||||
#!define DB_URL "mysql://icscf:heslo@localhost/icscf"
|
#!define DB_URL "mysql://icscf:heslo@localhost/icscf"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -418,6 +506,12 @@ Changes required in kamailio_icscf.cfg:
|
||||||
```
|
```
|
||||||
# ------------------ module loading ----------------------------------
|
# ------------------ module loading ----------------------------------
|
||||||
mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/:/usr/lib/kamailio/modules_k/:/usr/lib/kamailio/modules/:/usr/lib/x86_64-linux-gnu/kamailio/modules/"
|
mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/:/usr/lib/kamailio/modules_k/:/usr/lib/kamailio/modules/:/usr/lib/x86_64-linux-gnu/kamailio/modules/"
|
||||||
|
|
||||||
|
#loadmodule "debugger.so"
|
||||||
|
|
||||||
|
# if !($rU =~ "\+.*") {
|
||||||
|
# prefix("+");
|
||||||
|
# }
|
||||||
```
|
```
|
||||||
|
|
||||||
To perform a quick test edit the /etc/default/kamailio file, by changing the configuration file parameter as follows:
|
To perform a quick test edit the /etc/default/kamailio file, by changing the configuration file parameter as follows:
|
||||||
|
@ -426,8 +520,15 @@ To perform a quick test edit the /etc/default/kamailio file, by changing the con
|
||||||
# Config file
|
# Config file
|
||||||
CFGFILE=/etc/kamailio_icscf/kamailio_icscf.cfg
|
CFGFILE=/etc/kamailio_icscf/kamailio_icscf.cfg
|
||||||
```
|
```
|
||||||
|
```
|
||||||
|
$ $ mkdir -p /var/run/kamailio_icscf
|
||||||
|
$ adduser --quiet --system --group --disabled-password \
|
||||||
|
--shell /bin/false --gecos "Kamailio" \
|
||||||
|
--home /var/run/kamailio_icscf kamailio
|
||||||
|
$ chown kamailio:kamailio /var/run/kamailio_icscf
|
||||||
|
```
|
||||||
|
|
||||||
After altering the above file, execute below command
|
Then, execute below command
|
||||||
|
|
||||||
```
|
```
|
||||||
$ systemctl restart kamailio.service
|
$ systemctl restart kamailio.service
|
||||||
|
@ -467,8 +568,7 @@ alias=pcscf.mnc096.mcc262.3gppnetwork.org
|
||||||
#!define WITH_RX
|
#!define WITH_RX
|
||||||
#!define WITH_RX_REG
|
#!define WITH_RX_REG
|
||||||
#!define WITH_RX_CALL
|
#!define WITH_RX_CALL
|
||||||
|
#!define WITH_TCP
|
||||||
#!define WITH_IPSEC
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Changes required in pcscf.xml:
|
Changes required in pcscf.xml:
|
||||||
|
@ -491,6 +591,18 @@ Changes required in kamailio_pcscf.cfg:
|
||||||
# ------------------ module loading ----------------------------------
|
# ------------------ module loading ----------------------------------
|
||||||
mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/:/usr/lib/kamailio/modules_k/:/usr/lib/kamailio/modules/:/usr/lib/x86_64-linux-gnu/kamailio/modules/"
|
mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/:/usr/lib/kamailio/modules_k/:/usr/lib/kamailio/modules/:/usr/lib/x86_64-linux-gnu/kamailio/modules/"
|
||||||
|
|
||||||
|
#loadmodule "debugger.so"
|
||||||
|
|
||||||
|
/* set the path to RPC fifo control file */
|
||||||
|
modparam("jsonrpcs", "fifo_name", "/var/run/kamailio_pcscf/kamailio_rpc.fifo")
|
||||||
|
/* set the path to RPC unix socket control file */
|
||||||
|
modparam("jsonrpcs", "dgram_socket", "/var/run/kamailio_pcscf/kamailio_rpc.sock")
|
||||||
|
|
||||||
|
modparam("tls", "config", "/etc/kamailio_pcscf/tls.cfg")
|
||||||
|
|
||||||
|
# ----- ctl params -----
|
||||||
|
modparam("ctl", "binrpc", "unix:/var/run/kamailio_pcscf/kamailio_ctl")
|
||||||
|
|
||||||
# AVP's required for Fail-Over-Support:
|
# AVP's required for Fail-Over-Support:
|
||||||
#modparam("dispatcher", "dst_avp", "$avp(DISPATCHER_DST_AVP)")
|
#modparam("dispatcher", "dst_avp", "$avp(DISPATCHER_DST_AVP)")
|
||||||
#modparam("dispatcher", "grp_avp", "$avp(DISPATCHER_GRP_AVP)")
|
#modparam("dispatcher", "grp_avp", "$avp(DISPATCHER_GRP_AVP)")
|
||||||
|
@ -498,13 +610,29 @@ mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/:/usr/lib/kama
|
||||||
#modparam("dispatcher", "sock_avp", "$avp(DISPATCHER_SOCK_AVP)")
|
#modparam("dispatcher", "sock_avp", "$avp(DISPATCHER_SOCK_AVP)")
|
||||||
|
|
||||||
#modparam("ims_usrloc_pcscf", "hashing_type", 2)
|
#modparam("ims_usrloc_pcscf", "hashing_type", 2)
|
||||||
|
|
||||||
|
#!ifdef WITH_RX
|
||||||
|
# -- CDP params --
|
||||||
|
modparam("cdp","config_file","/etc/kamailio_pcscf/pcscf.xml")
|
||||||
|
# -- diameter_rx params --
|
||||||
|
modparam("ims_qos", "rx_dest_realm", "localdomain") # Enter realm to which PCRF belongs to
|
||||||
|
#modparam("ims_qos", "rx_dest_realm", "NETWORKNAME")
|
||||||
|
|
||||||
|
#!ifdef WITH_IPSEC
|
||||||
|
if (!is_method("REGISTER")) {
|
||||||
|
ipsec_forward("location");
|
||||||
|
}
|
||||||
|
#!endif
|
||||||
|
|
||||||
|
#!ifdef WITH_IPSEC
|
||||||
|
ipsec_destroy("location");
|
||||||
|
#!endif
|
||||||
```
|
```
|
||||||
|
|
||||||
Changes required in dispatcher.list:
|
Changes required in dispatcher.list:
|
||||||
|
|
||||||
```
|
```
|
||||||
# SBC's
|
# SBC's
|
||||||
2 sip:10.4.128.7:5070
|
|
||||||
```
|
```
|
||||||
|
|
||||||
To perform a quick test edit the /etc/default/kamailio file, by changing the configuration file parameter as follows:
|
To perform a quick test edit the /etc/default/kamailio file, by changing the configuration file parameter as follows:
|
||||||
|
@ -514,7 +642,15 @@ To perform a quick test edit the /etc/default/kamailio file, by changing the con
|
||||||
CFGFILE=/etc/kamailio_pcscf/kamailio_pcscf.cfg
|
CFGFILE=/etc/kamailio_pcscf/kamailio_pcscf.cfg
|
||||||
```
|
```
|
||||||
|
|
||||||
After altering the above file, execute below command
|
```
|
||||||
|
$ mkdir -p /var/run/kamailio_pcscf
|
||||||
|
$ adduser --quiet --system --group --disabled-password \
|
||||||
|
--shell /bin/false --gecos "Kamailio" \
|
||||||
|
--home /var/run/kamailio_pcscf kamailio
|
||||||
|
$ chown kamailio:kamailio /var/run/kamailio_pcscf
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, execute below command
|
||||||
|
|
||||||
```
|
```
|
||||||
$ systemctl restart kamailio.service
|
$ systemctl restart kamailio.service
|
||||||
|
@ -535,6 +671,8 @@ Changes required in scscf.cfg:
|
||||||
```
|
```
|
||||||
# SIP / UDP
|
# SIP / UDP
|
||||||
listen=udp:10.4.128.7:6060
|
listen=udp:10.4.128.7:6060
|
||||||
|
# SIP / TCP
|
||||||
|
listen=tcp:10.4.128.7:6060
|
||||||
|
|
||||||
#!define NETWORKNAME "mnc096.mcc262.3gppnetwork.org"
|
#!define NETWORKNAME "mnc096.mcc262.3gppnetwork.org"
|
||||||
#!define HOSTNAME "scscf.mnc096.mcc262.3gppnetwork.org"
|
#!define HOSTNAME "scscf.mnc096.mcc262.3gppnetwork.org"
|
||||||
|
@ -548,6 +686,8 @@ alias=scscf.mnc096.mcc262.3gppnetwork.org
|
||||||
#!define DB_URL "mysql://scscf:heslo@localhost/scscf"
|
#!define DB_URL "mysql://scscf:heslo@localhost/scscf"
|
||||||
|
|
||||||
#!define RO_MNC "96"
|
#!define RO_MNC "96"
|
||||||
|
|
||||||
|
#!define WITH_TCP
|
||||||
```
|
```
|
||||||
|
|
||||||
Changes required in scscf.xml:
|
Changes required in scscf.xml:
|
||||||
|
@ -570,19 +710,44 @@ Changes required in kamailio_scscf.cfg:
|
||||||
# ------------------ module loading ----------------------------------
|
# ------------------ module loading ----------------------------------
|
||||||
mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/:/usr/lib/kamailio/modules_k/:/usr/lib/kamailio/modules/:/usr/lib/x86_64-linux-gnu/kamailio/modules/"
|
mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/:/usr/lib/kamailio/modules_k/:/usr/lib/kamailio/modules/:/usr/lib/x86_64-linux-gnu/kamailio/modules/"
|
||||||
|
|
||||||
|
#loadmodule "debugger.so"
|
||||||
|
|
||||||
|
/* set the path to RPC fifo control file */
|
||||||
|
modparam("jsonrpcs", "fifo_name", "/var/run/kamailio_scscf/kamailio_rpc.fifo")
|
||||||
|
/* set the path to RPC unix socket control file */
|
||||||
|
modparam("jsonrpcs", "dgram_socket", "/var/run/kamailio_scscf/kamailio_rpc.sock")
|
||||||
|
|
||||||
|
# ----- ctl params -----
|
||||||
|
modparam("ctl", "binrpc", "unix:/var/run/kamailio_scscf/kamailio_ctl")
|
||||||
|
|
||||||
|
# -- CDP params --
|
||||||
|
modparam("cdp","config_file","/etc/kamailio_scscf/scscf.xml")
|
||||||
|
|
||||||
# AVP's required for Fail-Over-Support:
|
# AVP's required for Fail-Over-Support:
|
||||||
#modparam("dispatcher", "dst_avp", "$avp(DISPATCHER_DST_AVP)")
|
#modparam("dispatcher", "dst_avp", "$avp(DISPATCHER_DST_AVP)")
|
||||||
#modparam("dispatcher", "grp_avp", "$avp(DISPATCHER_GRP_AVP)")
|
#modparam("dispatcher", "grp_avp", "$avp(DISPATCHER_GRP_AVP)")
|
||||||
#modparam("dispatcher", "cnt_avp", "$avp(DISPATCHER_CNT_AVP)")
|
#modparam("dispatcher", "cnt_avp", "$avp(DISPATCHER_CNT_AVP)")
|
||||||
#modparam("dispatcher", "sock_avp", "$avp(DISPATCHER_SOCK_AVP)")
|
#modparam("dispatcher", "sock_avp", "$avp(DISPATCHER_SOCK_AVP)")
|
||||||
|
|
||||||
|
# Terminating
|
||||||
|
if (uri == myself || uri =~ "tel:.*") {
|
||||||
|
if (!term_impu_registered("location")) {
|
||||||
|
xlog("L_DBG", "We need to do an UNREG server SAR assignemnt");
|
||||||
|
assign_server_unreg("UNREG_SAR_REPLY", "location", "term");
|
||||||
|
sl_send_reply("403","Forbidden - Domain not served");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# } else {
|
||||||
|
# sl_send_reply("403","Forbidden - Domain not served");
|
||||||
|
# exit();
|
||||||
|
# }
|
||||||
```
|
```
|
||||||
|
|
||||||
Changes required in dispatcher.list: Not sure what to do hence comment out as follows
|
Changes required in dispatcher.list: Not sure what to do hence remove as follows
|
||||||
|
|
||||||
```
|
```
|
||||||
# ng-voice Interconnect
|
# ng-voice Interconnect
|
||||||
#1 sip:sbc-1.ng-voice.com
|
|
||||||
#1 sip:sbc-2.ng-voice.com
|
|
||||||
```
|
```
|
||||||
|
|
||||||
To perform a quick test edit the /etc/default/kamailio file, by changing the configuration file parameter as follows:
|
To perform a quick test edit the /etc/default/kamailio file, by changing the configuration file parameter as follows:
|
||||||
|
@ -592,7 +757,15 @@ To perform a quick test edit the /etc/default/kamailio file, by changing the con
|
||||||
CFGFILE=/etc/kamailio_scscf/kamailio_scscf.cfg
|
CFGFILE=/etc/kamailio_scscf/kamailio_scscf.cfg
|
||||||
```
|
```
|
||||||
|
|
||||||
After altering the above file, execute below command
|
```
|
||||||
|
$ mkdir -p /var/run/kamailio_scscf
|
||||||
|
$ adduser --quiet --system --group --disabled-password \
|
||||||
|
--shell /bin/false --gecos "Kamailio" \
|
||||||
|
--home /var/run/kamailio_scscf kamailio
|
||||||
|
$ chown kamailio:kamailio /var/run/kamailio_scscf
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, execute below command
|
||||||
|
|
||||||
```
|
```
|
||||||
$ systemctl restart kamailio.service
|
$ systemctl restart kamailio.service
|
||||||
|
@ -607,7 +780,7 @@ $ journalctl -f --unit kamailio
|
||||||
Can run S-CSCF as follows: `kamailio -f kamailio_scscf.cfg`
|
Can run S-CSCF as follows: `kamailio -f kamailio_scscf.cfg`
|
||||||
|
|
||||||
|
|
||||||
#### 15. Install RTPEngine
|
#### 14. Install RTPEngine
|
||||||
|
|
||||||
Check for dependencies, install dependencies and build .deb packages
|
Check for dependencies, install dependencies and build .deb packages
|
||||||
|
|
||||||
|
@ -652,6 +825,14 @@ Port on which rtpengine binds i.e. listen_ng parameter is udp port 2223. This sh
|
||||||
modparam("rtpengine", "rtpengine_sock", "1 == udp:localhost:2223")
|
modparam("rtpengine", "rtpengine_sock", "1 == udp:localhost:2223")
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Edit /etc/default/ngcp-rtpengine-daemon and /etc/default/ngcp-rtpengine-recording-daemon as follows in respective files:
|
||||||
|
```
|
||||||
|
RUN_RTPENGINE=yes
|
||||||
|
```
|
||||||
|
```
|
||||||
|
RUN_RTPENGINE_RECORDING=yes
|
||||||
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
$ cp /etc/rtpengine/rtpengine-recording.sample.conf /etc/rtpengine/rtpengine-recording.conf
|
$ cp /etc/rtpengine/rtpengine-recording.sample.conf /etc/rtpengine/rtpengine-recording.conf
|
||||||
$ mkdir /var/spool/rtpengine
|
$ mkdir /var/spool/rtpengine
|
||||||
|
@ -663,7 +844,16 @@ $ systemctl disable rtpproxy
|
||||||
$ systemctl mask rtpproxy
|
$ systemctl mask rtpproxy
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 16. Running I-CSCF, P-CSCF and S-CSCF as separate systemctl process
|
Second instance of RTPENGINE can be run as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ iptables -I rtpengine -p udp -j RTPENGINE --id 1
|
||||||
|
$ ip6tables -I INPUT -p udp -j RTPENGINE --id 1
|
||||||
|
$ echo 'del 1' > /proc/rtpengine/control
|
||||||
|
$ /usr/sbin/rtpengine --table=1 --interface=10.4.128.7!172.24.15.21 --listen-ng=127.0.0.1:2224 --tos=184 --pidfile=ngcp-rtpengine-daemon2.pid --no-fallback
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 15. Running I-CSCF, P-CSCF and S-CSCF as separate systemctl process
|
||||||
|
|
||||||
First, stop the default kamailio SIP server
|
First, stop the default kamailio SIP server
|
||||||
|
|
||||||
|
@ -739,11 +929,277 @@ Finally,
|
||||||
$ systemctl start kamailio_icscf kamailio_pcscf kamailio_scscf
|
$ systemctl start kamailio_icscf kamailio_pcscf kamailio_scscf
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 17. Ensure NextEPC PCRF of the Core Network is configured to use IMS
|
#### 16. Setup FoHSS in order to talk with I-CSCF and S-CSCF
|
||||||
|
|
||||||
|
Requirements for FoHSS: Install Java JDK and ant
|
||||||
|
|
||||||
|
Download Oracle Java 7 JDK from following link using a browser:
|
||||||
|
https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
|
||||||
|
|
||||||
|
```
|
||||||
|
$ mkdir -p /usr/lib/jvm/
|
||||||
|
$ tar -zxf jdk-7u79-linux-x64.tar.gz -C /usr/lib/jvm/
|
||||||
|
$ update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_79/bin/java 100
|
||||||
|
$ update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_79/bin/javac 100
|
||||||
|
```
|
||||||
|
|
||||||
|
Verify that java has been successfully configured by running:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ update-alternatives --display java
|
||||||
|
java - auto mode
|
||||||
|
link best version is /usr/lib/jvm/jdk1.7.0_79/bin/java
|
||||||
|
link currently points to /usr/lib/jvm/jdk1.7.0_79/bin/java
|
||||||
|
link java is /usr/bin/java
|
||||||
|
/usr/lib/jvm/jdk1.7.0_79/bin/java - priority 100
|
||||||
|
|
||||||
|
$ update-alternatives --display javac
|
||||||
|
javac - auto mode
|
||||||
|
link best version is /usr/lib/jvm/jdk1.7.0_79/bin/javac
|
||||||
|
link currently points to /usr/lib/jvm/jdk1.7.0_79/bin/javac
|
||||||
|
link javac is /usr/bin/javac
|
||||||
|
/usr/lib/jvm/jdk1.7.0_79/bin/javac - priority 100
|
||||||
|
|
||||||
|
$ update-alternatives --config java
|
||||||
|
(select java jdk1.7.0_79)
|
||||||
|
$ update-alternatives --config javac
|
||||||
|
```
|
||||||
|
|
||||||
|
Check java version
|
||||||
|
|
||||||
|
```
|
||||||
|
$ java -version
|
||||||
|
```
|
||||||
|
|
||||||
|
Install Ant
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cd ~
|
||||||
|
$ wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.14-bin.tar.gz
|
||||||
|
$ tar xvfvz apache-ant-1.9.14-bin.tar.gz
|
||||||
|
$ mv apache-ant-1.9.14 /usr/local/
|
||||||
|
$ sh -c 'echo ANT_HOME=/usr/local/ >> /etc/environment'
|
||||||
|
$ ln -s /usr/local/apache-ant-1.9.14/bin/ant /usr/bin/ant
|
||||||
|
```
|
||||||
|
|
||||||
|
Verfiy ant version as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ant -version
|
||||||
|
Apache Ant(TM) version 1.9.14 compiled on March 12 2019
|
||||||
|
```
|
||||||
|
|
||||||
|
Create working directories for OpenIMSCore:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ mkdir /opt/OpenIMSCore
|
||||||
|
$ cd /opt/OpenIMSCore
|
||||||
|
```
|
||||||
|
|
||||||
|
Download:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ svn checkout svn://svn.code.sf.net/p/openimscore/code/FHoSS/trunk
|
||||||
|
$ mv trunk FHoSS
|
||||||
|
```
|
||||||
|
|
||||||
|
Compile:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cd FHoSS
|
||||||
|
$ export JAVA_HOME="/usr/lib/jvm/jdk1.7.0_79"
|
||||||
|
$ export CLASSPATH="/usr/lib/jvm/jdk1.7.0_79/jre/lib/"
|
||||||
|
$ ant compile deploy | tee ant_compile_deploy.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Create configurator.sh using below script to change domain names and IP address in all configuration files
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cd deploy
|
||||||
|
$ vim configurator.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Initialization & global vars
|
||||||
|
# if you execute this script for the second time
|
||||||
|
# you should change these variables to the latest
|
||||||
|
# domain name and ip address
|
||||||
|
DDOMAIN="open-ims\.test"
|
||||||
|
DSDOMAIN="open-ims\\\.test"
|
||||||
|
DEFAULTIP="127\.0\.0\.1"
|
||||||
|
CONFFILES=`ls *.cfg *.xml *.sql *.properties 2>/dev/null`
|
||||||
|
|
||||||
|
# Interaction
|
||||||
|
printf "Domain Name:"
|
||||||
|
read domainname
|
||||||
|
printf "IP Adress:"
|
||||||
|
read ip_address
|
||||||
|
|
||||||
|
# input domain is to be slashed for cfg regexes
|
||||||
|
slasheddomain=`echo $domainname | sed 's/\./\\\\\\\\\./g'`
|
||||||
|
|
||||||
|
if [ $# != 0 ]
|
||||||
|
then
|
||||||
|
printf "changing: "
|
||||||
|
for j in $*
|
||||||
|
do
|
||||||
|
sed -i -e "s/$DDOMAIN/$domainname/g" $j
|
||||||
|
sed -i -e "s/$DSDOMAIN/$slasheddomain/g" $j
|
||||||
|
sed -i -e "s/$DEFAULTIP/$ip_address/g" $j
|
||||||
|
printf "$j "
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
printf "File to change [\"all\" for everything, \"exit\" to quit]:"
|
||||||
|
# loop
|
||||||
|
while read filename ;
|
||||||
|
do
|
||||||
|
if [ "$filename" = "exit" ]
|
||||||
|
then
|
||||||
|
printf "exitting...\n"
|
||||||
|
break ;
|
||||||
|
|
||||||
|
elif [ "$filename" = "all" ]
|
||||||
|
then
|
||||||
|
printf "changing: "
|
||||||
|
for i in $CONFFILES
|
||||||
|
do
|
||||||
|
sed -i -e "s/$DDOMAIN/$domainname/g" $i
|
||||||
|
sed -i -e "s/$DSDOMAIN/$slasheddomain/g" $i
|
||||||
|
sed -i -e "s/$DEFAULTIP/$ip_address/g" $i
|
||||||
|
|
||||||
|
printf "$i "
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
break;
|
||||||
|
|
||||||
|
elif [ -w $filename ]
|
||||||
|
then
|
||||||
|
printf "changing $filename \n"
|
||||||
|
sed -i -e "s/$DDOMAIN/$domainname/g" $filename
|
||||||
|
sed -i -e "s/$DSDOMAIN/$slasheddomain/g" $filename
|
||||||
|
sed -i -e "s/$DEFAULTIP/$ip_address/g" $filename
|
||||||
|
|
||||||
|
else
|
||||||
|
printf "cannot access file $filename. skipping... \n"
|
||||||
|
fi
|
||||||
|
printf "File to Change:"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
$ chmod +x configurator.sh
|
||||||
|
$ ./configurator.sh
|
||||||
|
Domain Name:mnc096.mcc262.3gppnetwork.org
|
||||||
|
IP Adress:10.4.128.7
|
||||||
|
|
||||||
|
$ grep -r "open-ims"
|
||||||
|
$ vim webapps/hss.web.console/WEB-INF/web.xml
|
||||||
|
$ vim hibernate.properties
|
||||||
|
```
|
||||||
|
And, change the following line
|
||||||
|
|
||||||
|
hibernate.connection.url=jdbc:mysql://127.0.0.1:3306/hss_db
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cp configurator.sh ../scripts/
|
||||||
|
$ cd ../scripts
|
||||||
|
$ grep -r "open-ims"
|
||||||
|
$ ./configurator.sh
|
||||||
|
Domain Name:mnc096.mcc262.3gppnetwork.org
|
||||||
|
IP Adress:10.4.128.7
|
||||||
|
|
||||||
|
$ cp configurator.sh ../config/
|
||||||
|
$ cd ../config
|
||||||
|
$ ./configurator.sh
|
||||||
|
Domain Name:mnc096.mcc262.3gppnetwork.org
|
||||||
|
IP Adress:10.4.128.7
|
||||||
|
|
||||||
|
$ cd ../src-web
|
||||||
|
$ vim WEB-INF/web.xml
|
||||||
|
```
|
||||||
|
And, change open-ims.test to mnc096.mcc262.3gppnetwork.org
|
||||||
|
|
||||||
|
Prepare mysql database:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ mysql
|
||||||
|
<mysql> drop database hss_db;
|
||||||
|
<mysql> create database hss_db;
|
||||||
|
<mysql> quit
|
||||||
|
```
|
||||||
|
|
||||||
|
Import database located at /opt/OpenIMSCore into hss_db
|
||||||
|
```
|
||||||
|
$ cd /opt/OpenIMSCore
|
||||||
|
$ mysql -u root -p hss_db < FHoSS/scripts/hss_db.sql
|
||||||
|
$ mysql -u root -p hss_db < FHoSS/scripts/userdata.sql
|
||||||
|
```
|
||||||
|
|
||||||
|
Check grants for mysql access rights at first time installation:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ mysql
|
||||||
|
# See last line in hss_db.sql:
|
||||||
|
<mysql> grant delete,insert,select,update on hss_db.* to hss@localhost identified by 'hss';
|
||||||
|
<mysql> grant delete,insert,select,update on hss_db.* to hss@'%' identified by 'hss';
|
||||||
|
```
|
||||||
|
|
||||||
|
Check database if domain names are o.k. in various entries and privileges
|
||||||
|
```
|
||||||
|
$ mysql -u hss -p
|
||||||
|
<mysql> show databases;
|
||||||
|
<mysql> use hss_db;
|
||||||
|
<mysql> select * from impu;
|
||||||
|
```
|
||||||
|
|
||||||
|
Prepare script-file, start HSS
|
||||||
|
|
||||||
|
Copy startup.sh to hss.sh in root directory
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cp /opt/OpenIMSCore/FHoSS/deploy/startup.sh /root/hss.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
And, add the following to hss.sh before echo "Building Classpath"
|
||||||
|
|
||||||
|
```
|
||||||
|
cd /opt/OpenIMSCore/FHoSS/deploy
|
||||||
|
JAVA_HOME="/usr/lib/jvm/jdk1.7.0_79"
|
||||||
|
CLASSPATH="/usr/lib/jvm/jdk1.7.0_79/jre/lib/"
|
||||||
|
```
|
||||||
|
|
||||||
|
Start HSS using hss.sh
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ./hss.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Access the web-interface of HSS: http://<IMS_VM_FLOATING_IP>:8080/hss.web.console/
|
||||||
|
|
||||||
|
http://172.24.15.21:8080/hss.web.console/
|
||||||
|
|
||||||
|
```
|
||||||
|
user: hssAdmin
|
||||||
|
password: hss
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 17. A quick check for the basic working of SIP IMS server can be done as follows
|
||||||
|
|
||||||
|
The steps are exactly the same as in Step 11, but now the usernames and passwords are alice and bob, which are the default users present in FoHSS.
|
||||||
|
|
||||||
|
#### 18. Ensure NextEPC PCRF of the Core Network is configured to use IMS
|
||||||
|
|
||||||
In nextepc.conf, add the floating IP of the VM running P-CSCF as shown below
|
In nextepc.conf, add the floating IP of the VM running P-CSCF as shown below
|
||||||
|
|
||||||
```
|
```
|
||||||
|
parameter:
|
||||||
|
no_ipv6: true
|
||||||
|
prefer_ipv4: true
|
||||||
|
|
||||||
pcscf:
|
pcscf:
|
||||||
- 172.24.15.21
|
- 172.24.15.21
|
||||||
```
|
```
|
||||||
|
|
Loading…
Reference in New Issue