This document tells you how to install and administer the OpenCloud CGIN resource adaptor.
See the CGIN Statement of Compliance for a list of supported protocols and the CGIN Compatibility Guide for details on compatible platforms and software. |
Topics
Adding variables to |
|
Manually or automatically deploying the RA |
|
Setting the CGIN RA’s configuration properties. |
|
An overview of the alarms that CGIN may raise. |
|
Upgrading a cluster using the CGIN Signalware TCAP stack |
|
Adapting to API and schema changes in CGIN 2.0.x. |
|
Gathering logging for support requests. |
This book does not cover stack-specific configuration — for information on OpenCloud’s OCSS7, see the OCSS7 SGC TCAP Stack documentation, or for other stacks, see Using the Mavenir Signalware TCAP Stack, and Using the Simulated TCAP Stack. |
Other documentation for CGIN can be found on the CGIN product page.
Configuring the Deployment File
The first step to installing the CGIN resource adaptor is to configure the deployment file.
Modify deploy.properties
Modify the file $CGIN_CONNECTIVITY_PACK_HOME/deploy.properties
, using the following variables:
Variable | Variable usage and description | Example |
---|---|---|
client.home |
absolute path to a Rhino client installation; by default, this is set to assume that the CGIN connectivity pack was unpacked within an installed Rhino instance |
client.home=${user.home}/RhinoSDK/client |
cginra.properties |
properties to use when deploying the CGIN RA; by default, this uses a simulated TCAP configuration |
cginra.properties=​stack=​signalware,​signalware.​backends=turbine2:20146 |
Both properties must be set. |
The default deployment properties are:
# Configuration settings for deployment done by ant script deploy.xml # client.home is the absolute path to the Rhino client installation. # As released, this assumes that the CGIN connectivity pack has been # installed as a subdirectory of the Rhino install. # If that assumption is not correct, change this property to the right path. client.home=${cgin.basedir}/../client # The entity name used by the CGIN RA. cginra.entityname=cginra # cginra.properties contains the resource adaptor entity configuration properties # that should be used to initialize the CGIN RA. # # Examples are provided for the OCSS7, Signalware and Simulated TCAP stacks. # # Only one of the following is required. # The Simulated TCAP stack. cginra.properties=stack=tcapsim,tcap-variant=ITU,local-sccp-address="type=C7,ri=pcssn,pc=2,ssn=102",\ tcapsim.listen-addresses=localhost:10102,tcapsim.remote-addresses=localhost:10101,tcapsim.sctp-stack=tcp # The Signalware TCAP stack. #cginra.properties=stack=signalware,tcap-variant=ITU,\ # signalware.backends=turbine2:20146 # The OCSS7 TCAP stack. #cginra.properties=stack=ocss7,tcap-variant=ITU,local-sccp-address="type=C7,ri=pcssn,pc=2,ssn=102",\ # ocss7.sgcs=localhost:12201
Deploying the CGIN RA
Install the CGIN RA automatically by running the deployment script.
Run deploy.xml
, under $CGIN_CONNECTIVITY_PACK_HOME/
. For example:
$> ant -f deploy.xml
If this is the first time you create and activate a CGIN RA entity for this installation of Rhino, the TCAP stack may require additional configuration or installation steps — please see the OCSS7 SGC TCAP Stack documentation, Using the Simulated TCAP Stack, or Using the Mavenir Signalware TCAP Stack. |
Administering the CGIN Resource Adaptor Entity
To administer the CGIN resource adaptor entity, set the CGIN RA’s configuration properties.
For example:
$rhino-console> updateraentityconfigproperties cginra local-sccp-address=auto
Most configuration properties may be changed at any time, and will take immediate effect if the resource adaptor entity is active. A few properties, such as the type of TCAP stack used, will not take immediate effect if changed while the resource adaptor entity is active. In this case, an alarm will be raised to warn that changes will only take effect when the entity is next activated.
The RA has a set of universal properties that apply to all CGIN RA entities, and stack-specific properties that depend on the stack that a particular entity is using:
Information on specific configuration properties for each TCAP stack is available for:
For universal configuration properties, see below.
Universal configuration properties
These are the CGIN RA universal configuration parameters:
Parameter | Default Value | Usage and description | ||
---|---|---|---|---|
stack |
signalware |
Short name of the TCAP stack to use. Can be one of
|
||
enabled-protocols |
etsi_inap_cs1,cap_v1, cap_v2,cap_v3,cap_v4, map |
The list of protocols enabled in the RA; for example: etsi_inap_cs1,cap_v1,cap_v2,cap_v3,cap_v4,map |
||
default-activity-timeout |
1800000 |
The default dialog activity timeout, measured in milliseconds. This specifies the initial dialog activity timeout used for newly created dialogs. |
||
default-invoke-timeout |
15000 |
The default TCAP Invoke Timeout, measured in milliseconds. This specifies the invoke timeout for operations where the service has not provided an invoke timeout value. |
||
tcap-variant |
ITU |
The TCAP variant to use: |
||
default-tcap-version |
2000 |
The TCAP version to assume when this cannot be automatically determined. This may be the case for:
Valid options are:
When in 1988 mode, ANSI TCAP will:
|
||
local-sccp-address |
auto |
Used for outgoing The address should be formatted in the format that
|
||
relaxed-decoding |
False |
Boolean value specifying whether to relax the BER decoding rules to allow certain types of malformed data. |
||
acn-inbound-aliases |
{}:map.phase-1 |
For dialogs where CGIN is the dialog responder, configures the CGIN RA to accept the external application context name as a synonym for the internal application context name. Comma-separated list of values in
|
||
acn-outbound-mappings |
|
Comma-separated list of values in
See |
||
enforce-permission-to-release |
True |
(ANSI TCAP only) Boolean value specifying whether to enforce permission to release when sending and receiving a Query package. |
||
relaxed-linked-invocation-checks |
False |
Boolean value specifying whether to relax the linked invocation checks to allow linked invokes to be received without a correlation ID, or to permit sending and receiving of invokes with correlation IDs where this is not expected. |
||
|
||||
tcap-fibers.max-pool-size |
4 |
The maximum number of threads in the thread pool. If zero, then no thread pool is used. |
||
tcap-fibers.queue-size |
250 |
The maximum size of the queue used to store work waiting for processing by the thread pool. If the queue is full, then work is executed directly in the calling thread. |
SCCP Address Format
Below are mandatory, point code — SSN, and global title parameters for the CGIN RA local-sccp-address
configuration property.
Mandatory parameters
An SCCP address string must be formatted as comma-separated name/value pairs. The following parameters are mandatory:
Parameter | Description | Valid values |
---|---|---|
type |
SCCP address type |
|
ri |
Routing indicator |
|
Point code — SSN parameters
Parameter | Description | Valid values |
---|---|---|
pc |
Point code |
Formatted as either:
|
ssn |
Subsystem number |
in the range |
Global title parameters
Parameter | Description | Valid values |
---|---|---|
digits |
Global title address digits |
|
nature |
Global title nature of address indicator |
|
numbering |
Global title number plan |
|
tt |
Global title translation type |
in the range |
national |
Global title national indicator |
|
gti |
Global title indicator |
|
Global title rules
When specifying global titles, the following rules apply:
-
Global title parameters are only included in the returned address if
digits
is specified. -
The global title indicator used depends on the SCCP address and parameter values, as follows:
For these SCCP addresses: | If these values are specified: | This global title indicator is used: |
---|---|---|
|
|
GT_0001 |
|
GT_0010 |
|
|
GT_0011 |
|
|
GT_0100 |
|
unspecified |
The number plan defaults to |
|
|
|
GT_0010 |
|
GT_0001 |
For example:
type=c7,ri=pcssn,pc=4012,ssn=123
type=c7,ri=pcssn,pc=1/245/7,ssn=123
type=c7,ri=gt,digits=34607012345,nature=national,national=true
CGIN Alarms
This document provides a list of the alarms that may be raised by CGIN:
Core CGIN Alarms
Alarm | Instance ID | Level | Description |
---|---|---|---|
|
|
|
This alarm is raised when the CGIN RA entity cannot be activated. It is automatically cleared when the CGIN RA entity is deactivated. |
|
|
|
This alarm is raised when active reconfiguration fails. See the raised alarm for the reason why active reconfiguration failed. Once the reason for the reconfiguration failure is resolved the alarm will be automatically cleared. |
Stack Specific Alarms
OpenCloud OCSS7 Stack
Alarm | Instance ID | Level | Description |
---|---|---|---|
|
the resource adaptor entity name |
|
This alarm is raised when a TCAP stack configured via the legacy It is cleared when a connection is succesfully made to the cluster. |
|
the address of the affected connection |
|
This alarm is raised when a TCAP stack configured via It is cleared the connection has been successfully reestablished. |
|
|
|
This alarm is raised when the OCSS7 TCAP stack is unable to schedule an invoke timer. This usually occurs when This alarm must be manually cleared as it indicates a configuration problem that must be resolved. |
|
|
|
This alarm is raised when the OCSS7 TCAP stack is unable to schedule an activity timer. This usually occurs when This alarm must be manually cleared as it indicates a configuration problem that must be resolved. |
Mavenir Signalware Stack
Alarm | Instance ID | Level | Description |
---|---|---|---|
|
the address of the affected connection |
|
This alarm is raised when an existing connection to a backend is lost, or the initial connection cannot be established. It is automatically cleared when the connection is successfully established. |
|
the address of the affected connection |
|
This alarm is raised when a connection’s heartbeat is lost. This indicates that TCP/IP traffic is not flowing between CGIN and the backend. This can occur for multiple reasons, including network failure, stop-the-world activity in either CGIN or the backend, or CPU overload in either the CGIN or backend hosts. It is automatically cleared when the heartbeat is reestablished. |
Simulated TCAP Stack
Alarm | Instance ID | Level | Description |
---|---|---|---|
|
the address of the affected connection |
|
This alarm is raised when a TCAP stack configured via It is cleared the connection has been successfully reestablished. |
Appendix A. Cluster Upgrade Procedures
This page includes instructions for doing a live upgrade from an existing Rhino cluster that is receiving traffic through CGIN, to a new cluster that has the same configuration but different software versions (such as a new Rhino or CGIN version, or new service version if it can’t be done in a single cluster).
These procedures refer specifically to upgrading the CGIN component. They do not cover upgrading the underlying OpenCloud OCSS7 SGC stack or Mavenir Signalware stack. |
Below are general information about and then instructions for performing upgrades using STP redirection, OCSS7 In-place upgrade and Signalware In-place upgrade.
About cluster upgrades with CGIN
Below is a table of possible upgrade paths for clusters using the CGIN OCSS7 TCAP stack or Signalware TCAP stack:
Old version | New version | Upgrade using STP redirect? | Upgrade in-place (Signalware)? | Upgrade in-place (OCSS7)? |
---|---|---|---|---|
1.5.x |
2.0.x |
Yes |
Yes |
Yes |
2.0.x |
2.0.x |
Yes |
Yes |
Yes |
A warning about ETC/ARI dialog correlation
ETC/ARI dialog correlation arranges for inbound ARI dialogs to be directed to the same cluster node that sent the corresponding ETC. In general, dialog correlation can only happen within a single cluster. During an upgrade, there are two clusters present and receiving traffic. If an ARI dialog is received by the "wrong" cluster (a cluster that did not send the corresponding ETC), then correlation will fail, and the ARI will not be directed to the correct cluster node. If dialog correlation is used, then care should be taken to ensure that ARI dialogs are directed to the correct cluster — for example, by configuring the service deployed in the new cluster to send ETCs that direct the ARI dialogs to an SCP address associated with the new cluster only. |
Upgrades using STP redirection
This approach manages the upgrade externally to Rhino and OCSS7 or Signalware, and requires support from the STP and surrounding network, and in some configurations, support in the existing service. |
Prerequisites
Before upgrading using STP redirection, make sure that:
-
Inbound
TC-BEGINs
are addressed to a "logical" GT. The STP translates this GT to one-of-N "physical" addresses using a load-balancing mechanism. These "physical" addresses route to a particular cluster. -
Optionally, the STP may rewrite the "logical" called party address in the
TC-BEGIN
to the "physical" address. -
The STP needs the ability to reconfigure the translation addresses in use at runtime.
-
The old and new clusters are assigned different "physical" addresses.
-
If the STP did not rewrite the "logical" called party address in the
TC-BEGIN
to the "physical" address, then the service must ensure that the initial respondingTC-CONTINUE
provides an SCCP Calling Party Address that is the "physical" address for the cluster that is responding. -
Subsequent traffic uses the "physical" address using normal TCAP procedures.
Upgrade process
To upgrade using STP redirection:
1 |
Set up the new cluster with a new "physical" address. |
---|---|
2 |
Configure and activate the new cluster. |
3 |
Reconfigure the STP to include the new cluster’s physical address when translating the logical GT. |
4 |
Verify that traffic is processed by the new cluster correctly. |
5 |
Reconfigure the STP to exclude the old cluster’s physical address when translating the logical GT. |
6 |
Wait for all existing dialogs to drain from the old cluster. |
7 |
Halt the old cluster. |
OCSS7 In-place upgrade procedure
This upgrade process supports upgrades where the service in use may initiate outbound CGIN dialogs. |
1 |
Set up the new cluster
Now you should have the "new" cluster configured, but
|
||||
---|---|---|---|---|---|
2 |
Start the new cluster
|
||||
3 |
Drain calls from the old cluster
At this point, all new dialogs will be directed to the new cluster only. The old cluster will only continue to process existing dialogs established before the draining process started.
Once all dialogs have ended the connections to the SGC cluster will terminate automatically. No traffic is handled by the old cluster.
|
||||
4 |
Stop the old cluster
|
||||
5 |
Shut down the old cluster
|
||||
6 |
Schedule an upgrade of the SGC to the new version
(if needed) |
Signalware In-place upgrade procedure
This upgrade process supports upgrades where the service in use may initiate outbound CGIN dialogs. |
1 |
Set up the new cluster
Now you should have the "new" cluster configured, but
|
||||
---|---|---|---|---|---|
2 |
Start the new cluster
|
||||
3 |
Drain calls from the old cluster
At this point, all new dialogs will be directed to the new cluster only. The old cluster will only continue to process existing dialogs established before the draining process started.
Now the old cluster should be still connected to the CGIN backends, but completely idle — no traffic is being handled by the old cluster.
|
||||
4 |
Stop the old cluster
|
||||
5 |
Shut down the old cluster
|
||||
6 |
Schedule upgrade of old backends to the new version
(if needed) |
Appendix B. Migrating to CGIN 2.0.x
Here are some things to note when migrating to CGIN 2.0.x:
When… | Do this: |
---|---|
Upgrading from a CGIN older than 1.5.x |
First upgrade to 1.5.0 using the process described in Appendix B of the CGIN 1.5 Installation and Configuration Guide. |
Using the API |
Review the revised service code to the 2.0.x API. For an informal summary of API changes, please see the Changelog. For details of the new API, see the Javadoc. CGIN now provides two event models; the old component based model and a new message based model. See CGIN Overview and Concepts for further information. |
Migrating Scenario files to the current schema version |
Note that the Scenario Simulator IN Scenario Pack’s schema has changed for this release. The Scenario Editor provides support for automatically migrating scenarios to the latest IN Scenario Pack schema version, please see the |
Appendix C. Support Requests
This document provides guidance on material to include with CGIN support requests.
Gathering Supporting Data
Unless specifically requested otherwise:
-
Logging should be gathered from all Rhino nodes in the cluster.
-
By default the required logs are
$RHINO_HOME/$NODE_ID/work/log/rhino.log*
-
Include more logging than might be obviously required; not just the time of the incident. Triggering events can occur hours or even days before. At a minimum include logging for:
-
At least 2 days prior to the incident, preferably 7.
-
During the incident.
-
And for at least 2 hours following the incident (if this much time has passed).
-
-
Additionally, preserve all logging currently on the systems against the possibility that older logging may be requested.
The standard logging location for the CGIN RA entity is |
Enabling additional logging on test systems
When the issue occurs on a test system, or can be replicated on a test system, please set CGIN tracers to finest
prior to replication and log gathering.
settracerlevel resourceadaptorentity <entityname> root finest
No additional logging configuration is required for individual TCAP stacks as their logging is configured as part of the CGIN RA entity root
logger.
When replication is complete, logging may be set back to info
or any other preferred level:
settracerlevel resourcesadaptorentity <entityname> root info
|