This section of the manual covers the installation, basic configuration, and control the SGC component of OCSS7.
The Rhino-side component of OCSS7, the TCAP stack, is automatically installed with CGIN and has no special installation procedure or requirements beyond those of Rhino and CGIN. Information on configuration the TCAP stack component can be found in TCAP Stack configuration. |
Checking prerequisites
Before installing OCSS7, make sure you have the required Operating System, Hardware, and Software.
Before attempting a production installation please also see Network Architecture Planning.
Operating System
OS | Version |
---|---|
Linux |
RedHat Enterprise Linux 6.3 on x86-64 architectures (however, OCSS7 has also been successfully deployed on other versions of Linux) |
Hardware
The general hardware requirements below are for an OCSS7 SGC production system, used for live deployment.
Hardware | Minimum | Recommended |
---|---|---|
Type of machine |
Current commodity hardware and CPUs |
|
Number of machines |
1 |
2 or more |
Number of CPU cores per machine |
2 |
2 - 16 |
RAM requirements per machine |
1 GB |
2+ GB |
Network interface |
Switched ethernet |
|
Network interface requirements per machine |
2 interfaces at 100Mb |
2 or more interfaces at 1Gb |
Software
The OCSS7 SGC requires these versions of Java and SCTP.
Software | Required | ||
---|---|---|---|
Java |
Compliant with Sun/Oracle Java version 7 update 55 32-bit and 64-bit.
|
||
SCTP |
Compliant with lksctp-tools package version 1.0.10 and later. To enable SCTP support on RedHat Enterprise Linux 6.3, please install the lksctp-tools package, using the command:
|
Configuring network features
See also
Network Architecture Planning
|
Before installing OCSS7, please configure the following network features:
Feature | What to configure |
---|---|
IP address |
Make sure the system has an IPv4 or IPv6 address and is visible on the network. |
Host names |
Make sure that the system can resolve the localhost to loopback interface. |
Multicast addresses |
If the local system has a firewall installed, modify its rules to allow multicast UDP traffic:
|
Unicast addresses |
If the local system has a firewall installed, modify its rules to allow TCP traffic:
|
OCSS7 network configuration related to cluster operation can be customized by providing a hazelcast.xml
configuration file in the config subdirectory of the OCSS7 distribution (for example, rename config/hazelcast.xml.sample
to config/hazelcast.xml
). For a description of possible configuration options, and the format of the hazelcast.xml
configuration file, please see the Hazelcast In-Memory Data Grid Documentation (Version 2.6).
IPv6 considerations
When using IPv6 addressing, remember to configure the PREFER_IPV4 property in the SGC_HOME/config/sgcenv file. For details, please see Configuring SGC_HOME/config/sgcenv.
|
User process tuning
Ensure that the user that OCSS7 will be running under has a soft limit of no less than 4096 user processes.
The number of permitted user processes may be determined at runtime using the ulimit command; for example
ulimit -Su This value may be changed by editing /etc/security/limits.conf as root, and adding (or altering) the line:
It may also be necessary to increase the hard limit:
|
SCTP tuning
For optimal performance, tune these kernel parameters:
Parameter | Recommended value | What it specifies |
---|---|---|
|
|
Default receive buffer size (in bytes) |
|
|
Default send buffer size (in bytes) |
|
|
Maximum receive buffer size (in bytes) This value limits the |
|
|
Maximum send buffer size (in bytes) This value limits the |
|
|
Minimum retransmission timeout (in ms) This should be greater than the |
|
|
Delayed acknowledgement (SACK) timeout (in ms) Should be lower than the retransmission timeout of the remote SCTP endpoints. |
|
|
SCTP heartbeat interval (in ms) |
Kernel parameters can be changed
|
SGC Installation
To install OCSS7: unpack and configure then create additional nodes.
Unpack and configure
SGC_HOME
The following instructions use |
To begin the SGC installation and create the first node:
1 |
Unpack the SGC archive file
Run: unzip ocss7-package-VERSION.zip (replacing This creates the distribution directory, |
---|---|
2 |
Make sure that the |
3 |
Configure basic cluster / node information
If your installation will use more than a single node in a SGC cluster, then:
If you are planning to use more than one SGC cluster in the same local network then:
|
Creating additional nodes
After installing the first SGC node in a cluster, you can add more nodes by either:
-
copying the installation directory of an existing node, and changing the
ss7.instance
property inSGC_HOME/config/SGC.properties
to a value unique among all the other nodes in the cluster.
or
-
repeating the installation steps for another node,
-
setting the
ss7.instance
property inSGC_HOME/config/SGC.properties
to a value unique among all other nodes in the cluster, -
setting the
hazelcast.group
inSGC_HOME/config/SGC.properties
to the value chosen as cluster name, and -
repeating any other installation customization steps.
Layout of the SGC installation
A typical SGC installation contains these subdirectories:
Directory | Contents |
---|---|
|
(SGC installation directory)
|
|
SGC management scripts |
|
command line interface installation, including start scripts, configuration, and logs |
|
configuration files which may be edited by the user as required |
|
supplementary documentation included as a convenience, such as SNMP MIB files |
|
Java libraries used by the SGC |
|
third-party software licenses |
|
log output from the SGC |
|
persisted cluster configuration ( |
Running the SGC
SGC operations
JAVA_HOME
The SGC script expects the |
The SGC is started and stopped using the SGC_HOME/bin/sgc script
.
The sgc
script runs SGC under a watchdog: if the SGC process exits for an unrecognized reason it is automatically restarted. Output from the SGC and from the watchdog script is redirected into a startup log file. The startup log files are in SGC_HOME/logs
directory and are named startup.<startup-time>
. If startup fails for any reason, details about the failure should be available in the startup file.
The sgc script is configured in SGC_HOME/config/sgcenv
. The sgcenv
file contains JVM parameters which cannot be provided in the SGC.properties file.
The sgc
script can be run with the following arguments:
Command argument | Optional arguments | Description |
---|---|---|
|
|
Starts the SGC using the configuration from
|
|
|
Stops the SGC. Without the |
|
|
Equivalent of |
|
|
Runs the SGC in test mode. In test mode, SGC runs in the foreground; and logging is configured in |
|
|
Runs the SGC in foreground mode. SGC is not demonized. |
|
Prints the status of SGC and returns one of these LSB-compatible exit codes:
|
For example:
Start SGC |
|
---|---|
Stop SGC |
|
Check SGC status |
|
Configuring SGC_HOME/config/sgcenv
The SGC_HOME/config/sgcenv
file contains configuration parameters for the sgc
script. The following settings are supported:
Variable name | Descriptions | Valid Values | Default |
---|---|---|---|
|
Location of the JVM home directory. |
||
|
Host that SGC should bind to in order to listen for incoming JMX connections. |
IPv4 or IPv6 address |
|
|
Port where SGC binds for incoming JMX connections. |
|
|
|
Whether or not the JMX connection should be secured with SSL/TLS. For details, please see Securing the SGC JMX management connection with SSL/TLS. |
|
|
|
Whether or not the SGC should require a trusted client certificate for an SSL/TLS-secured JMX connection. For details, please see Securing the SGC JMX management connection with SSL/TLS. |
||
|
Path to the configuration file with properties used to secure the JMX management connection. For details, please see Securing the SGC JMX management connection with SSL/TLS. |
||
|
Password used during generation of the key store and trust store used to secure the JMX management connection. For details, please see Securing the SGC JMX management connection with SSL/TLS. |
|
|
|
Maximum size of the JVM heap space. |
||
|
Initial size of the JVM heap space. |
||
|
Maximum size of the JVM permgen space. |
||
|
Full override of default garbage collections settings. |
||
|
Additional JVM parameters. Modifications should add to the existing |
||
|
The log4j configuration file to be used in normal mode (start/restart/foreground). |
||
|
The log4j configuration file to be used in test mode. |
||
|
Location of the SGC properties file. |
||
|
Whether or not the watchdog is enabled. Disabling the watchdog may be required if the SGC is run under the control of some other HA systems. |
|
|
|
Enables additional script information. |
|
|
|
Prefers using IPv4 protocol. Set value to |
|
|
|
On NUMA architecture machines, this parameter allows selecting specific CPU and memory bindings for SGC. |
||
|
On non-NUMA architecture machines, this parameter may be used to set SGC affinity to specific CPUs. |
JMX Connector configuration variables
|
Installing SGC as a service
To install SGC as a service, perform the following operations as user root
:
1 |
Copy # copy $SGC_HOME/bin/sgcd /etc/init.d |
---|---|
2 |
Grant execute permissions to # chmod a+x /etc/init.d/sgcd |
3 |
Create the file SGC=/opt/sgc/current/bin/sgc SGCUSER=sgc |
4 |
Activate the service using the standard RedHat command: # chkconfig --add sgcd |