Procedure to setup Stack
Step 1 – Machines
172.19.7.1
77
172.19.7.1
78
172.19.7.1
79
172.19.7.1
80
Step 2 – Stack Binaries and LWSG Binaries to be copied to all the servers.
Binary - lwsg_1_3_11_ss7_r4_2_3_0_0_map_r2_0_2_0_0.tar.gz (stack, monit and lwsg)
This includes stack also. Copy this to all machines into PRD path.
scp lwsg_1_3_11_ss7_r4_2_3_0_0_map_r2_0_2_0_0.tar.gz [email protected]:/prd/.
scp lwsg_1_3_11_ss7_r4_2_3_0_0_map_r2_0_2_0_0.tar.gz [email protected]:/prd/.
scp lwsg_1_3_11_ss7_r4_2_3_0_0_map_r2_0_2_0_0.tar.gz [email protected]:/prd/.
scp lwsg_1_3_11_ss7_r4_2_3_0_0_map_r2_0_2_0_0.tar.gz [email protected]:/prd/.
Note: if prd folder is not present please do create it.
Step 3 – Copy other required files if any like
scp add_ips_and_routes.sh change_mac.sh [email protected]:/prd/.
scp add_ips_and_routes.sh change_mac.sh [email protected]:/prd/.
scp add_ips_and_routes.sh change_mac.sh [email protected]:/prd/.
scp add_ips_and_routes.sh change_mac.sh [email protected]:/prd/.
scp add_ips_and_routes.sh – This will add a route to communicate with other machines.
change_mac.sh – This will add a virtual Ethernet port and it will change the MAC address of that
virtual Ethernet. And this requires “lic” file as well, get these files also from signalling team.
Step 4 – Go to first machine 172.19.7.177 and untar the build
login as: root
[email protected]'s password:
Last login: Thu Jan 30 20:57:08 2014 from 172.19.2.240
[root@localhost ~]# cd /prd
[root@localhost prd]# tar -xvzf lwsg_1_3_11_ss7_r4_2_3_0_0_map_r2_0_2_0_0.tar.gz
Step 5 – Go inside the folder i.e., lwsg_1_3_11_ss7_r4_2_3_0_0_map_r2_0_2_0_0 and untar the
below
lwsg.tar.gz
monit.tar.gz and
stack.tar.gz
Step 6 – After untaring the above files, copy/move them into /prd path.
[root@localhost ~]# mv lwsg monit stack /prd/.
Step 7 – Go to prd/stack
Step 8 – Take the backup of lic folder, do [root@vm2 stack]# rm -rf lic conf
Go in side lic and run if required
[root@vm2 lic]# chmod 710 *
Ensure that u have the below files
add_ips_and_routes.sh
change_mac.sh
Step 9 – Make sure you have valid license file for stack (MAC Addresses) and open the limits_file
Cd /prd/stack/lic
[root@localhost lic]# cat limits_file
## NexGen SS7 maximum allowed configuration file
MAXIMUM_INSTANCES = 4
MAXIMUM_LINKS = 0
MTP2 = NO
SCTP = YES
SNNI = NO
M2UA = NO
MTP3 = NO
M3UA = YES
SCCP = YES
TCAP = YES
RX_THROUGHPUT = 0
TX_THROUGHPUT = 0
TIME_DURATION = 0
MAC =
3440B580D748,001018C6C428,001018C6C42C,001018C6C42A,001018C6C42E,3440B5805DE8,001018CA43C0,001018CA4
3C4,001018CA43C2,001018CA43C6,3440B5800CC8,001018CA3D88,001018CA3D8C,001018CA3D8A,001018CA3D8E,3440B
58152C0,001018C6B3A8,001018C6B3AC,001018C6B3AA
LIC-START-TIME = 00/00/0000
LIC-END-TIME = 31/12/9999
[root@localhost lic]#
Step 10 – Take one MAC address i.e., 3440B580D748 put it in “change_mac.sh” as given in step 11
Step 11 – Open change_mac.sh i.e., vim change_mac.sh and copy the new MAC address.
Red one to be removed and Orange one is new one, need to separate it with “:”
And Change the IP address marked Blue in color to required machine
vconfig add eth0 5
ifconfig eth0.5 172.19.7.177 netmask 255.255.255.0 broadcast 172.19.255.255 up
/sbin/ifconfig eth0.5 down
#eth0 Link encap:Ethernet HWaddr 00:24:81:F8:CD:40
#/sbin/ip link set eth0 address 00:21:5E:2F:10:94
#/sbin/ip link set eth0 address 00:24:81:F8:CD:40
#/sbin/ip link set eth0 address 00:21:5E:2F:31:28
/sbin/ip link set eth0.5 address 00:10:18:C6:B3:A8 34:40:B5:80:D7:48
/sbin/ifconfig eth0.5 up
# route add default gw 172.19.1.1
Step 12 – Check for eth value by doing ifconfig
[root@localhost stack]# ifconfig
eth0 Link encap:Ethernet HWaddr 52:54:00:95:7F:94
inet addr:172.19.7.177 Bcast:172.19.255.255 Mask:255.255.0.0
inet6 addr: fe80::5054:ff:fe95:7f94/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:38085957 errors:0 dropped:0 overruns:0 frame:0
TX packets:2998861 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5713795296 (5.3 GiB) TX bytes:361434498 (344.6 MiB)
If eth1 is present then change the same in change_mac.sh file before running it.
Step 13 – Run change_mac.sh file
[root@localhost stack]# sh change_mac.sh
Added VLAN with VID == 5 to IF -:eth0:-
Step 14 – Check for eth0.5 by doing ifconfig
[root@localhost stack]# ifconfig
eth0 Link encap:Ethernet HWaddr 52:54:00:95:7F:94
inet addr:172.19.7.177 Bcast:172.19.255.255 Mask:255.255.0.0
inet6 addr: fe80::5054:ff:fe95:7f94/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:38091852 errors:0 dropped:0 overruns:0 frame:0
TX packets:2998916 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5714311064 (5.3 GiB) TX bytes:361448808 (344.7 MiB)
eth0.5 Link encap:Ethernet HWaddr 34:40:B5:80:D7:48
inet addr:172.19.7.177 Bcast:172.19.255.255 Mask:255.255.255.0
inet6 addr: fe80::3640:b5ff:fe80:d748/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:558 (558.0 b)
Step 15 – Ping the machine which it has to communicate, if it is not able to ping then use route
command and check the available routes
Step 16 - [root@localhost stack]# ping 172.19.7.181
7.177 machine is not able to ping 7.181
Step 17 - [root@localhost stack]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.19.7.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0.5
172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 172.19.1.1 0.0.0.0 UG 0 0 0 eth0
[root@localhost stack]#
As shown above there is no route to 172.19.7.0 so remove it.
Step 18 – ip route delete 172.19.7.0/24 dev eth0.5
Now, try pinging required series
[root@localhost stack]# ping 172.19.7.181
PING 172.19.7.181 (172.19.7.181) 56(84) bytes of data.
64 bytes from 172.19.7.181: icmp_seq=1 ttl=64 time=1.76 ms
64 bytes from 172.19.7.181: icmp_seq=2 ttl=64 time=0.633 ms
Step 19 – Open the file "add_ips_and_routes.sh" and add the SCTP virtual IPs
[root@localhost stack]# vim add_ips_and_routes.sh
##Adding the ips in one system
ip addr add 6.5.4.1/32 dev eth0
ip addr add 6.5.4.2/32 dev eth0
########### adding route by -host #################
route add -host 6.5.4.3 gw 172.19.7.178
route add -host 6.5.4.4 gw 172.19.7.178
route add -host 8.7.6.5 gw 172.19.7.179
route add -host 8.7.6.6 gw 172.19.7.179
Step 20 – Run the above script
[root@localhost stack]# sh add_ips_and_routes.sh
[root@localhost stack]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
6.5.4.3 172.19.7.178 255.255.255.255 UGH 0 0 0 eth0
6.5.4.4 172.19.7.178 255.255.255.255 UGH 0 0 0 eth0
8.7.6.6 172.19.7.179 255.255.255.255 UGH 0 0 0 eth0
8.7.6.5 172.19.7.179 255.255.255.255 UGH 0 0 0 eth0
172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 172.19.1.1 0.0.0.0 UG 0 0 0 eth0
And check for adding of virtual ips using
[root@localhost stack]# ip addr show
[root@localhost stack]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:25:ac:c9 brd ff:ff:ff:ff:ff:ff
inet 172.19.7.178/16 brd 172.19.255.255 scope global eth0
inet 6.5.4.3/32 scope global eth0
inet 6.5.4.4/32 scope global eth0
Now, MTP1 config part is done.
Step 21 – Do all the configurations from Aricent Nexgen wizard OR copy any old files i.e.,
/prd/stack/conf folder to be copied.
Step 22 – vim /prd/stack/conf/app.conf [this is for TEP (top end processes) LWSG ]
Change the INSTANCE IP Addresses
# INSTANCE Instance_Id Variant IP_Address Server_port Layer
INSTANCE 1 ITU 172.19.7.177 10022 MAPUSER
INSTANCE 2 ITU 172.19.7.178 10024 MAPUSER
i.e., Currently stack is running on 7.177 (one node setup) and we are specifying that LWSG is running
on 7.177 and 7.178.
Step 23 - vim /prd/stack/conf/env.ini [this is for EM configurations ]
Change the EM1_IP, EM1_IP and SELF_IP
EM1_IP=172.19.7.177
EM1_PORT=5100
EM2_IP=172.19.7.178
EM2_PORT=5200
SELF_IP=172.19.7.177
Step 23 – vim /prd/stack/conf/ss7p.conf [ this is for BEP (back end processes ) ]
Change the BEP and FEP Instance IPs (only IPs)
#BEP
# INSTANCE Instance_Identifier Variant IP_Address Server_port
INSTANCE 1 ITU 172.19.7.177 10008
INSTANCE 2 ITU 172.19.7.178 10012
#FEP
SS7_TIER_1
# Each row denotes information for FEP instance.
# This has to be modified depending on the number of FEP instances
# The configuration below is for 2 FEP instances
#
# INSTANCE Instance_Identifier Variant IP_Address Server_port Layer Secondary IP_addr
INSTANCE 1 ITU 172.19.7.177 10000 M3UA 6.5.4.2
INSTANCE 2 ITU 172.19.7.178 10004 M3UA 6.5.4.4
Step 24 -
Repeat Step 2 to 23 on the other TWO machines.
Step 25 – Go to the first machine 7.177
[root@localhost bin]# ./app_map –v
./app_map: error while loading shared libraries: libmp_package.so: cannot open shared object file:
No such file or directory
To resolve the above error
This files will be present in
/prd/stack/lib
So, execute the below command
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: /prd/stack/lib
OR
Add it to .bash_profile
Now, run the above command, it shows app map version and confirms that its successful and all the
libs are intact.
[root@localhost bin]# ./app_map -v
APP_MAP Version Number :2.0.2.0.0
process will terminate after T-15 secs due to error[0]
Frame[0] ./app_map(exit_handler+0x6d) [0x80508f9]
Frame[1] /lib/libc.so.6(exit+0xdf) [0x35314f]
Frame[2] ./app_map() [0x8050e85]
Frame[3] ./app_map() [0x8052070]
Frame[4] /lib/libc.so.6(__libc_start_main+0xe6) [0x33bce6]
Frame[5] ./app_map() [0x8050601]
[root@localhost bin]#
Step 26 – Start stack
[root@localhost bin]# /prd/monit/bin/monit -c /prd/monit/conf/monitrc start all
If any library issues are there resolve it with below commands in ".bash_profile"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/prd/stack/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib64
And, check for library support on the monit exe
Goto /prd/monit/bin
And run
ldd monit
ldd monit_64
and look for any library miss.
./app_map –v [ This is to check the library in stack binaries, once we see app map version we can
press ctrl + c and move on ]
chmod -R 700 prd
Use the below command to run stack
/prd/monit/bin/monit_64 -c /prd/monit/conf/monitrc start all
ps -eaf | grep stack
[root@localhost prd]# ps -eaf | grep stack
root 7483 1 3 00:07 ? 00:00:10 /prd/stack/bin/em -a 172.19.7.177 -s 172.19.7.178 -p 5100 -r 5200 -d /prd/stack/logs -l
root 7492 1 0 00:07 ? 00:00:01 /prd/stack/bin/ss7p -a 172.19.7.177:5100 -s 172.19.7.178:5200 -d /prd/stack/logs -i 1 -m
172.19.7.177 -t 1
root 7504 1 3 00:07 ? 00:00:10 /prd/stack/bin/app_map_em -a 172.19.7.177 -s 172.19.7.178 -p 5100 -r 5200 -d /prd/stack/logs -l
root 7513 1 0 00:07 ? 00:00:01 /prd/stack/bin/app_map -a 172.19.7.177:5100 -s 172.19.7.178:5200 -d /prd/stack/logs -i 1 -m
172.19.7.177 -t 2
root 7537 7408 0 00:12 pts/2 00:00:00 grep stack
[root@localhost prd]#
Go to /prd/stack/scripts
./start_cli
SS7 Platform Command Line Interface
Type ? for SS7 Platform Management Commands
Type help <enter> for shell Commands
<> info cm
Now, we can see Status of BEP and FEP of TWO node setup of different stack instance.
./start_map_cli
Now, we can see Status of TEP and BEP of TWO node setup of different stack instance.
Repeat Step 25 and Step 26 on remaining TWO machines
Step 27 – Run [root@VM4 stack]# tethereal -i any sctp]
On all the servers to check the sctp connectivity b/n machines
LWSG Part
Step 28 – Go to 1st machine i.e. active node 7.177
Vim /prd/lwsg/etc/config/maf.ini
And search for NEX
[NEXGEN_APP_INIT]
#Tier,InstId,PrimaryIP,PrimaryPort,SeconIP,SeconPort,SelfIP,IPCOption
APP_EM=3,1,172.19.1.63,5100,172.19.1.64,5200,172.19.1.63,INDEPENDENT_POLLING
APP_EM=3,1,[1st node BEP],5100,[2nd node BEP IP],5200,[Self IP],INDEPENDENT_POLLING
Instance ID mentioned GREEN colour should be 2 on machine 2.
This should match with app.conf
And, change the point codes which is configured in ss7p.prov
#SSN,LayerId,UserId,SapId,PointCode,RespWaitTime
1=SS_HLR,MAP,1,1,5566,10
2=SS_MSC,MAP,2,1,5566,10
3=SS_VLR,MAP,3,1,5566,10
4=SS_GSMSCF,MAP,4,1,5566,10
Log locations specify in and LWSG listeing port in /prd/lwsg/etc/config/lwsgserver.ini
Go to /prd/lwsg/logserver
ldd log_server_1.3.1_64Bit
and look for missing libraries, if something is missing export it
[root@localhost logserver]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/prd/stack/lib/
[root@localhost logserver]# export LWSG_CFG_PATH='/prd/lwsg/etc/config/'
To resolve this below issue
liblog4cpp.so.4 => not found
mount the volume
mount 172.19.1.25:/data/pub/ /mnt
ls | grep log4cpp
rpm –ivh log4cpp-1.0.el6.x86_64.rpm
then start LWSG
[root@localhost logserver]# ./startlogserver_64Bit.sh
[root@localhost logserver]# ps -eaf | grep logserver
root 8189 1 0 01:51 pts/2 00:00:00 ./log_server_1.3.1_64Bit -c logserver.cfg
root 8200 7408 0 01:52 pts/2 00:00:00 grep logserver
[root@localhost logserver]#
Goto LWSG/bin
/prd/lwsg/bin
Create a link to lwsgserver_comp_64bit_logserver
ln -s lwsgserver_comp_64bit_logserver lwsgserver
and run the provided script to start LWSG
/prd/lwsg/etc/scripts/startlwsg
Stack is up, Logserver is up and LWSG is up……..HAPPY STACK TESTING…..