0 Votes

Media Engine

Last modified by Jeff McDonald on 2021/09/27 11:09

Instructions for installing and configuring the WSC Media Engine...

Hardware Requirements

Minimum hardware requirements:

PropertyValueComments
CPUs2Minimum required to boot.
RAM4 GBMinimum required to boot.
Disk50 GBMinimum required to boot.
Ethernet NICs4Will boot with 1 NIC, but typical installations require separate public, private, service and cluster networks.
OSOracle Linux 7.2Contact Oracle Support for updates regarding later versions of Linux.

Oracle Linux 7.2

As of this writing, the current version of WSC (7.2.0.2.0) requires Oracle Linux 7.2 to install. However, running "yum update" to upgrade the system to 7.7+ appears to work just fine.

Linux Installation Wizard

The WSC-ME requires four (4) network cards

NICDescription
eth0Cluster (Private)
eth1Network 1 (Public)
eth2Network 2 (Private)
eth3Service (Private)

The WSC-ME does not support Predictable Network Interface Names.

To disable it, during installation, upon the initial install screen, press TAB, and add the following parameter to the boot parameters:

net.ifnames=0

Example:

> vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=OL-7.2\x20Server.x86_64 rd.live.check quiet net.ifnames=0

Also, remember to:

  • Set the host name
  • Configure each network interface to "Automatically connect to this network when it is available"

In addition, on the installation summary screen, perform the following tasks:

  • Set the timezone and enable Network Time
  • Choose Minimal Install (default)
  • Select the installation drive

Additional Components

After changing the network card naming conventions, it is now safe to install WSC.

This also requires installing:

  • wget
  • unzip
  • JDK 8
  • JAX-WS RI 2.3
  • MySQL 5.6

Update Linux

Steps to update Linux, install 'unzip' and enable the MySQL 5.6 repository:

yum -y install yum-utils
yum-config-manager --enable ol7_optional_latest
yum-config-manager --enable ol7_MySQL56
yum -y update

Install Java

The WSC Signaling Engine requires Oracle Java, but the Media Engine will work with the OpenJDK (which is simpler to install).

To install:

yum -y install java-1.8.0-openjdk-devel

Check Entropy

Every time you install Java, you should check the 'entropy' available. This is random input from the keyboard and mouse during install, which is used to for the generation of random numbers (which are used in SIP messages). If the 'entropy' is too small, it will seriously impact performance.

To check, type:

[root@wscme5 ~]# cat /proc/sys/kernel/random/entropy_avail

579

If the 'entropy' is below 1000, we need to modify the JDK's random number generator from 'secure' to 'unsecure'.

Change Java Random Number Generator

To change the random number generator, we need to determine where Java is installed. Here's a nifty way of doing it:

[root@wscme5 java]# java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'

java.home = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre

Inside that directory, there's a file called: /lib/security/java.security.

We need to modify it to change the "securerandom.source" from "file:/dev/random" to "file:/dev/urandom". Here's an example, using 'sed':

cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre

sed -i "s/securerandom.source=file:\/dev\/random/securerandom.source=file:\/dev\/urandom/g" lib/security/java.security

Install JAX-WS RI

Also, download JAX-WS RI 2.3.1 and install:

yum -y install wget unzip
wget https://repo1.maven.org/maven2/com/sun/xml/ws/jaxws-ri/2.3.1/jaxws-ri-2.3.1.zip
unzip jaxws-ri-2.3.1.zip -d /usr/share/java
rm -rf jaxws-ri-2.3.1.zip

Upload any Golden Configs

You may be supplied with a "cxc.cfg" file. This is a good time to upload it. Once you install WSC-ME, you will lose the ability to SFTP or SCP any files.

Install WSC

Don't forget to check 'edelivery' for patches.

Enable additional repositories:

yum-config-manager --enable ol7_optional_latest

Unzip RPM packages:

mkdir -p /root/install/wsc-me-7.2.1.0.0
unzip wsc-me-7.2.1.0.0-2020-07-31.zip -d /root/install/wsc-me-7.2.1.0.0

Create a local YUM repository, like so:

cat > /etc/yum.repos.d/wsc-me-7.2.1.0.0.repo <<EOT
[wsc-me-7.2.1.0.0]
name=WebRTC Session Controller Media Engine Release 7.2.1.0.0
baseurl=file://
/root/install/wsc-me-7.2.1.0.0
enabled=1
gpgcheck=0
EOT

Take a backup

The next steps will make major changes that cannot be undone.
This is a good point to make a backup if you are installing on a VM.

Install via YUM:

yum -y install wsc-me

Restart

Restart the system

reboot

Congratulations! You are now ready to move on to the next exercise: Configure WSC-ME.


Configuration

After installing the WSC-ME, it is now time to configure it.

Login

Upon reboot, let's login.

Oracle Linux Server 7.7
Kernel 3.8.13-118.18.4.trunk.245025.el7uekcov.x86_64 on an x86_64

wscme5 login: root


Net-Net OS-E
Copyright (c) 2004-2013  Oracle Inc.

username: <return>
password: <return>

Access is granted since there are no configured users

NNOS-E>

Wild! The machine has changed considerably...

If you do not see this initial screen, type the command 'login'.

The first thing we need to do is make a backup of a configuration file called "cxc.cfg". This contains all the important configuration information for the WSC-ME.

Here's example of how to do it:

NNOS-E> shell
[root@wscme5 cxc]# cp cxc.cfg cxc.bak1

Perfect! Now, if we make a mistake we can at least revert back the original install configuration.