Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Якорь
with_one_server
with_one_server

Оглавление
printablefalse

Initial data

Информация

Initial data

Integration of the ECSS-10 Class 5 software switch (SSW) on 1 physical server with support for SIP with the following parameters per load:

  • Maximum number of subscribers — 15.000 (MUL — Max user limit);
  • Maximum number of simultaneous connections — 2000 (MCL — Max call limit);
  • System redundancy is not required;
  • The number of Ethernet network interfaces — 4.

...

Table 1. Recommended hardware solutions

Requirements for SSW servers

Hardware product series

Light

Light+

Midi

Heavy

Super Heavy

System specifications

Maximum number of subscribers

3000

5000

10000

20000

40000

Maximum load of simultaneous connections class 5

500

800

1500

3000

6000

Maximum load of simultaneous connections class 4

1500

2400

4500

9000

20000


Server specifications

Model

HP (Lenovo)

HP (Lenovo)

HP (Lenovo)

HP (Lenovo)

HP (Lenovo)

Series

DL20 Gen10 (SR250)

DL20 Gen10 (SR250)/DL 360 Gen10 (SR530)

DL360 Gen10 (SR530/SR630)

DL360 Gen10 (SR630)

DL 360 Gen10 (SR630)

Processor

Intel Xeon E-2236

Intel Xeon E-2276G/Intel Xeon 4214

Intel Xeon 5220

Intel Xeon 6240

Intel Xeon 8268

Number of processors

1

1

1

2

2

RAM

8 GB

12 GB

16 GB

24 GB

64 GB

HDD

from 3X500 SATA
(from 7200 rpm)

from 3X500 SATA
(from 7200 rpm)

from 3x300 GB SAS (from 10000 rpm)

from 3x600 GB SAS
(from 10000 rpm) 2x150GB SSD

from 6x800 GB SSD, 2x300 GB M.2 SSD

RAID

no raid board

no raid board

HW Raid, from 1 GB cache+battery

HW Raid, from 1 GB cache+battery

HW Raid, from 2GB Flash cache, RAID-5


Additional server components (not included in the basic set)

Remote management license

optional

optional

+

+

+

Redundant power supply

optional

optional

+

+

+

Conversation records storage

additional HDD combined to RAID-5

additional HDD combined to RAID-5

HW Raid license with RAID-5 support, additional HDD for storing records

HW Raid license with RAID-5 support, additional HDD for storing records

HW Raid license with RAID-5 support, additional HDD for storing records


Table 2. Example of drafting hardware requirements

Device

Required resource

Hardware product series

MCL

MUL

Server 1

2000

15000

Heavy

Server 2

After determining the requirements of the project, create a preliminary network map.

Table 3. An example of components allocation in the address space for a single node

Server name (host)

Role

Interface

Address

Port

Static addresses of the software switch

ecss1Server management interface (port 2000 ssh)net.1010.0.10.11/242000
ecss2Server management interface (port 2000 ssh)net.1010.0.10.12/242000

ecss1

Core addres (ecss-core)

net.20

10.0.20.11/24

5000

ecss2

Core addres (ecss-core)

net.20

10.0.20.12/24

5000

ecss1, ecss2Gateway addressnet.1010.0.10.1-
ecss1, ecss2DNS server addressesnet.1010.0.10.1, 8.8.8.8-
ecss1, ecss2NTP server addressesnet.1010.136.16.211, 10.136.16.212123

Internal addresses of the software switch

ecss1virtual address of eccs1 host software adapternet.20:SIP110.0.20.31/24-
ecss2virtual address of eccs2 host software adapternet.20:SIP210.0.20.32/24-
ecss1backup virtual address of eccs2 host software adapter on eccs1 hostnet.20:SIP210.0.20.32/24-
ecss2backup virtual address of eccs1 host software adapter on eccs2 hostnet.20:SIP110.0.20.31/24-
ecss1, ecss2MySQL database virtual address (ecss-mysql)net.10:MYSQL10.0.10.10/243306

Connecting to network

The topology of connecting the server to the network to ensure redundancy is recommended to be done using 2 switches.

