Installation
Installation Overview
The N-Squared Service Control Point software is released in a single package.
Instructions for installing this package are given below.
Once installed, the appropriate configuration must be applied in order to bring the platform into service.
OS Support
N2SCP packages are designed to be installed on Linux-based systems such as Red Hat Linux and Debian. Installation is performed using standard package management tools:
yum
/dnf
andrpm
on Red Hat systems.apt
,apt-get
anddpkg
on Debian systems.
N2SCP is officially supported on the following systems:
- Red Hat systems:
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Debian systems:
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
In practice, N2SCP will run on any relatively modern Debian-based or Red Hat-based distribution with appropriate adjustments to these installation instructions.
Minimum Server Requirements
The recommended minimum requirements for N2SCP applications are:
Free Disk | RAM | CPU GHz | Notes |
---|---|---|---|
5GB | 8GB | 2x 2GHz | Resource-intensive under load; scale according to expected call traffic. |
Installation Planning
When planning the footprint of an N2SCP platform, at least two N2SCP nodes should be present, with each able to take the projected full load of call traffic. This allows maintenance of one node at a time while still providing service. It is expected that the signalling network will perform the appropriate loadsharing of calls during both day-to-day activities and maintenance windows. Note that each call, once started, will be affined to a single N2SCP node.
Note that each call, once started, must be affined to a single N2SCP node in order to hold the call state; call state is not shared between nodes.
Installation Disclaimer
No installation guide can cover every pre-requisite or potential eventuality of package installation. While N-Squared has documented the expected N2SCP installation steps, sometimes a target environment may differ in an unexpected manner and require additional or alternative steps actions to achieve an operational N2SCP environment. Please contact N-Squared to discuss such situations.
Package Availability
Individual packages for manual installation are available on request from N-Squared as part of a licensed software or services agreement.
N-Squared may alternately furnish access details for a software repository that can be integrated with your OS package management tools or satellite repository server directly for ease of installation and maintenance.
Package Versions
All packages distributed by N-Squared will include the following parts to identify them uniquely:
<NAME>
- the name of the package, as referred to in these instructions.<M>
- the major revision number of the package.<m>
- the minor revision number of the package.<p>
- the point release number of the package.<b>
- the build number of the package release.
Package names take a slightly different format, depending on the OS type.
RPM-based Systems | DEB-based Systems |
---|---|
<NAME>-<M>.<m>.<p>-b.noarch.rpm |
<NAME>_<M>.<m>.<p>-<b>_all.deb |
Installation Instructions
The high-level steps for installing and configuring N2SCP nodes are:
- Determine the server(s) that will N2SCP nodes, bearing in mind the supported operating systems and minimum server requirements.
- Ensure the installation pre-requisites are met.
- Install the N2SCP package.
- Perform any required post-installation steps.
- Update the N2SCP configuration as desired.
Installation Pre-requisites
OS-specific Setup
Refer to the specific Red Hat or Debian instructions for any pre-requisites as required.
Lua
Each N2SCP instance requires Lua to be available at version 5.2+. Specifically, both lua
and luac
must be present
in the PATH
for all users. Consult your operating system documentation to determine the appropriate package to
install.
If your distribution does not support Lua at version 5.2+, N-Squared maintains a pre-packaged, separately-installable version of Lua that meets N2SCP’s requirements. Contact N-Squared Support to discuss access to this if required.
N2SVCD
The N-Squared application framework N2SVCD must be installed. Follow the installation steps for this, noting any prerequisites.
The N2SCP package also expects that the default N2SVCD configuration directory exists:
/etc/n2svcd
Be sure to apply any applicable N2SVCD post-installation steps once installation is complete.
Installation Steps
Follow the appropriate installation steps depending on your installation sources.
From N-Squared Repository
Execute the instructions specific to your operating system:
RHEL 8 | Other RPM-based Systems | DEB-based Systems |
---|---|---|
sudo dnf install n2scp-svc |
sudo yum install n2scp-svc |
sudo apt-get install n2scp-svc |
As Manual Installation
Transfer the provided package file to the target node, then follow the instructions specific to your operating system.
Execute (adjusting as appropriate for package location and version details) the following:
RPM-based Systems | DEB-based Systems |
---|---|
sudo rpm -Uvh /path/to/n2scp-svc-M.m.p-b.noarch.rpm |
sudo dpkg -i /path/to/n2scp-svc_M.m.p-b_all.deb |
Post-Installation Steps
N2SVCD Integration
The N2SCP runtime uses the several N2SVCD applications to perform call handling functions. For N2SCP call handling, the N2SVCD configuration must include an N2SVCD-based application (e.g. the N2SCP-LHO) and an N2SVCD SIGTRAN application to receive call triggers.
At a high level, the required configuration for these applications looks like:
<application name="LHO" module="LhoScpApp">
...
<parameters>
...
<parameter name="cug_db_app_name" value="DB"/>
</parameters>
</application>
<application name="SIGTRAN" module="SigtranApp">
...
<config>
...
<handlers>
<handler service_key="30" ssn="106" application="LHO"/>
</handlers>
</config>
</application>
Once N2SVCD is updated, restart the service:
systemctl | System V |
---|---|
sudo systemctl restart n2svcd |
sudo service n2svcd restart |
Reporting Integration
Statistics and EDRs may be disabled or sent to a data repository. Note that if EDRs are not disabled or transferred, they may eventually fill the file system.
Firewall
The firewall (if any) on the N2SCP nodes must be updated to allow:
- Establishment of the inbound or outbound SIGTRAN and/or SIP/RTP connectivity to the core network.
If required, the firewall (if any) on the N2SCP node may also be updated to allow:
- Inbound requests for the N2SVCD administrative GUI/API.
If statistics and EDRs are to be retained, the firewall must be updated to allow access for:
- Outbound statistics measurements to the repository.
- Outbound EDRs to the repository.
The exact commands to do this will depend both on the firewall on your platform and also which port(s) are in use. For
example, to allow the default PostgreSQL port when using firewalld
, the commands might be:
firewall-cmd --zone=public --add-port=5432/tcp --permanent
service firewalld restart