...

Server network interfaces are also included in pairs in switches, on which port aggregation (port-channel) is configured in LACP mode. For example, eth0 and eth1 are included to first switch (port-channel 1), and eth2 and eth3 — to the second (port-channel 2).

Configuring network

Install the software switch according to the parameters specified in the technical specification. In this example, it is assumed that the required operating system is already installed. 

...

A single address for accessing the MySQL database is defined for all cluster nodes, for example, the ecss-mysql address 127.0.0.1. Thus, the uniformity condition is fulfilled, in which all cluster nodes have completely identical data about the current state of the dynamic components of the software switch (for example, call history).

Preparing system network interfaces

According to the technical specification, the system has 4 network interfaces. Information about their status can be viewed using the ifconfig or ip a command:

eth0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 36:10:28:73:63:01 txqueuelen 1000 (Ethernet)

eth1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 36:10:28:73:63:01 txqueuelen 1000 (Ethernet)

eth2: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether be:77:ea:52:4d:39 txqueuelen 1000 (Ethernet)

eth3: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether be:77:ea:52:4d:39 txqueuelen 1000 (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0

First, the network interfaces are configured. Ubuntu18 uses the netplan utility to configure.

...

Example of configuring ecss-netplan.yaml file for active-backup connection option:

# Netplan for the ecss1 host of the test software switch
# Pay attention to the mandatory presence of at least two spaces in each line and section (except for the network section line)

network:
version: 2 # netplan version
renderer: networkd # netplan configuration executor
ethernets: # Ethernet interfaces description section
eth0: # Interface name
dhcp4: no # Disabling dynamic distribution of IP address on the interfaces
eth1:
dhcp4: no
eth2:
dhcp4: no
eth3:
dhcp4: no

bonds: # Section describing bonding interfaces. The name cannot contain more than 15 characters!
bond1: # Bonding interface name
interfaces: # Section of determining bonding interfaces
                - eth0
		- eth1
		- eth2
		- eth3
parameters: # Section of defining bonding interface parameters
mode: active-backup # Backup mode 1:1
mii-monitor-interval: 100 # Section of interface monitoring (ms)
primary: eth0 # Section of determining main interface
optional: false

vlans:
   network.10: # Management interface
id: 10
link: bond1
addresses: [10.0.3.237/24]
gateway4: 10.0.10.1 # Gateway address
nameservers:
addresses: [10.0.10.1, 8.8.8.8] # DNS servers addresses
network.20: # interface for VoIP
id: 20
link: bond1
addresses: [10.0.3.237/24]

Apply parameters with the command:

sudo netplan apply


Operating system software update

...

Без форматирования
sudo apt update
sudo apt upgrade

Software installation and configuration

Предупреждение
titleIMPORTANT
Do NOT install the packages as ssw user. 

Install all the proposed packages:

sudo apt install aptitude atop ethtool htop iotop mc minicom mtr-tiny nmap pptpd pv screen ssh tftpd vim sngrep tshark cpanminus gnuplot libgraph-easy-perl debconf-utils

Installing ecss-mysql package

The installation begins with the deployment of the MySQL server and the integration of the ecss-mysql database.

To install, run the command:

sudo apt install ecss-mysql

Configuring ecss-dns-env package

Before installing the ecss-mysql package, you will be prompted to configure environment variables for services in dnsmasq. Configuration manager will prompt to select the sections to configure, do not select anything.

Configuring ecss-mysql package

When installing the package, the following data will be requested:

QuestionsAnswers
Address mask for MySQL (IP pattern for MySQL permission)127.0.0.%
User login (Login for MySQL root)root
MySQL user password (Password for MySQL root)PASSWORD

Changing the default path — agree to change the configuration file to enter the path to the ecss-mysql databases by entering "Y".

MySQL databases used by the ECSS-10 system will be stored under the path /var/lib/ecss-mysql after installation. Check for files in the folder:

ls -l /var/lib/ecss-mysql/
total 36
drwxr-xr-x 2 mysql mysql 4096 Sep 26 13:36 ecss_address_book
drwxr-xr-x 2 mysql mysql 4096 Sep 26 13:37 ecss_audit
drwxr-xr-x 2 mysql mysql 4096 Sep 26 13:36 ecss_calls_db
drwxr-xr-x 2 mysql mysql 4096 Sep 26 13:36 ecss_dialer_db
drwxr-xr-x 2 mysql mysql 4096 Sep 26 13:36 ecss_meeting_db
drwxr-xr-x 2 mysql mysql 4096 Sep 26 13:36 ecss_statistics
drwxr-xr-x 2 mysql mysql 4096 Sep 26 13:36 ecss_subscribers
drwxr-xr-x 2 mysql mysql 4096 Sep 26 13:36 history_db
drwxr-xr-x 2 mysql mysql 4096 Sep 26 14:32 web_conf

Check that the server is running:

sudo systemctl status mysql
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/mysql.service.d
└─override.conf
Active: active (running) since Thu 2019-09-26 13:36:47 +07; 23h ago
Main PID: 11642 (mysqld)
CGroup: /system.slice/mysql.service
└─11642 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Installing the ecss-node package

Installing the ecss-node package:

...

During the package installation ssw user is created, on whose behalf all ecss services are launched*. The necessary directories are being created, DNS is being configured, SSL certificates are being configured. During the installation, 8 questions necessary for the formation of configuration files will be asked.

QuestionsAnswers
Do you want to turn off apt-daily update?Yes
Set DB config to default?Yes
Set alarm true when MYSQL DB overloadsYes
NTP: Do you want use settings for cluster?No 
External NTP servers through a space

ntp.ubuntu.com (by default).

Enter one or more space-separated servers used on the site

NTP: Do you want use local server? No
NTP: Addresses and Masks of Network, which must have access to the ntp through a space

192.168.0.0|255.255.0.0 (by default)

Enter a list of subnets from which this NTP server will be accessible, for example 10.10.0.0|255.255.255.0

Install utilities for working with cdrNo

To generate certificates, select manual method. All questions can be answered as suggested by default.

Installing ecss-media-server, ecss-media-resources, ecss-restf, ecss-web-conf packages

Next, ecss-media-server, ecss-media-resources, ecss-restf, ecss-web-conf and other packagesare installed in any order:

ecss-media-server, ecss-media-resources

Без форматирования
sudo apt install ecss-media-server ecss-media-resources

For the media server (ecss-media-server / MSR), initial configuration is possible with parameters recorded to the configuration file, it is required to perform the configuration without selecting any items:

ecss-media-server questionsAnswers for ecss1
Set default settingsyes
Enter name (Enter)msr.ecss1
Enter address (Entrer)127.0.0.1
Enter port (Entrer)5000

After forming the default configurations, go to the directory where the configurations are located and check them:

...

realm — defines the address for registration on the core. Default entry point: port 5000, address: 127.0.0.1.

ecss-restfs

Без форматирования
sudo apt install ecss-restfs

When installing, you will be prompted to set up the configuration:

QuestionsAnswers

Use TTS service

No

Configure phone book

No

Configure speech recognition service

No

Choose nothing

Ok

ecss-web-conf

Без форматирования
sudo apt install ecss-web-conf

When installing, you will be prompted to set up the configuration:

QuestionsAnswers
Input IP address or hostname of MySQL db for web-conf DB127.0.0.1

Input port of MySQL db for web-conf DB

3306

Input IP address or hostname for ECSS-10 with http_terminal

127.0.0.1

Input port SSW http_terminal

9999
Input login for SSW http_terminaladmin

Input  password for SSW http_terminal

password

Configuring security. SSH

Configuring SSH server:

sudo nano /etc/ssh/sshd_config

In the configuration file specify the port and address where you can access the server:

 Configuring ssh for ecss1(/etc/ssh/sshd_config)

# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.

Port 2000
#AddressFamily any
ListenAddress 10.0.3.237
#ListenAddress ::

<...>

Restart ssh:

Без форматирования
sudo systemctl restart ssh.service

Initial configuration

Start the necessary services.

...