This document details basic procedures for system administrators managing, maintaining, configuring and deploying OpenCloud’s Service Interaction SLEE (SIS) 2.7.0 with Rhino.

Topics

This document includes the following topics:

  • About the SIS — a brief overview of the SIS and how it provides service interaction, with a focus on its functional description, configuration and subscription data, components and dependencies, and command-line console.

  • Installing and uninstalling the SIS — procedures for installing the SIS automatically and manually, and uninstalling the SIS.

  • Creating, removing, and reconfiguring a SIS instance — procedures for creating a SIS instance automatically and manually, removing a SIS instance, and reconfiguring a SIS instance.

  • Managing the SIS — using console commands, Ant tasks, and MBeans to manage SIS configuration, compositions, triggers, macros, address subscriptions, service key subscriptions, service configurations trigger-address tracing, and fine-grained tracing.

  • Using SIS modules — using and installing optional features available with the SIS.

  • Appendixes — details of SIS XML schema files, the SCCP address format, alarms, and recorded statistics (for network-initiated dialogs, service-initiated dialogs and service statistics).

Audience

This document is for system administrators (and anyone else responsible for) deploying, managing and maintaining the SIS on a Rhino SLEE.

This document assumes a basic knowledge of core concepts about Rhino, SIS, JAIN SLEE, and Java Management Extensions (JMX).

Scope

This document covers procedures for deploying and administering the OpenCloud SIS.

This document does not focus on:

About the SIS

The Rhino Service Interaction SLEE provides service interaction for circuit-switched networks.

Specifically, SIS lets you:

  • run one or more services on a trigger from a Service Switching Function (SSF) or Serving Call Session Control Function
    (S-CSCF). These services may be:

    • local: JAIN SLEE services written using OpenCloud CGIN or EasySIP APIs:

      • SIS supports CGIN APIs for:

        • GSM CAP v1, v2, v3, and v4 (Voice and SMS only)

        • ETSI INAP CS1

        • Ericsson INAP CS1 (optional)

        • Ericsson INAP CS1+ (optional)

        • Nokia INAP CS1 (optional); Siemens INAP 7m+ (optional)

        • GSM MAP v4 (outgoing dialogs only).

      • EasySIP supports SIP (RFC 3261) and ISC (3GPP TS 23.218).

    • external: legacy CAP and INAP services in external network elements, or SIP application servers.

  • fully customise how the SIS selects the service composition (set of services) to run, using initial trigger scripts

  • manage the signaling interactions between the services that the SIS invokes, with powerful and flexible composition scripts

  • enable focused, service-interaction tracing for specific dialogs, without compromising the performance of the SIS, by using fine-grained tracing options for specific service compositions, address or service-key subscriptions, or arbitrary addresses from initial events.

Tip

For more the on SIS generally, see the SIS Overview and Concepts document. For a description of specific SIS features, see the following subtopics:

Functional Description

For SIP and IN, the SIS lets you define complex interactions between services, by applying a composition to each call attempt that it processes.

Note A composition is a pre-tested sequence of services or features that produce added value to a subscriber.

The SIS intelligently manages the interactions between each service and the network dialog.

The SIS FSM

Below is a high-level view of the SIS finite state machine (FSM), followed by descriptions of its three states.

insis highlevel state machine

State A: Inactive

Inactive is the initial and final state of the SIS FSM.

State B: Service Composition Discovery

Service Composition Discovery is the state the SIS FSM enters upon receipt of an initial event. The SIS applies trigger rules that analyse and examine the parameters of the initial event, to select a service composition to run.

If the SIS finds a composition, the SIS FSM transitions to the Monitoring and Event Delivery state. If not, the SIS:

  • sends a configurable "trigger failure" response to the network

  • terminates the network dialog

  • returns the SIS FSM to the Inactive state.

State C: Monitoring and Event Delivery

The Monitoring and Event Delivery state is divided into the following three substates:

insis fsm state c

State C.1: Event Delivery

Event Delivery is the state the SIS FSM enters whenever one or more events are available for potential delivery to one or more services. Typically, the network generates events, but the SIS may also synthesise them as a result of a particular service’s interaction with the network dialog.

insis fsm state c1
Event delivery direction

Events are delivered to the services in a composition in the forward or reverse direction — forward from events associated with the call’s originating party, reverse from events associated with the call’s terminating party. If an event is not associated with either the originating or terminating party, delivery is by default in the forward direction.

Service disposition towards receiving events

Each service may have one of three dispositions towards the receipt of each event:

  • Transparent — The service does not care about the event (will not receive notification).

  • Notify & Continue — The service wants to know but not do anything about the event (will receive notification, but not respond with any specific call-processing functions).

  • Interrupted — The service wants to know about and respond to the event before it goes to another service (will receive notification and may perform some call-processing functions). In this case, the SIS waits for the service to generate a response to the event before continuing with delivery of the event to any other service.

The SIS determines the disposition of a service by considering whether it can receive the event (the event-handler methods defined by the service), and whether it has asked to receive such events in the past (for example, for an IN EventReportBCSM indication event, whether the service has requested interest in its BCSM event type).

The SIS fires an event to the service if the event disposition is not Transparent. If the event disposition was Interrupted, the SIS FSM enters the Waiting for Instructions state.

Transitions to Monitoring or Inactive

After all events have been delivered by the SIS to the services in the service composition (according to the service dispositions) and the SIS has received all required responses from the services (according to the service dispositions), the SIS sends any required response to the network. If the network dialog remains open after this time, the SIS FSM transitions to the Monitoring state. Otherwise, it transitions to the Inactive state.

State C.2: Waiting for Instructions

insis fsm state c2

Waiting for Instructions is the state when the SIS has delivered one or more events to a service with Interrupted event disposition, and it’s waiting for that service to return a response. There are two exit paths from this state: the SIS either receives a response from the service appropriate for the event, or times out.

With a response, the SIS determines whether to continue delivering the event to any remaining services, or abort delivery and send an immediate response to the network. For example, if a service releases the call, the SIS will abort delivery and send the appropriate message to the network. With a timeout, the SIS excludes the non-responding service from further interaction with the network dialog and continues delivering the events to any remaining services.

State C.3: Monitoring

Monitoring is a state where the SIS continues monitoring the network dialog for more events. It also continues to monitor the services where it has delivered events for the composition, so it can respond to any requests they initiate (for example, to terminate the call).

Configuration and Subscription Data

The SIS uses the following ten profile specifications, and root configuration schema, to store its configuration and subscription data.

IN = SIS feature for IN only

Profile specifications

Profile specification What it does

root configuration

Defines basic service-interaction configuration information, and includes the names of other profile tables the SIS needs (see the root configuration schema).

macros

Allows common expressions to be reused multiple times in triggers, compositions or other macros.

triggers

Specifies how the SIS deals with initial events it gets from the network. Includes an expression that the SIS can evaluate against the initial event, composition-selection criteria and failure-handling instructions.

compositions

Prompts the SIS to process an ordered set of services, according to various details, when triggered.

interceptors

Provides custom logic to manipulate the signaling parameters of protocol messages.

extension references

Identifies extension components that can be used in compositions.

service references

Identifies services that can be used in compositions.

interceptor references

Identifies interceptors that can be invoked by SLEE applications or other interceptors.

external platforms

Describes the location of services that are external to the SIS.

network interface definitions

Describes SIS network interfaces and their associated configuration properties.

network routes

Specifies how the SIS selects a network interface for outgoing traffic.

address subscriptions

Defines subscription to compositions using an address. (Address lookup may be based on various addresses present in the initial event.)

service key subscription
IN

Defines subscription to compositions using the mandatory service key parameter of IN initial events.

trigger address tracing

Lets you associate a tracing-debug level with any arbitrary address, so you can enable debug logging for a dialog with a specific address string in one of the initial event’s parameters.

experimental features

Identifies incomplete or untested features that may be enabled in the SIS.

Schema of root configuration profile

The SIS configuration profile specification defines the schema of the root configuration profile for the SIS, as follows:

Attribute

Type

Description

Description

java.lang.String

An optional arbitrary descriptive name for the configuration.

Macro profile table name

java.lang.String

Name of the profile table used to store macro expressions. This profile table must have been created from the SIS macro profile specification.

Trigger profile table name

java.lang.String

Name of the profile table used to store triggers. This profile table must have been created from the SIS trigger profile specification.

Service composition profile table name

java.lang.String

Name of the profile table used to store compositions. This profile table must have been created from the SIS composition profile specification.

Interceptor profile table name

java.lang.String

Name of the profile table used to store interceptors. This profile table must have been created from the SIS interceptor profile specification.

Extension reference profile table name

java.lang.String

Name of the profile table used to store extension references. This profile table must have been created from the SIS extension reference profile specification.

Service reference profile table name

java.lang.String

Name of the profile table used to store service references. This profile table must have been created from the SIS service reference profile specification.

Interceptor reference profile table name

java.lang.String

Name of the profile table used to store interceptor references. This profile table must have been created from the SIS interceptor reference profile specification.

Address subscription profile table name

java.lang.String

Name of the profile table used to store composition provisioning information for triggerable addresses. This profile table must have been created from the SIS address subscription profile specification.

Service key subscription profile table name
IN

java.lang.String

Name of the profile table used to store composition provisioning information for triggerable service keys. This profile table must have been created from the SIS service key subscription profile specification.

External platform profile table name

java.lang.String

Name of the profile table used to store the definitions of external service platforms. This profile table must have been created from the SIS external platform profile specification.

Network interface definitions profile table name

java.lang.String

Name of the profile table used to store the definitions of network interfaces. This profile table must have been created from the SIS network interface definitions profile specification.

Network routes profile table name

java.lang.String

Name of the profile table used to store network routes. This profile table must have been created from the SIS network routes profile specification.

Experimental features profile table name

java.lang.String

Name of the profile table used to store the experimental feature configuration information. This profile table must have been created from the SIS experimental features profile specification.

Trigger address tracing profile table name

java.lang.String

Name of the profile table used to store fine-grained tracing information for arbitrary addresses that may appear in trigger events. This profile table must have been created from the SIS trigger address tracing profile specification.

Originating trigger address tracing selection

com.opencloud.slee.resources.sipsis.management.SipTriggerAddressTracingSelector[] or com.opencloud.slee.resources.insis.management.INTriggerAddressTracingSelector[]

An array of trigger-address-tracing selectors (which specify the initial event parameters to examine for initial events from the originating call state model), to look for a profile in the trigger-address-tracing profile table when fine-grained tracing is enabled. You can select the following parameters: Calling Party Number, Called Party Number, Called Party BCD Number, Redirecting Party ID, Location Number, Original Called Party ID, Additional Calling Party Number, Destination Subscriber Number, SmscAddress, Request-URI, From, To, P-Asserted-Identity, P-Called-Party-ID, and P-Served-User. You can specify zero or more selectors. The SIS searches for profiles in the trigger-address-tracing profile table using the unmodified address from each selected trigger event parameter.

Terminating trigger-address-tracing selection

com.opencloud.slee.resources.sipsis.management.SipTriggerAddressTracingSelector[] or com.opencloud.slee.resources.insis.management.INTriggerAddressTracingSelector[]

Same as the originating trigger-address-tracing selection, except that it applies to initial events from the terminating call state model.

Third-party trigger-address-tracing selection
IN

com.opencloud.slee.resources.insis.management.INTriggerAddressTracingSelector[]

Same as the originating trigger-address-tracing selection, except that it applies to initial events for third-party (network-initiated) calls.

Concatenated FCI interaction mode delimiter
IN

byte[]

Byte array of length zero or more, used as a delimiter between multiple furnish charging information (FCI) requests sent during a particular instance of service interaction. Used only if the concatenated FCI interaction mode has been specified for a service composition.

Fine-grained tracing enabled

boolean

Boolean flag that indicates whether the fine-grained tracing facilities on the SIS are enabled (true) or disabled (false). Checking fine-grained tracing options for an initial event, such as looking up the trigger address tracing profile table, incurs a small additional overhead — so this option lets an administrator eliminate that performance penalty if not needing fine-grained tracing.

Default service timeout

long

The default timeout period, measured in milliseconds, that the SIS uses when waiting for a response to an event from a composition service or an extension component. If it gets no response within the timeout period, the SIS assumes the service or extension component is non-responsive, and if it is a composition service, removes the service from further interaction with the network dialog. The default timeout period is 2s, and the minimum permitted timeout is 100ms.

Audit level

com.opencloud.slee.resources.sis.management.AuditLevel

The SIS audit logging level.

Components and Dependencies

The SIS has the following components and dependences (with links to APIs).

Dependency Description

OpenCloud JAIN SLEE platform.

Provides the CGIN APIs, activities, and event types that the IN services use.

IN This is required for SIS-IN only

Component Description

EasySIP resource adaptor type

Provides the EasySIP API, activity, and event types that SIP services use.

SIP This is provided by SIS-SIP only

SIS Common libraries

Provide SIS functionality common to all SIS implementations, including the JMX management API. There is one each for:

SIS Service Composition Selection Extensions resource adaptor types

Provide activity and event types that allow SIS extension components to determine which service composition the SIS should execute for a given initial event. There is one each for:

SIS Interceptor Extension resource adaptor types

Provide activity and event types that:

  • allow SIS extension components to modify signaling parameters in composition service input or output messages

  • allow SLEE services to invoke SIS interceptor components for arbitrary protocol messages.

There is one each for:

SIS Composition Activity Provider resource adaptor type

Provides access to a SIS-managed activity object, related to the underlying network dialog that a service interacts with, through the virtual dialog layer (which the SIS provides, between the network and services, to manage service interaction).

This activity object lets multiple services share state using SLEE-provided features — without the services having to deal with state cleanup on network dialog termination.

Note For a given network dialog, the SIS uses the same activity object to represent service composition selection, interceptor, and composition activities in the SLEE. This means that state can be shared between composition services and SIS extension components if required.

IN This is a SIS feature for IN only

Service Interaction Manager

This component:

  • contains the service-interaction logic of the SIS

  • intelligently manages the delivery of events on a network dialog to multiple services, as well as the responses that it receives from those services

  • is packaged and deployed as a JAIN SLEE resource adaptor, but does not directly provide resource adaption for all resource adaptor types that it implements (a standard SIP or CGIN resource adaptor embedded inside the Service Interaction Manager provides resource adaption functionality for, and implements, the relevant protocol resource adaptor type)

  • injects interaction logic into the events that the embedded resource adaptor passes to it and into the responses that services generate

  • uses relevant protocol resource adaptor type APIs and the SLEE 1.1 specification to interact with the embedded resource adaptor, the SLEE, and composition services.

For IN, the embedded CGIN resource adaptor has two parts:

  • frontend component — a JAIN SLEE resource adaptor (in Java code), implemented according to the SLEE 1.1 specification, to provide functionality defined by the CGIN architecture.

  • backend component — an external TCAP stack which connects to the SS7 network.

See the CGIN documentation for more information on using SS7 networks.

For SIP, the embedded SIP resource adaptor contains the SIP stack and connects directly to the SIP network.

Command-Line Administration Tools

SIS command-line administration tools, in the admin directory of the SIS install, include:

Tool Description
install-sis

Installs the SIS into Rhino (or Rhino SDK), and creates profile tables used to store basic configuration data for SIS instances.
See Installing the SIS for details.

create-sis-in-instance
create-sis-sip-instance

Creates a SIS instance for IN or SIP respectively. These tools prompt for configuration parameters necessary to create a SIS instance, then perform the necessary actions in Rhino (or Rhino SDK) to realise the SIS instance.
See Creating a SIS Instance for details.

sis-console

A command-line console that is an extension of rhino-console, that supports the set of SIS commands as well as the normal Rhino commands.
See Managing the SIS for details of console commands specific to the SIS.

sis-export

Extracts the current state of a SIS instance, including macros, triggers, compositions, and so on; and generates an Ant build script that can be used (in conjunction with a standard Rhino state export) to regenerate the SIS instance in another Rhino (or Rhino SDK).
See Exporting SIS State for details.

sis-import

Helper tool to execute an Ant build script generated by sis-export.
See Importing SIS State for details.

Tip SIS administration tools are specific to the type of SIS install they belong to. That is to say the tools included in a SIS-IN install can only operate on SIS-IN SIS instances, and those included with a SIS-SIP install can only operate on SIS-SIP SIS instances.

Installing and Uninstalling the SIS

This section includes the following procedures:

Installing the SIS

1. Select SIS package

The SIS-IN and SIS-SIP packages are completely independent from each other. SIS-IN does not depend on any SIP components and SIS-SIP does not depend on any CGIN components. Both SIS-IN and SIS-SIP may be installed side-by-side in Rhino for those requiring SIS services for both IN and SIP.

2. Install and start Rhino

Rhino (or the Rhino SDK) must be installed and running before anything else can be installed.

Warning

The deployable units for both SIS and CGIN include a large number of generated classes. It is highly recommended to increase the maximum permanent generation memory size used by Rhino to at least 256Mb to avoid seemingly random JVM hangs caused by garbage collection thrashing, out of memory errors, or other related problems that can be attributed to the JVM having to load this quantity of classes.

  • For Rhino, you need to edit the read-config-variables file in the ${RHINO_HOME}/etc/defaults directory and each ${RHINO_HOME}/node-XXX directory.

  • For the Rhino SDK, you need to edit the ${RHINO_HOME}/config/jvm_args file.

In each file, search for -XX:MaxPermSize and set the value of this option to 256m. Rhino (or the Rhino SDK) needs be to restarted for this change to take effect.

3. Install the CGIN Connectivity Pack for SIS-IN only

The SIS-IN 2.7.0 depends on the CGIN Connectivity Pack 2.0.0 — you must download and install it before using the SIS-IN package.

Warning

See the SIS Compatibility Guide for further information on using CGIN with the SIS.

Note that the 'trial' version of the SIS can only be used in conjunction with the 'trial' version of the CGIN Connectivity Pack. Similarly, the 'full' version of the SIS can only be used in conjunction with the 'full' version of the CGIN Connectivity Pack.

Typically, the CGIN Connectivity Pack will be extracted directly into the Rhino (or Rhino SDK) directory:

$ cd RhinoSDK
$ unzip ~/downloads/cgin-connectivity-full-2.0.0.0.zip
Archive:  ~/downloads/cgin-connectivity-full-2.0.0.0.zip
  creating: cgin-connectivity-full-2.0.0.0/
  creating: cgin-connectivity-full-2.0.0.0/du/
  creating: cgin-connectivity-full-2.0.0.0/examples/
  creating: cgin-connectivity-full-2.0.0.0/examples/META-INF/
  creating: cgin-connectivity-full-2.0.0.0/examples/src/
  ...
Tip The fourth digit of the CGIN Connectivity Pack version indicates the patch release version and may be different from the example shown above.

4. Unpack the SIS

Typically, the SIS should be extracted directly into the Rhino (or Rhino SDK) directory:

$ cd RhinoSDK
$ unzip ~/downloads/sis-in-full-2.7.0.0.zip
Archive:  ~/downloads/sis-in-full-2.7.0.0.zip
    creating: sis/
    creating: sis/in/2.7.0.0/
    creating: sis/in/2.7.0.0/admin/
    creating: sis/in/2.7.0.0/admin/common/
    creating: sis/in/2.7.0.0/admin/etc/
    creating: sis/in/2.7.0.0/admin/lib/
    creating: sis/in/2.7.0.0/admin/lib/extensions/
    ...
$ unzip ~/downloads/sis-easysip-full-2.7.0.0.zip
Archive:  ~/downloads/sis-easysip-full-2.7.0.0.zip
    creating: sis/
    creating: sis/sip/2.7.0.0/
    creating: sis/sip/2.7.0.0/admin/
    creating: sis/sip/2.7.0.0/admin/common/
    creating: sis/sip/2.7.0.0/admin/etc/
    creating: sis/sip/2.7.0.0/admin/lib/
    creating: sis/sip/2.7.0.0/admin/lib/extensions/
    ...
Tip The fourth digit of the SIS package version indicates the patch release version and may be different from the example shown above.

5. Configure the SIS

Initial SIS configuration may require modification of the following files:

Directory File What it should contain
sis/<protocol>/2.7.0.x/admin/etc
client.ant.properties

and

client.shell.properties

or in Windows:

client.windows.properties.bat

These files each define a property which specifies the path to the client directory of the Rhino (or Rhino SDK) install, as either an absolute or relative path. If relative, must be relative to the sis/<protocol>/2.7.0.x directory.

If the SIS was extracted into the top-level directory of the Rhino installation, as described in step 4 above, then this file will not need to be modified.

5.1 SIS-IN only

Directory File What it should contain
sis/in/2.7.0.x
cgin-connectivity.properties

This file defines a property which specifies the path to the CGIN Connectivity Pack for the SIS, as either an absolute or relative path. If relative, must be relative to the sis/in/2.7.0.x directory.

The default value for the path is a relative path to the expected CGIN Connectivity Pack, extracted in the Rhino (or Rhino SDK) directory. For example, the full version of the standard SIS install has a default path value of ../../../cgin-connectivity-full-2.0.0.x. Note that the path separator character / used in this file will automatically be converted to the local platform path separator when this file is used by the SIS.

If both the CGIN Connectivity Pack and the SIS have been extracted into the same Rhino (or Rhino SDK) directory, then this configuration file only needs to be modified to append the fourth digit of the specific CGIN Connectivity Pack patch release being used. Otherwise, the entire path will need to be modified as necessary.

6. Install the SIS

6.1. SIS-IN

To install the SIS-IN into Rhino, run sis/in/2.7.0.x/admin/install-sis (or install-sis.bat in Windows).

The SIS installation prompts for the following parameters:

Parameter Description
IN Config Profile Table

Name of the profile table to create, to store SIS IN configurations.
Defaults to sis-configs-in

Rhino SIS license

File path to the Rhino license file to use with the SIS (if you have one).

The installer, after confirming values for each parameter, installs the required deployable units from the CGIN Connectivity Pack and the SIS, creates the SIS configuration profile tables, and installs the license file (if specified).

6.2. SIS-SIP

To install the SIS-SIP into Rhino, run sis/sip/2.7.0.x/admin/install-sis (or install-sis.bat in Windows).

The SIS installation prompts for the following parameters:

Parameter Description
SIP Config Profile Table

Name of the profile table to create, to store SIS SIP configurations.
Defaults to sis-configs-sip

Rhino SIS license

File path to the Rhino license file to use with the SIS (if you have one).

The installer, after confirming values for each parameter, installs the required deployable units, creates the SIS configuration profile tables, and installs the license file (if specified).

Example installation of SIS-IN

Below is an example of a SIS installation.

$ cd sis/in/2.7.0.0/admin
$ ./install-sis
SIS-IN Installer
================

General
=======
General settings

IN Config Profile Table
-----------------------
The name of the profile table used to store basic SIS instance configuration
information for IN.

IN Config Profile Table [sis-configs-in]:

Rhino SIS license
-----------------
A license may already be installed, or you may choose to install a license at
a later point in time.  If you do not want to install a license at this time
provide an empty response.  If no license is present at the time a SIS
instance is created, however, the SIS instance will need to be activated
manually via the console.

Rhino SIS license []:


*** Confirm settings ***

IN Config Profile Table:  sis-configs-in
Rhino SIS license:

Are these settings correct (y/n)? y

Using client base directory: .../client
Installing cgin-connectivity-full-2.0.0.0/du/oc-common-1.6.1.du.jar as file:cgin/oc-common-1.6.1.du.jar...
Installing cgin-connectivity-full-2.0.0.0/du/cgin-common-2.0.0.0.du.jar as file:cgin/cgin-common-2.0.0.0.du.jar...
Installing cgin-connectivity-full-2.0.0.0/du/in-datatypes-5.2.0.0.0.du.jar as file:cgin/in-datatypes-5.2.0.0.0.du.jar...
Installing cgin-connectivity-full-2.0.0.0/du/callcontrol-2.0.0.0.du.jar as file:cgin/callcontrol-2.0.0.0.du.jar...
Installing cgin-connectivity-full-2.0.0.0/du/map-2.0.0.0.du.jar as file:cgin/map-2.0.0.0.du.jar...
Installing cgin-connectivity-full-2.0.0.0/du/cap_v1-2.0.0.0.du.jar as file:cgin/cap_v1-2.0.0.0.du.jar...
Installing cgin-connectivity-full-2.0.0.0/du/cap_v2-2.0.0.0.du.jar as file:cgin/cap_v2-2.0.0.0.du.jar...
Installing cgin-connectivity-full-2.0.0.0/du/cap_v3-2.0.0.0.du.jar as file:cgin/cap_v3-2.0.0.0.du.jar...
Installing cgin-connectivity-full-2.0.0.0/du/cap_v4-2.0.0.0.du.jar as file:cgin/cap_v4-2.0.0.0.du.jar...
Installing cgin-connectivity-full-2.0.0.0/du/etsi_inap_cs1-2.0.0.0.du.jar as file:cgin/etsi_inap_cs1-2.0.0.0.du.jar...
Installing sis/in/2.7.0.0/du/jsip-library-1.2.du.jar as file:sip/jsip-library-1.2.du.jar...
Installing sis/in/2.7.0.0/du/sis-common-2.7.0.0.du.jar as file:sis/sis-common-2.7.0.0.du.jar...
Installing sis/in/2.7.0.0/du/sis-scs-ratype-2.7.0.0.du.jar as file:sis/sis-scs-ratype-2.7.0.0.du.jar...
Installing sis/in/2.7.0.0/du/sis-interceptors-ratype-2.7.0.0.du.jar as file:sis/sis-interceptors-ratype-2.7.0.0.du.jar...
Installing sis/in/2.7.0.0/du/sis-cap-ratype-2.7.0.0.du.jar as file:sis/sis-cap-ratype-2.7.0.0.du.jar...
Installing sis/in/2.7.0.0/du/cgin-message-utils-common-1.1.0.0.du.jar as file:sis/cgin-message-utils-common-1.1.0.0.du.jar...
Installing sis/in/2.7.0.0/du/cgin-message-utils-voice-ratype-2.7.0.0.du.jar as file:sis/cgin-message-utils-voice-ratype-2.7.0.0.du.jar...
Installing sis/in/2.7.0.0/du/cgin-message-utils-sms-ratype-2.7.0.0.du.jar as file:sis/cgin-message-utils-sms-ratype-2.7.0.0.du.jar...
Installing sis/in/2.7.0.0/du/sis-in-base-full-2.7.0.0.du.jar as file:sis/sis-in-base-full-2.7.0.0.du.jar...
Installing sis/in/2.7.0.0/du/sis-cgin-unified-ra-full-2.7.0.0.du.jar as file:sis/sis-cgin-unified-ra-full-2.7.0.0.du.jar...
Installing sis/in/2.7.0.0/du/easysip-ratype-1.2.0.du.jar as file:sip/easysip-ratype-1.2.0.du.jar...
Installing sis/in/2.7.0.0/du/sis-sip-base-full-2.7.0.0.du.jar as file:sis/sis-sip-base-full-2.7.0.0.du.jar...
Installing sis/in/2.7.0.0/du/sis-easysip-full-2.7.0.0.du.jar as file:sis/sis-easysip-full-2.7.0.0.du.jar...
Creating profile table sis-configs-in using ProfileSpecificationID[name=SIS-IN Configuration Profile,vendor=OpenCloud,version=2.7]...
Creating profile table sis-configs-sip using ProfileSpecificationID[name=SIS-SIP Configuration Profile,vendor=OpenCloud,version=2.7]...
Installation successfulInstallation successful

Next Steps:
- Create a SIS instance using create-sis-in-instance
- Use sis-console or Ant to install triggers and compositions into the SIS.
- Visit the Developer Portal at
  https://developer.opencloud.com/devportal/display/SISD/SIS+Documentation
  for further documentation.

Uninstalling the SIS

Below are a note about what the uninstallation removes, instructions for using the cascade-uninstall command, and an example.

What’s uninstalled

Warning

Uninstalling the SIS will also remove from the SLEE:

  • all SIS instances

  • all SIS configuration and subscription information

  • all extension components that depend on the SIS Service Composition Selection resource adaptor type

  • all extension components that depend on the SIS Interceptors resource adaptor type

  • all extension components and services that depend on the SIS Composition Activity Provider resource adaptor type.

Using cascade-uninstall

The quickest and easiest way to uninstall the SIS is by using Rhino’s cascade-uninstall tool, located in the client/bin directory of the Rhino installation. You can specify which deployable units to remove, for example:

To uninstall…​ …​specify:

only the SIS-SIP, while retaining other SIP- and CGIN-related components

file:sis/sis-in-common-2.7.0.x.du.jar

only the SIS-SIP, while retaining other non sip-related components

file:sis/sis-sip-common-2.7.0.x.du.jar

all CGIN-related components, including the SIS-IN

file:cgin/cgin-common-2.0.0.x.du.jar

all SIP-related components, including the SIS-SIP

file:sip/jsip-library-1.2.du.jar and file:sip/easysip-ratype-1.4.x.du.jar

Example cascade-uninstall

Below is an example of using cascade-uninstall to uninstall a SIS-IN:

$ ./client/bin/cascade-uninstall -l
Connecting to localhost:1199
The following deployable units are installed:
  file:cgin/callcontrol-2.0.0.0.du.jar
  file:cgin/cap_v1-2.0.0.0.du.jar
  file:cgin/cap_v2-2.0.0.0.du.jar
  file:cgin/cap_v3-2.0.0.0.du.jar
  file:cgin/cap_v4-2.0.0.0.du.jar
  file:cgin/cgin-common-2.0.0.0.du.jar
  file:cgin/etsi_inap_cs1-2.0.0.0.du.jar
  file:cgin/in-datatypes-5.2.0.0.0.du.jar
  file:cgin/map-2.0.0.0.du.jar
  file:cgin/oc-common-1.6.1.du.jar
  file:javax-slee-standard-types.jar
  file:opencloud/rhino-api-2.6.1.du.jar
  file:opencloud/rhino-api-2.6.du.jar
  file:opencloud/rhino-extension-types.jar
  file:opencloud/session-ownership-resource-adaptor-type.du.jar
  file:sip/easysip-ratype-1.4.0.du.jar
  file:sip/jsip-library-1.2.du.jar
  file:sip/oc-common-1.7.5.du.jar
  file:sis/cgin-message-utils-common-1.1.0.0.du.jar
  file:sis/cgin-message-utils-sms-ratype-2.7.0.0.du.jar
  file:sis/cgin-message-utils-voice-ratype-2.7.0.0.du.jar
  file:sis/sis-cgin-unified-ra-full-2.7.0.0.du.jar
  file:sis/sis-easysip-full-2.7.0.0.du.jar
  file:sis/sis-in-cap-ratype-2.7.0.0.du.jar
  file:sis/sis-in-common-2.7.0.0.du.jar
  file:sis/sis-in-interceptors-ratype-2.7.0.0.du.jar
  file:sis/sis-in-scs-ratype-2.7.0.0.du.jar
  file:sis/sis-sip-common-2.7.0.0.du.jar
  file:sis/sis-sip-interceptors-ratype-2.7.0.0.du.jar
  file:sis/sis-sip-scs-ratype-2.7.0.0.du.jar
    ...

$ ./client/bin/cascade-uninstall -d file:sis/sis-in-common-2.7.0.0.du.jar -y
Connecting to localhost:1199
Uninstalling deployable unit file:sis/sis-cgin-unified-ra-full-2.7.0.0.du.jar
Uninstalling deployable unit file:sis/sis-in-cap-ratype-2.7.0.0.du.jar
Uninstalling deployable unit file:sis/sis-in-interceptors-ratype-2.7.0.0.du.jar
Uninstalling deployable unit file:sis/sis-in-scs-ratype-2.7.0.0.du.jar
Removing profile table sis-configs-in
Uninstalling deployable unit file:sis/sis-in-common-2.7.0.0.du.jar

$ ./client/bin/cascade-uninstall -l
Connecting to localhost:1199
The following deployable units are installed:
  file:cgin/callcontrol-2.0.0.0.du.jar
  file:cgin/cap_v1-2.0.0.0.du.jar
  file:cgin/cap_v2-2.0.0.0.du.jar
  file:cgin/cap_v3-2.0.0.0.du.jar
  file:cgin/cap_v4-2.0.0.0.du.jar
  file:cgin/cgin-common-2.0.0.0.du.jar
  file:cgin/etsi_inap_cs1-2.0.0.0.du.jar
  file:cgin/in-datatypes-5.2.0.0.0.du.jar
  file:cgin/map-2.0.0.0.du.jar
  file:cgin/oc-common-1.6.1.du.jar
  file:javax-slee-standard-types.jar
  file:opencloud/rhino-api-2.6.1.du.jar
  file:opencloud/rhino-api-2.6.du.jar
  file:opencloud/rhino-extension-types.jar
  file:opencloud/session-ownership-resource-adaptor-type.du.jar
  file:sip/easysip-ratype-1.4.0.du.jar
  file:sip/jsip-library-1.2.du.jar
  file:sip/oc-common-1.7.5.du.jar
  file:sis/cgin-message-utils-common-1.1.0.0.du.jar
  file:sis/cgin-message-utils-sms-ratype-2.7.0.0.du.jar
  file:sis/cgin-message-utils-voice-ratype-2.7.0.0.du.jar
  file:sis/sis-easysip-full-2.7.0.0.du.jar
  file:sis/sis-sip-common-2.7.0.0.du.jar
  file:sis/sis-sip-interceptors-ratype-2.7.0.0.du.jar
  file:sis/sis-sip-scs-ratype-2.7.0.0.du.jar

Creating, Removing, and Reconfiguring a SIS Instance

Any number of SIS instances may be created in the same Rhino platform. While instances may share the same configuration and provisioning information, they typically each have their own.

This section includes the following procedures:

 

Note
What’s in a SIS instance?

A SIS instance consists of:

  • a root configuration profile

  • a macros profile table

  • a triggers profile table

  • a compositions profile table

  • an interceptors profile table

  • a network interface definitions profile table

  • a network route profile table

  • an extension references profile table

  • a service references profile table

  • an interceptor references profile table

  • an external platform definitions profile table

  • an address subscriptions profile table

  • a service key subscriptions profile table (IN only)

  • a trigger address tracing profile table

  • an experimental features profile table

  • a Service Interaction Manager resource adaptor entity.

Creating a SIS Instance

Below are instructions for creating a SIS instance.

Tip Afterwards, you can provision macros, triggers, compositions, and subscriptions for it — see SIS Management in the SIS Overview and Concepts guide.

Running an -instance tool

You create a SIS instance by running one of the sis/<protocol>/2.7.0.x/admin/create-sis-<protocol>-instance tools (or create-sis-<protocol>-instance.bat on Windows). There is one tool for each protocol that the SIS supports (SIP or IN). When you execute the tool, it:

  1. asks for configuration parameters

  2. creates the profile tables and profiles it needs

  3. creates the configured SIS instance

  4. prompts you to activate it.

Command-line options

The SIS instance-creation tools accept the following (mutually exclusive) command-line options:

Option Description
-h

Displays command-line usage help.

-r

Runs the tool using the settings from a previous run (stored in the etc/last-<protocol>-instance.properties file after the user confirms them).

-u <filename>

Runs the tool using the settings from the specified file (a simple text file containing property variable assignments — see the etc/last-<protocol>-instance.properties file created by the tool after the first successful run for an example of its content).

-y

Runs the tool in non-interactive mode, automatically accepting all settings. This option must be used with either -r or -u <filename> to provide values for properties that have no default.

Configuring SIS Instance Parameters

Creating a SIS instance requires the following parameters — general settings, network settings, default network interface settings, and profile tables — for SIP or IN:

SIP parameters

SIP general settings

Parameter Description Example
Name

Name of the new SIS instance. This name is used for the Service Interaction Manager resource adaptor entity. Each resource adaptor entity in the SLEE must have a unique name.

sis-sip
Description

An optional arbitrary description for the SIS instance.

My SIP SIS
Default service timeout

Default timeout period, measured in milliseconds, used by the SIS when waiting for a response to an event from a service or extension component.

5000
SIS worker pool size

Number of processing threads available for handling internal SIS tasks.

4
SIS worker queue size

The size of the queue used for tasks awaiting the availability of a processing thread. If the queue is full, a subsequent task will be executed by the thread generating the task. If 0 is specified for the queue size, an unbound queue is used.

50
Maximum compositions

The maximum number concurrent active compositions the SIS will allow. This is to prevent the SIS from consuming excessive memory if composition state is not cleaned up due to an internal error. If the limit is reached, requests that attempt to start new compositions will be rejected with a 503 error response. A value of zero disables limiting.

0
Audit level

SIS auditing level — valid values are ALL, COMPONENT, and NONE

NONE
Fine-grained tracing enabled

Boolean flag indicating whether the fine-grained tracing facilities on the SIS are enabled (true) or disabled (false).

false
Session replication mode

Specifies session replication is enabled. Possible values are disabled, enabled, or automatic. The value automatic means replication is enabled if the SIS’s Rhino namespace supports the key-value store replication method.

automatic
Replicate by default

If true, and session replication is enabled, then all sessions are replicated. If false, and session replication is enabled, then a session is only replicated on demand, when the application calls SipSession.startReplicating().

false

SIP network settings

Parameter Description Example
Automatic 100 Trying support

Boolean flag indicating if "100 Trying" responses should be automatically sent whenever an INVITE is received.

true
Automatic 100rel support

Boolean flag indicating if "Supported: 100rel" headers should be automatically added to to outgoing requests in UAC mode.

true
Automatic Dialog ID Rewriting Enabled

Boolean flag indicating if the SIS should rewrite headers that contain embedded dialog IDs, when forwarding requests between dialogs as a B2BUA. This is so that user agents on one side of the B2BUA don’t see Dialog IDs from the other side, which wouldn’t be recognised.

Applies to Target-Dialog and Replaces headers, including Replaces header values inside a Refer-To header.

true
Offset ports

Boolean flag indicating if the SIS should add an offset to its configured SIP ports. Used when there are multiple SIS nodes on the same host.

false
Port offset

If Offset ports is enabled, then the value of Node ID - Port offset is added to the SIS’s SIP port numbers. This value should match the lowest node ID in the cluster.

101
SIP worker pool size

Number of processing threads available to the SIP stack for handling incoming messages.

4
SIP worker queue size

The size of the queue used for tasks awaiting the availability of a processing thread. If the queue is full, the SIP stack will drop the message (UDP) or temporarily suspend reads on the socket (TCP and TLS). If 0 is specified for the queue size, an unbound queue is used.

500
TCP I/O threads

Number of processing threads for handling TCP I/O. TCP connections will be divided between the I/O threads.

1
Rate-limited error response status code

Specifies the status code to be used in an error response sent when an initial request or mid-dialog failover request is rejected due to rate limiting. This must be a 5xx error code.

500
Retry-After period

Specifies the Retry-After header value when an initial request or mid-dialog failover request is rejected due to rate limiting with a 500 or 503 error response. This is an integer value indicating the number of seconds after which the SIS expects to be available again.

If a negative value is specified then a Retry-After header will not be included in relevant responses.

-1
RFC3263 Failover Enabled

Specifies whether to use RFC 3263 failover and load balancing. By default this is disabled, to match existing behaviour. If enabled, the SIS uses RFC 3263 DNS procedures to find possible servers and automatically fails over to backup servers where available. If multiple servers are found in DNS they are sorted and tried according to their SRV priority and weight as per RFC 3263. If disabled, the DNS procedures are still used to find server addresses, but only the first address is used.

false
RFC3263 Failover Timer

Specifies the duration of the failover timer in milliseconds. If RFC 3263 failover is enabled and this timer expires before any responses were received, the SIS treats this as a transport error and tries sending the request to the next available server. This timer should be set to a value smaller than the default Timer B and Timer F timers (32s) so that failures can be detected promptly. A value of zero or less disables this timer.

10000
RFC3263 Blacklist Timer

The duration in milliseconds for which a server will be "blacklisted" after a failure is detected. This avoids the SIS trying to contact the server immediately after a failure, when it is probably just going to fail again. After this time has passed, the failed server may be tried again on subsequent client transactions. If a server specifies a Retry-After duration in a 503 response, that value will be used instead.

300000
UDP Max Request Size

The maximum size, in bytes, of SIP requests that may be sent sent using UDP. Requests larger than this will automatically be sent using TCP, as per RFC3261 §18.1.1. Values of zero or less disable this feature; the SIS will try to send with UDP anyway. This is not recommended as fragmentation and packet loss are more likely with large UDP datagrams.

1300

SIP default network interface settings

Parameter Description Example
Virtual addresses

Optional comma-separated list of alternative hostnames that the SIS is known by, such as virtual IP addresses and hostnames in a cluster. When making routing decisions, the SIS will consider these names to be local.

sis1.mydomain.com, sis2.mydomain.com
IP address

The IP address or hostname for the SIS. The SIS will listen on this address. The address "AUTO" will automatically select the node’s primary IP address, for convenience and use in a cluster, where each node has its own IP address.

AUTO
Port

Port that will be used for unencrypted SIP transports (UDP, TCP).

5060
Secure port

Port that will be used for encrypted SIP transports (TLS).

5061
SIP transports

SIP transports to be supported by the SIS. This is a comma-separated list containing one or more of UDP, TCP or TLS.

UDP,TCP
Via sent-by address

Specifies an IP address or hostname that will be used in the "sent-by" field of Via headers added by the SIS. If a value is not specified the SIS will use the local IP address of the node. In some scenarios it may be necessary to specify a value to use a virtual server address.

sis.mydomain.com

SIP profile tables

Parameter Description Example
Root configuration profile table name

Name of the root configuration profile table where the root configuration profile will be created. This defaults to the name specified for IN configurations during SIS installation.

sis-configs-sip
Root configuration profile name

Name of the root configuration profile to create for the SIS instance. This defaults to the SIS instance name.

sis-sip
Macros profile table name

Name of the profile table used to store SIS macros.

sis-sip-macros
Triggers profile table name

Name of the profile table used to store SIS triggers.

sis-sip-triggers
Compositions profile table name

Name of the profile table used to store SIS compositions.

sis-sip-compositions
Interceptors profile table name

Name of the profile table used to store SIS interceptors.

sis-sip-interceptors
Network Interface Definitions profile table name

Name of the profile table used to store SIS network interface definitions.

sis-sip-network-interfaces
Network Routes profile table name

Name of the profile table used to store SIS network routes.

sis-sip-network-routes
Extension References profile table name

Name of the profile table used to store SIS extension component references.

sis-sip-extension-refs
Service References profile table name

Name of the profile table used to store SIS service references.

sis-sip-service-refs
Interceptor References profile table name

Name of the profile table used to store SIS interceptor references.

sis-sip-interceptor-refs
External Platform Definitions profile table name

Name of the profile table used to store SIS external platform definitions.

sis-sip-ext-platforms
Address Subscriptions profile table name

Name of the profile table used to store SIS composition-provisioning information for triggerable addresses.

sis-sip-address-subscriptions
Trigger Address Tracing profile table name

Name of the profile table used to store fine-grained tracing information for arbitrary addresses that may appear in initial events.

sis-sip-trigger-address-tracing
Experimental Features profile table name

Name of the profile table used to store experimental feature settings.

sis-sip-experimental-features

IN parameters

IN general settings

Parameter Description Example
Name

Name of the new SIS instance. This name is used for the Service Interaction Manager resource adaptor entity. Each resource adaptor entity in the SLEE must have a unique name.

sis-in
Description

An optional arbitrary description for the SIS instance.

My IN SIS
Default service timeout

Default timeout period, measured in milliseconds, used by the SIS when waiting for a response to an event from a service or extension component.

2000
SIS worker pool size

Number of processing threads available for handling internal SIS tasks.

2
SIS worker queue size

The size of the queue used for tasks awaiting the availability of a processing thread. If the queue is full, a subsequent task will be executed by the thread generating the task. If 0 is specified for the queue size, an unbound queue is used.

5000
Maximum dialogs

Maximum number of concurrent network dialogs the SIS will allow before rejecting new first-party conducted dialogs. A value of zero disables limiting.

Note Assisting and third-party call dialogs are never rejected by the SIS because of maximum dialog limiting, but do contribute towards the total network dialog count.
0
Audit level

SIS auditing level — valid values are ALL, COMPONENT, and NONE

NONE
Fine-grained tracing enabled

Boolean flag indicating whether the fine-grained tracing facilities on the SIS are enabled (true) or disabled (false).

false

IN network settings

Parameter Description Example
Query-liveness period

The period of inactivity on a dialog, measured in milliseconds, before the SIS will attempt to query the liveness of the dialog, if possible, via the ActivityTest operation or some other means. The minimum period that can be specified is 1000ms. The maximum is 86400000ms (one day). A value of 0 will disable this feature.

180000
ICA proxy SCCP address

SCCP address used by the SIS as the destination for dialog open requests created for third party call setup attempts initiated by services using an InitiateCallAttempt request. This setting is optional but must be specified in order for third-party call support to be enabled in the SIS. See also SCCP Address Format.

type=C7,ri=pcssn,pc=201,ssn=100

IN default network interface settings

Below are general default network interface settings, followed by those specific to the ocss7, signalware, and tcapsim stacks.

Note
Using TCAP stacks
IN general default network interface settings
Parameter Description Example
Local SCCP address

SCCP address assigned to the SIS instance, included in dialog open requests sent by the SIS instance to the network. TIP: See also SCCP Address Format and Administering the CGIN Resource Adaptor Entity.

type=C7,ri=pcssn,pc=202,ssn=101
Responder SCCP address

SCCP address used by the SIS when sending responses to received dialog open requests. This setting is optional and only needs to be specified if an address different to that filled in by the TCAP stack when sending open responses is required. See also SCCP Address Format.

type=C7,ri=pcssn,pc=202,ssn=101
Default TCAP invoke timeout

The timeout period, measure in milliseconds, the SIS uses whenever it needs to send invoke requests to the network.

5000
Default dialog activity timeout

The default timeout period, measured in milliseconds, for dialogs with no activity before they are terminated.

1800000
TCAP fibers maximum pool size

The maximum number of threads in the TCAP layer fiber pool. If zero, then a pool is not used: work is done directly in the I/O thread.

4
TCAP fibers queue size

The maximum number of waiting fibers in the TCAP layer fiber pool.

If the queue becomes full and there are less than the maximum number of worker threads, a new thread is started. If the queue is full and no more threads are permitted, then subsequent fiber tasks are executed directly by the calling thread (usually the I/O thread).

A zero-sized queue is possible and implies that work is either immediately assigned an idle thread, or the work is done by the calling thread.

250
Inbound ACN mappings

Activity Context Name mappings for inbound dialogs: a comma-separated list of values in <external OID>:<internal ASN.1 or interceptor> format. Allows the SIS to be reconfigured to accept the external application context name as a synonym for the internal application context name. An external ACN can be mapped to only one internal ACN. Several external ACNs can be mapped to the same internal ACN. The righthand side of each mapping can either name an application context valueref (such as etsi_inap_cs1.core-INAP-CS1-SSP-to-SCP-AC, or it can name the interceptor to use to determine the AC to use (such as map.phase-1).

1.2.34.567.8.9.0.1:etsi_inap_cs1.core-INAP-CS1-IP-to-SCP-AC
Outbound ACN mappings

Activity Context Name mappings for outbound dialogs: a comma-separated list of values in <internal ASN.1>:<external OID> format. Allows the SIS to be reconfigured to write the external application context name in place of the internal application context name. An internal ACN can be mapped to only one external ACN. Multiple internal ACNs can be mapped to the same external ACN.

etsi_inap_cs1.core-INAP-CS1-IP-to-SCP-AC:1.2.34.567.8.9.0.1
Relaxed BER decoding rules

Specifies whether or not to relax the BER decoding rules to allow certain types of malformed data. If false, then the BER rules are strictly enforced and malformed data will be rejected.

false
TCAP stack

Name of the TCAP stack for the SIS to use. Three stacks are currently supported: ocss7, a TCAP stack that connects to one or more TCAP Manager (SGC) processes, signalware, a TCAP stack that connects to one or more backend processes running on Mavenir Signalware, and tcapsim, a simulated TCAP stack that does not require any specific hardware.

ocss7
IN default network interface settings specific to the OC SS7 stack
Note
  • These parameters only need valid values if using the ocss7 TCAP stack.

Parameter Description Example
SGCs

Comma-separated list of host:port OC SGC data ports which the TCAP stack will connect to. The TCAP stack will attempt to establish a connection to all of the configured host:port pairs. For use with OCSS7 1.1.0 and newer.

ocss71:8081,ocss72:8081
URL List

Comma-separated list of host:port locations where the SIS instance can expect to find OC SS7 SGC TCAP Manager processes running and listening for connections from the SLEE. The TCAP stack will attempt to establish a connection to one of the configured TCAP managers on a round robin basis. For use with OCSS7 1.0.1 and older.

ocss71:8080,ocss72:8080
URL List Retry Interval

The wait interval in milliseconds between subsequent connection attempts to the TCAP Managers. This value applies to all TCAP manager connections.

1000
Local SSN

The subsystem number used when the Local SCCP Address property does not provide one, for example in the case when it is set to "auto".

-1
Open Transactions Capacity

The maximum number of open transactions (dialogs) at any moment in time.

100000
Max Scheduler Threads

The maximum number of threads used by the scheduler.

10
Scheduler Node List Size

The number of events that may be scheduled on a single scheduler thread. This value multiplied with the value for Max Scheduler Threads should be directly proportional to Open Transactions Capacity. 0 = autosize.

0
Waiting Tasks Capacity

The maximum number of inbound messages and timeout events that may be waiting to be processed at any moment in time. This value should be directly proportional to Open Transactions Capacity. 0 = autosize.

0
Worker Group Queues

The number of threads used by the worker group to process timeout events and inbound messages.

100
Worker Queue Size

The maximum number of tasks in one worker queue. This value multiplied with the value for Worker Group Queues should be directly proportional to (2 * Waiting Tasks Capacity). 0 = autosize.

0
Sender Queue Size

The maximum number of outbound messages in the sender queue. This value is directly proportional to Open Transactions Capacity. 0 = autosize.

0
Heartbeat Enabled

Enables the heartbeat between the TCAP stack and the SGC.

true
Heartbeat Period

The interval, in seconds, between successive heartbeat sends.

5
IN network interface parameters specific to the Signalware stack
Note These parameters only need valid values if using the signalware TCAP stack.
Parameter Description Example
Backends

Comma-separated list of host:port locations where the SIS instance can expect to find Signalware backend processes running and listening for connections from the SLEE.

signalware1:10001,signalware2:10001
Base weight

Base incoming traffic weight advertised to backends.

This property is a comma-separated list that must include at least one numeric item — the weight value used by any node that does not explicitly specify a weight. Additional items may specify weights for particular nodes, using the form {nodeid,nodeid,…​}weight.

For example, the value 100,{101}50,{102,103}75 specifies a weight of 50 for node 101, a weight of 75 for nodes 102 and 103, and a default weight of 100 for all other nodes.

Each weight is a positive integer used to balance load between nodes. The values have no particular unit other than relative to each other. A node will receive new dialogs in proportion to its weight; for example, two nodes with weights of 10 will receive about the same number of dialogs each, and a node with a weight of 20 will receive twice as many as a node with a weight of 10.

Tip One approach is to treat them as percentages and assign 100 to the busiest node, with smaller values for nodes that take less load.

The actual weight used for a particular node is the base weight specified here, modified by the function defined by weight function below, based on the amount of traffic that node has processed.

100
Weight function

Definition of the weight function applied to "full-rate" weights to find the actual rate to use. This is used to gradually increase load on a newly-joined cluster node, so as not to immediately swamp it with traffic.

The function is specified as a series of comma-separated values S(1),T(1),S(2),T(2),…​,S(N-1),T(N-1),S(N) where:

  • S(i) is the multiplier (in the range [0.0 .. 1.0]) of the "full-rate" weight to use in state (i)

  • T(i) is the total number of dialogs that must be received on a particular node before moving to state (i+1).

0.01,10,0.10,1000,0.50,5000,1.00
Fiber map size

The number of fibers in the fixed-size fiber map used to process incoming traffic. This value must be at least as large as the value of the TCAP Fibers Queue Size property.

256
Dialog allocation timeout

The maximum time, in milliseconds, to block while waiting to allocate a new dialog before returning an error to the calling service code.

5000
Dialog pool size

The size of the pre-allocation pool for outgoing dialogs. This pool is used to satisfy requests for new outgoing dialogs, and is refilled asynchronously. If the pool becomes empty due to a high rate of dialog creation, outgoing dialogs must wait for the backend to allocate a new dialog, increasing latency.

One pool is maintained per backend connection.

100
IN network interface parameters specific to the tcapsim stack
Note These parameters only need valid values if using the tcapsim TCAP stack.
Parameter Description Example
Global title translation table

Path to the file containing the global translation table description

${rhino.dir.home}${/}config${/}tcapsim-gt-table.txt
Listen addresses

Comma-separated list of {nodeid,…​}host:port addresses to listen on for incoming connections from other Sim TCAP stacks.

localhost:10100
Remote addresses

Comma-separated list of {nodeid,…​}host:port addresses of other Sim TCAP stacks that should be connected to.

localhost:10150
Maximum dialogs

Maximum number of concurrent dialogs the stack can support.

10000
Base transport layer

Base transport layer used to carry SUA messages. Valid values are: tcp, sctp and auto. Default is tcp.

tcp

IN profile tables

Parameter Description Example
Root configuration profile table name

Name of the root configuration profile table where the root configuration profile will be created. This defaults to the name specified for IN configurations during SIS installation.

sis-configs-in
Root configuration profile name

Name of the root configuration profile to create for the SIS instance. This defaults to the SIS instance name.

sis-in
Macros profile table name

Name of the profile table used to store SIS macros.

sis-in-macros
Triggers profile table name

Name of the profile table used to store SIS triggers.

sis-in-triggers
Compositions profile table name

Name of the profile table used to store SIS compositions.

sis-in-compositions
Interceptors profile table name

Name of the profile table used to store SIS interceptors.

sis-in-interceptors
Network Interface Definitions profile table name

Name of the profile table used to store SIS network interface definitions.

sis-in-network-interfaces
Network Routes profile table name

Name of the profile table used to store SIS network routes.

sis-in-network-routes
Extension References profile table name

Name of the profile table used to store SIS extension component references.

sis-in-extension-refs
Service References profile table name

Name of the profile table used to store SIS service references.

sis-in-service-refs
Interceptor References profile table name

Name of the profile table used to store SIS interceptor references.

sis-in-interceptor-refs
External Platforms profile table name

Name of the profile table used to store SIS external platform definitions.

sis-in-ext-platforms
Address Subscriptions profile table name

Name of the profile table used to store SIS composition-provisioning information for triggerable addresses.

sis-in-address-subscriptions
Service Key Subscriptions profile table name

Name of the profile table used to store SIS composition-provisioning information for triggerable service keys.

sis-in-service-key-subscriptions
Service Configuration profile table name

Name of the profile table used to store configuration information for services that the SIS fires events to.

sis-in-service-configs
Trigger Address Tracing profile table name

Name of the profile table used to store fine-grained tracing information for arbitrary addresses that may appear in initial events.

sis-in-trigger-address-tracing
Experimental Features profile table name

Name of the profile table used to store experimental feature settings.

sis-in-experimental-features

Activating a SIS Instance

As part of the installation, you can activate a SIS instance (if licensed).

Activation

To activate a SIS instance during installation, answer the following prompt from the create-sis-<protocol>-instance tool:

  Activate the instance?
  ----------------------
  Should the new SIS instance be activated once it has been successfully
  created?
  Valid values are: true, false

  Activate the instance? [true]:

Licensing

You cannot activate a SIS instance unless a suitable license is installed in Rhino. License files can be obtained from OpenCloud.

Tip The SIS installation process includes an option to install a license file.

Removing a SIS Instance

Note There is currently no automated method for removing a SIS instance.

To remove a SIS instance:

1

Deactivate the SIS Service Interaction Manager resource adaptor entity

The first step to removing a SIS instance from the SLEE is to remove its SIS Service Interaction Manager resource adaptor entity. To be removed, the entity must be in the INACTIVE state. To let it return to that state, deactivate it — that will put it in the STOPPING state, and when no more activities it owns are in the SLEE, the SLEE will move it to the INACTIVE state.

For example, to deactivate the SIS resource adaptor entity called sis-in:

$ ./rhino-console deactivateRAEntity sis-in
Deactivating resource adaptor entity sis-in on node(s) [101]
Resource adaptor entity transitioned to the Stopping state on node 101

2

Remove the SIS Service Interaction Manager resource adaptor entity

Once the resource adaptor entity is in the INACTIVE state, you can remove it from the SLEE using the removeRAEntity command of the command-line management client. For example, to remove an inactive IN Service Interaction Manager resource adaptor entity called sis-in:

$ ./rhino-console listraentities
sis-in
...
$ ./rhino-console removeraentity sis-in
Removed resource adaptor entity sis-in

3

Remove the root configuration profile

To remove the root configuration profile for a SIS instance, use the removeprofile command. For example, to remove the profile named sis-in from the sis-configs profile table:

$ ./rhino-console listprofiles sis-configs
sis-in
...
$ ./rhino-console removeprofile sis-configs sis-in
Removed profile sis-configs/myconfig

4

Remove the profile tables

To remove the profile tables containing configuration information for a SIS instance, you can use the listprofiletables command to list them, and then removeprofiletable commands to remove them. For example:

$ ./rhino-console listprofiletables
sis-in-address-subscriptions
sis-in-compositions
sis-in-experimental-features
sis-in-ext-platforms
sis-in-extension-refs
sis-in-interceptor-refs
sis-in-interceptors
sis-in-macros
sis-in-network-interfaces
sis-in-network-routes
sis-in-service-key-subscriptions
sis-in-service-refs
sis-in-trigger-address-tracing
sis-in-triggers
sis-configs-in
sis-configs-sip
...
$ ./rhino-console removeprofiletable sis-in-address-subscriptions
Removed profile table sis-in-address-subscriptions
$ ./rhino-console removeprofiletable sis-in-service-key-subscriptions
Removed profile table sis-in-service-key-subscriptions
$ ./rhino-console removeprofiletable sis-in-trigger-address-tracing
Removed profile table sis-in-trigger-address-tracing
$ ./rhino-console removeprofiletable sis-in-interceptors
Removed profile table sis-in-interceptors
$ ./rhino-console removeprofiletable sis-in-compositions
Removed profile table sis-in-compositions
$ ./rhino-console removeprofiletable sis-in-macros
Removed profile table sis-in-macros
$ ./rhino-console removeprofiletable sis-in-triggers
Removed profile table sis-in-triggers
$ ./rhino-console removeprofiletable sis-in-network-interfaces
Removed profile table sis-in-network-interfaces
$ ./rhino-console removeprofiletable sis-in-network-routes
Removed profile table sis-in-triggers
$ ./rhino-console removeprofiletable sis-in-interceptor-refs
Removed profile table sis-in-interceptor-refs
$ ./rhino-console removeprofiletable sis-in-service-refs
Removed profile table sis-in-service-refs
$ ./rhino-console removeprofiletable sis-in-extension-refs
Removed profile table sis-in-extension-refs
$ ./rhino-console removeprofiletable sis-in-ext-platforms
Removed profile table sis-in-ext-platforms
$ ./rhino-console removeprofiletable sis-in-experimental-features
Removed profile table sis-in-experimental-features

Removal of the SIS instance is now complete.

Tip The SIS uninstallation process also automatically removes all SIS instances.

Reconfiguring a SIS Instance

You can reconfigure a SIS instance by:

  • changing its resource adaptor entity configuration properties using the SLEE’s ResourceManagementMBean or

  • changing any other configuration property managed using a SIS MBean interface.

Changing resource adaptor entity configuration properties

The SIS supports limited active reconfiguration (see section 15.4.2 of the JAIN SLEE 1.1 specification). Changes to some configuration properties while the SIS instance is ACTIVE will not take effect until you deactivate and reactivate the SIS instance (see below).

Warning

A SIS IN instance raises an alarm if it’s in the ACTIVE state and you try to change any configuration property that does not support active reconfiguration.

SIP network interfaces and network routes do not support active reconfiguration. IN network interfaces and network routes support active reconfiguration.

Active reconfiguration with SIP

Property ACTIVE reconfiguration?
configurationProfileID

YES

SISWorkerPoolSize

YES

SISWorkerQueueSize

YES

automatic100TryingSupport

YES

automaticRel100Support

YES

WorkerPoolSize

NO

WorkerQueueSize

NO

TCPIOThreads

NO

sessionReplicationMode

NO

replicateByDefault

NO

max-compositions

YES

rateLimitedResponseCode

YES

retryAfterPeriod

YES

Active reconfiguration with IN

Property ACTIVE reconfiguration?
configurationProfileID

YES

enabledProtocols

NO

SISWorkerPoolSize

YES

SISWorkerQueueSize

YES

icaProxySccpAddress

YES

iddPrefix

YES

countryCode

YES

max-dialogs

YES

Changing MBean-managed configuration properties

If you change any MBean-managed configuration property of a SIS instance, generally before those changes take effect you must tell the instance to reload its configuration. The exceptions, when a forced configuration reload is not necessary, are:

  • any address or service key subscription provisioning changes (excluding changing the configured subscription profile table names)

  • any IN trigger address tracing provisioning changes (excluding changing the configured trigger address tracing profile table name)

  • changing any fine-grained tracing debug levels or component audit level settings.

Rate limiting

A SIS instance provides the following custom limiter endpoints for rate limiting:

inbound

This limiter endpoint can be used to control the rate that incoming initial requests received from the network are accepted for processing by the SIS.

The SIS requests one unit of work from this limiter endpoint for each initial request that it receives. If the request is granted then initial request processing proceeds normally. If, however, the work request is rejected by a rate limiter connected to the endpoint, then the SIS stops processing the initial request and returns an error response determined by the rate-limited error response status code and Retry-After period configuration properties.

inbound_invites

This limiter endpoint can be used to control the rate that incoming initial INVITE requests received from the network are accepted for processing by the SIS.

This limiter endpoint is a "sub-endpoint" of the inbound endpoint. For each initial INVITE, the SIS requests one unit of work from the inbound endpoint, and if that is granted, another unit of work is requested from the inbound_invites endpoint. By configuring the inbound endpoint with a rate limiter of higher capacity than inbound_invites, the SIS can throttle initial INVITEs while still allowing other initial requests to proceed.

If the initial INVITE is rejected by a rate limiter connected to the endpoint, then the SIS stops processing the INVITE and returns an error response determined by the rate-limited error response status code and Retry-After period configuration properties.

failover

This limiter endpoint is used by the SIS when Rhino key/value store replication is in use and the SIS receives a mid-dialog request on a dialog that it has no local state for.

Before querying the Session Ownership Facility in an attempt to retrieve the state for the dialog, the SIS requests one unit of work from this limiter endpoint. If the request is granted then the Session Ownership Facility is queried normally. If, however, the work request is rejected by a rate limiter connected to the endpoint, then the SIS stops processing the mid-dialog request and returns an error response determined by the rate-limited error response status code and Retry-After period configuration properties.

In summary, the purpose of this limiter endpoint is to limit the number of queries made to the key/value store backend database (typically Cassandra) under failover conditions.

Exporting SIS State

The SIS exporter tool sis-export exports the state of a SIS instance as an Ant script. The script, when executed with Ant, invokes a series of management commands to restore the state of that SIS instance into Rhino.

Warning The SIS exporter is not a standalone tool for generating an export image of a SIS instance in a Rhino SLEE. sis-export only exports the configuration state of a SIS instance, under the assumption that when the export script is run the SIS will have already been installed into Rhino and the SIS instance being configured recreated.

Below are details of what sis-export exports, instructions for using sis-export, a sample export, and list of files exported.

What does the SIS exporter export?

Below are listings of what sis-export does and does not export.

The SIS exporter exports from a SIS instance: The SIS exporter does not export:
  • deployable units installed in the SLEE, including:

    • deployable units for SIS and its dependencies

    • deployable units for any extension components or services used by their respective references in the SIS instance

  • profile tables used by the SIS instance

  • resource adaptor configuration properties used to recreate the SIS instance

  • SIS address or service key subscription information

    • subscription information may be too numerous to generate individual management operations for

  • SIS trigger address tracing information.

Tip You can export these items using the rhino-export shell script.

Export instructions

To export a SIS instance, use the sis-export tool in the SIS admin directory.

Warning You cannot run sis-export unless the Rhino SLEE is available and ready to accept management commands, and you include at least two arguments — the name of the SIS instance to export and the directory to write the export image to.

Command-line arguments

You can include the following command-line arguments with sis-export:

$ cd sis/<protocol>/<version>/admin
$ ./sis-export
Valid command line options are:
-h <host>            - The hostname to connect to.
-p <port>            - The port to connect to.
-u <username>        - The user to authenticate as.
-w <password>        - The password used for authentication.
-D                   - Display connection debugging messages.
-l                   - List SIS instances found in the Rhino connected to.
-f                   - Removes the output directory if it exists.
<sis-name>           - The name of the SIS instance to export.
<output-directory>   - The destination directory for the export.

Usually, only the <sis-name> and <output-directory> arguments must be
specified.
All other arguments will be read from 'client.properties' in the Rhino client
directory.

Sample SIS export

For example, an export might run as follows:

$ cd sis/<protocol>/<version>/admin
$ ./sis-export sis ../../../../sis_export
Connecting to localhost:1199
Export complete

Exported files

The SIS exporter creates:

  • a new sub-directory, such as sis_export (as specified by the command-line parameter)

  • all macro, trigger, composition, and interceptor files that are installed in the SIS instance

  • an Ant script called build.xml, which can be used later to initiate the import process.

For example:

$ cd ../../../../sis_export
$ ls
build.xml
compositions
import.properties
interceptors
macros
triggers

Exported files and directories include:

File or directory Description
build.xml

The main Ant build file, which gives Ant the information it needs to import all the macros, triggers, compositions, and configuration state of this export directory into the SLEE.

import.properties

A file with configuration information that includes the location of the SIS directory containing the required Java libraries.

macros

A directory containing the macros installed in the SIS instance.

triggers

A directory containing the triggers installed in the SIS instance.

compositions

A directory containing the compositions installed in the SIS instance.

interceptors

A directory containing the interceptors installed in the SIS instance.

Importing SIS State

Below are instructions and an example of using sis-import to import an exported SIS instance.

Instructions

To import an exported SIS instance:

1

First, set up prerequisites for importing the exported SIS instance:

  • Install the SIS.

  • Create the SIS instance.

  • Install any services or extension components the SIS instance will depend on.

2

Then verify properties and run the import:

  • First check the import.properties file in the SIS export directory,
    and update it if necessary.

    This file defines a value for the sis.home property, which indicates the SIS install that will be used for the import (and consequently the Rhino SLEE that will be connected to).

  • To import the state of a SIS export directory into a Rhino SLEE, run the sis-import tool in the SIS admin directory, passing as a parameter the path of the SIS export directory.

    (You can also manually run Ant directly, specifying the build.xml file in the export directory as the Ant build file to run.)

Example

Below is a sample import of an exported SIS instance:

$ cd sis/in/2.7.0.0/admin
$ ./sis-import ../../../sis_export
Buildfile: ../../../build.xml
     [echo] Loading properties from /home/user/rhino/sis/in/2.7.0.0/admin/etc/client.ant.properties...
     [echo] Loading properties from /home/user/rhino/sis/in/2.7.0.0/admin/etc/common.ant.properties...
     [echo] Loading properties from /home/user/rhino/sis/in/2.7.0.0/admin/etc/in.ant.properties...

management-init:
     [echo] Open Cloud Rhino SLEE Management tasks defined

login:
[slee-management] Establishing new connection to localhost:1199
[slee-management] Connected to localhost:1199 (101) [Rhino-SDK (version='2.7', release='0.2', build='201911180954', revision='1c064dc')]

configure-sis:
[sis-in-management] Connected to admin@localhost:1199/sis-in
[sis-in-management] [Failed] Network interface definition already exists: sis-in-default
[sis-in-management] [Failed] Network interface sis-in-default is already enabled
[sis-in-management] [Failed] A default route is already specified for this SIS instance
[sis-in-management] Fine-grained tracing disabled
[sis-in-management] Audit level set to NONE
[sis-in-management] Default service timeout set to 2000ms
[sis-in-management] Reloaded SIS RA Entity sis-in

BUILD SUCCESSFUL
Total time: 1 second

Managing the SIS

You can manage the SIS using console commands, Ant tasks, and MBean operations.

MBean interfaces

The following topics cover JMX MBean interfaces for SIS management:

To get the object name of these MBeans, there’s another MBean interface: the SIS Management MBean. The object name of this MBean is equal to the string: com.opencloud.SIS:name=<sis-instance-name>,type=SISManagement.

Other management functions

Additionally, the SIS provides management functions for:

Managing SIS Configuration

The Configuration Management MBeans for SIP and IN include operations for performing the following procedures on a SIS instance:

sis-console command(s) MBean(s) → Operation
getdescription
setdescription
Configuration Management → getDescription
Configuration Management → setDescription
getDefaultServiceTimeout
setDefaultServiceTimeout
Configuration Management → getDefaultServiceTimeout
Configuration Management → setDefaultServiceTimeout
getConcatenatedFCIInteractionModeDelimiter
setConcatenatedFCIInteractionModeDelimiter
Configuration Management → getConcatenatedFCIInteractionModeDelimiter
Configuration Management → setConcatenatedFCIInteractionModeDelimiter
isfinegrainedtracingenabled
setfinegrainedtracingenabled
Configuration Management → getFineGrainedTracingEnabled
Configuration Management → setFineGrainedTracingEnabled
getauditlevel
setauditlevel
Configuration Management → getAuditLevel
Configuration Management → setAuditLevel
getoriginatingmacro
setoriginatingmacro
SIP Configuration Management → getOriginatingMacro
SIP Configuration Management → setOriginatingMacro
reload
(none)
audit
SIS Management → audit

Getting and Setting the Description

To get or set the description of a SIS instance, use the following sis-console commands or related MBean operations.

Warning The SIS description is an arbitrary descriptive string for the SIS instance — for human consumption only. Its value has no bearing whatsoever on the operation of the SIS.

Console commands

getDescription

Command

getdescription <ra-entity>
    Get SIS description

Example

To get the description of the SIS instance named sis-cap1:

$ ./sis-console getdescription sis-cap1
Current description: Configuration for 1st SIS RA Entity (composition selection by XML)

setDescription

Command

setdescription <ra-entity> <description>
    Set SIS description

Example

To set the description of the SIS instance named sis-cap2 to the string Configuration for 2nd SIS RA Entity:

$ ./sis-console setdescription sis-cap2 "Configuration for 2nd SIS RA Entity"
Description set to Configuration for 2nd SIS RA Entity

MBean operations

MBean

getDescription

operation

public String getDescription()
    throws ManagementException;

setDescription

operation

public void setDescription(String desc)
    throws ManagementException;

Getting and Setting the Global Default Service Timeout

To get or set the default service timeout of a SIS instance, use the following sis-console commands, Ant task, or related MBean operations.

Console commands

getSisDefaultServiceTimeout

Command

getsisdefaultservicetimeout <ra-entity>
    Get default service timeout

Example

To get the default service timeout of the SIS instance named sis:

$ ./sis-console getsisdefaultservicetimeout sis
Default service timeout is 2000ms

setSisDefaultServiceTimeout

Command

setsisdefaultservicetimeout <ra-entity> <timeout>
    Set default service timeout, measured in milliseconds

Example

To set the default service timeout of the SIS instance named sis to 5000ms:

$ ./sis-console setsisdefaultservicetimeout sis 5000
Default service timeout set to 5000ms

Ant task

setDefaultServiceTimeout

Task

<setdefaultservicetimeout timeout="..."/>

Example

<sis-in-management>
  <setdefaultservicetimeout timeout="5000"/>
</sis-in-management>

or

<sis-sip-management>
  <setdefaultservicetimeout timeout="5000"/>
</sis-sip-management>

MBean operations

MBean

getDefaultServiceTimeout

Operation

public long getDefaultServiceTimeout()
    throws ManagementException;

setDefaultServiceTimeout

Operation

public void setDefaultServiceTimeout(long timeout)
    throws IllegalArgumentException, ManagementException;
Warning The timeout argument must be at least 100.

Getting and Setting the Concatenated FCI Interaction Mode Delimiter

To get or set the "concatenated" FCI interaction mode delimiter, use the following sis-console commands, Ant task, or related MBean operations.

Tip This is a SIS feature for IN

Console commands

getConcatenatedFCIInteractionModeDelimiter

Command

getconcatenatedfciinteractionmodedelimiter <ra-entity>
   Get delimiter used for a composition when its FCI Interaction mode is set to
   'concatenation'

Example

To get the concatenated FCI interaction delimiter for the SIS instance named sis:

$ ./sis-console getconcatenatedfciinteractionmodedelimiter sis
Current delimiter is [0x5e]

setConcatenatedFCIInteractionModeDelimiter

Command

setconcatenatedfciinteractionmodedelimiter <ra-entity> <delimiter>
   Set delimiter used for a composition when its FCI Interaction mode is set to
   'concatenation'. Delimiter is a comma-separated list of hexadecimal byte values,
   eg. '00,0f,ff'

Example

To set the delimiter for the SIS instance named sis to the bytes 0x5c,0x5c:

$ ./sis-console setconcatenatedfciinteractionmodedelimiter sis 5c,5c
Delimiter set to [0x5c,0x5c]

Ant task

setConcatenatedFCIInteractionModeDelimiter

Task

<setconcatenatedfciinteractionmodedelimiter delimiter="..."/>

Example

<sis-in-management>
    <setconcatenatedfciinteractionmodedelimiter delimiter="5c,5c"/>
</sis-in-management>

MBean operations

MBean

getConcatenatedFCIInteractionModeDelimiter

operation

public byte[] getConcatenatedFCIInteractionModeDelimiter()
        throws ManagementException;

setConcatenatedFCIInteractionModeDelimiter

operation

public void setConcatenatedFCIInteractionModeDelimiter(byte[] delimiter)
        throws ManagementException;

Getting and Setting the Fine-Grained Tracing Enabled Flag

To get or set the fine-grained tracing enabled flag, use the following sis-console commands, Ant task, or related MBean operations:

Console commands

isFineGrainedTracingEnabled

Command

isfinegrainedtracingenabled <ra-entity>
     Determine if fine-grained tracing is enabled in the SIS

Example

To determine if fine-grained tracing is enabled for the SIS instance named sis:

$ ./sis-console isfinegrainedtracingenabled sis
Fine-grained tracing is currently disabled

setFineGrainedTracingEnabled

Command

setfinegrainedtracingenabled <ra-entity> <boolean>
    Enable/disable SIS fine-grained tracing

Example

To enable fine-grained tracing for the SIS instance named sis:

$ ./sis-console setfinegrainedtracingenabled sis true
Fine-grained tracing enabled

Ant task

setFineGrainedTracingEnabled

Task

<setfinegrainedtracing enabled="..."/>

Example

<sis-in-management>
    <setfinegrainedtracing enabled="true"/>
</sis-in-management>

or

<sis-sip-management>
    <setfinegrainedtracing enabled="true"/>
</sis-sip-management>

MBean operations

MBean

getFineGrainedTracingEnabled

Operation

public boolean getFineGrainedTracingEnabled()
    throws ManagementException;

setFineGrainedTracingEnabled

Operation

public void setFineGrainedTracingEnabled(boolean enabled)
    throws ManagementException;

Getting and Setting the Audit Level

To get and set the level at which the SIS performs audit logging use the following sis-console commands, Ant task, or related MBean operations:

Console commands

getAuditLevel

Command

getauditlevel <ra-entity>
    Get the SIS audit logging level

Example

To get the audit logging level for the SIS instance named sis:

$ ./sis-console getauditlevel sis
Audit level is NONE

setAuditLevel

Command

setauditlevel <ra-entity> <boolean>
    Set the SIS audit logging level: ALL, COMPONENT or NONE

Example

To set the audit logging level for the SIS instance named sis to ALL:

$ ./sis-console setauditlevel sis ALL
Audit level set to ALL

Ant task

setAuditLevel

Task

<setauditlevel level="..."/>

Example

<sis-in-management>
    <setauditlevel level="ALL"/>
</sis-in-management>

or

<sis-sip-management>
    <setauditlevel level="ALL"/>
</sis-sip-management>

MBean operations

MBean

getAuditLevel

Operation

public AuditLevel getAuditLevel()
    throws ManagementException;

setAuditLevel

Operation

public void setAuditLevel(AuditLevel level)
    throws ManagementException;

Getting and Setting the SIP Originating Macro

To get or set the SIP originating macro, use the following sis-console command, Ant task, or related MBean operation:

Note
About the SIP Originating Macro

Unlike IN protocols, SIP has no standard for determining whether an initial request is as an "originating" or "terminating" trigger. This is network-specific.

The SIS needs to know whether the request is originating or terminating when it determines the trigger address tracing selectors for an initial request. The SIS uses a user-defined macro to do this for SIP.

This macro is specified using the commands below. It must return true if an initial request is an originating trigger. If the macro returns false, the SIS treats the request as if it was a terminating trigger. If no originating macro is configured, the SIS treats all initial requests as originating, for the purposes of trigger address tracing.

Tip This is a SIS feature for SIP.

Console commands

getSIPOriginatingMacro

Command

getsiporiginatingmacro <ra-entity>
    Get the currently configured SIP originating macro.

Example

$ sis-console getsiporiginatingmacro sipsis
Current originating macro is MacroID[name=IsOriginating,vendor=OpenCloud,version=1.0]

setSIPOriginatingMacro

Command

setsiporiginatingmacro <ra-entity> <macro-id>
    Set the macro used by trigger address tracing to determine if an initial
    SIP request is originating or terminating.

Example

$ sis-console setsiporiginatingmacro sipsis name=IsOriginating,vendor=OpenCloud,version=1.0
Originating macro set to MacroID[name=IsOriginating,vendor=OpenCloud,version=1.0]

Ant task

setSIPOriginatingMacro

Task

<setsiporiginatingmacro>
    <macro name="..." vendor="..." version="..."/>
</setsiporiginatingmacro>

Example

<sis-sip-management>
    ...
    <setsiporiginatingmacro>
        <macro name="Originating" vendor="XYZ" version="1.1"/>
    </setsiporiginatingmacro>
</sis-sip-management>

MBean operations

MBean

getOriginatingMacro

Operation

public MacroID getOriginatingMacro() throws ManagementException;

setOriginatingMacro

Operation

public void setOriginatingMacro(MacroID id) throws ManagementException;

Reloading SIS Configuration

To reload the SIS configuration, use the following sis-console command, Ant task, or related MBean operation.

Warning The SIS caches its configuration for performance reasons. Changes to SIS components, such as installing, uninstalling or activating components, do not take effect immediately. The SIS must explicitly reload its components to apply any changes.

Console command

reload

Command

reload <ra-entity>
    Reload SIS configuration, required for changes to take effect.
Note This command tells the SIS to reload all cached configuration data.

Example

To reload the configuration for the SIS instance named sis:

$ ./sis-console reload sis
Reloaded SIS RA Entity sis

Ant task

reload

Command

<reload/>

Example

<sis-in-management>
    <reload/>
</sis-in-management>

or

<sis-sip-management>
    <reload/>
</sis-sip-management>

MBean operation

MBean

No SIS MBean is required.

updateConfigurationProperties

Operation

The reload command calls the standard SLEE 1.1 MBean operation: ResourceManagementMBean.updateConfigurationProperties.

Auditing SIS Configuration

To audit the SIS configuration, use the following sis-console command or related MBean operation.

Note

The SIS audit function verifies, for the current configuration, that the following referenced components exist:

  • macros referenced by other macros

  • macros, services, and compositions referenced by triggers

  • macros and services referenced by compositions

  • services referenced by extension references

  • services and external platform definitions referenced by service references

  • compositions referenced by address and service key subscriptions.

If the audit finds any of these missing, the SIS logs a warning message and raises an alarm

Console command

audit

Command

audit <ra-entity>
    Audit the SIS configuration, checking for missing components.
Note This command asks the SIS to audit configuration data.

Example

To audit the configuration for the SIS instance named sis:

$ ./sis-console audit sis
Audit completed successfully

MBean operation

MBean

audit

Operation

public void audit()
    throws AuditFailedException, ManagementException;

Managing Macros

The Macro Management MBeans for SIP and IN include operations for performing the following procedures on a SIS instance:

Note
Managing reusable expressions

A macro is an expression that can be reused multiple times in other SIS macros, triggers, and compositions.

sis-console command(s) MBean(s) → Operation

Procedure: Install a macro

installmacro
Macro Management → install
replacemacro
Macro Management → replace

Procedure: Uninstall a macro

uninstallmacro
Macro Management → uninstall

Procedure: View a macro

listmacros
dumpmacro
Macro Management → getMacros
Macro Management → getMacro

Installing Macros

To install a macro, use the following sis-console command, Ant task, or related MBean operations.

Console command

installmacro

Command

installmacro <ra-entity> <file>
    Installs a macro component from a file.
Warning This command installs in the SIS a macro XML file — which must be on the local filesystem of the management client.

Example

To install macro example-macro.xml from the local filesystem of the management client into the SIS instance named sis:

$ ./sis-console installmacro sis example-macro.xml
Installed macro MacroID[name=Example,vendor=ABC,version=1.0] from file example-macro.xml

Ant task

installmacro

Task

<installmacro file="..."/>

Example

<sis-in-management>
    <installmacro file="example-macro.xml"/>
</sis-in-management>

or

<sis-sip-management>
    <installmacro file="example-macro.xml"/>
</sis-sip-management>

MBean operations

MBean

install

Operation

To install a macro from a URL:

public MacroID install(String url)
    throws NullPointerException, MalformedURLException,
           AlreadyDeployedException, DeploymentException,
           ManagementException;
Warning The SIS retrieves the macro XML file using the specified URL — which must be resolvable from the Rhino node.

install

Operation

To install a macro from a byte array:

public MacroID install(byte[] content)
    throws NullPointerException, AlreadyDeployedException,
           DeploymentException, ManagementException;
Note The SIS reads the macro XML data from the specified byte array.

Replacing Existing Macros

To replace an existing macro with a new macro, use the following sis-console command, Ant task, or related MBean operations.

Console command

replacemacro

Command

replacemacro <ra-entity> <file>
    Replace a previously installed macro component with new content from a file
Warning This command installs in the SIS the macro XML file — which must be on the local filesystem of the management client.
Note If a macro with same identity as that denoted in the file does not exist, this command behaves the same as installmacro.

Example

To replace an existing macro with macro example-macro.xml from the local filesystem of the management client, into the SIS instance named sis:

$ ./sis-console replacemacro sis example-macro.xml
Replaced macro MacroID[name=Example,vendor=ABC,version=1.0] from file example-macro.xml

Ant task

replacemacro

Task

<replacemacro file="..."/>

Example

To replace an existing macro with macro example-macro.xml from the local filesystem of the management client:

<sis-in-management>
    <replacemacro file="example-macro.xml"/>
</sis-in-management>

or

<sis-sip-management>
    <replacemacro file="example-macro.xml"/>
</sis-sip-management>

MBean operations

MBean

replace

Operation

To replace a macro from a URL:

public MacroID replace(String url)
    throws NullPointerException, MalformedURLException,
           DeploymentException, ManagementException;
Warning The SIS retrieves the macro XML file using the specified URL — which must be resolvable from the Rhino node.

replace

Operation

To replace a macro from a byte array:

public MacroID replace(byte[] content)
    throws NullPointerException, DeploymentException, ManagementException;
Note The SIS reads the macro XML data from the specified byte array.

Uninstalling Macros

To uninstall a macro, use the following sis-console command, Ant task, or related MBean operation.

Console command

uninstallmacro

Command

uninstallmacro <ra-entity> <macro-id>
    Uninstall a macro component.

Example

To uninstall the macro component with identifier MacroID[name=Example,vendor=ABC,version=1.0] from the SIS instance named sis:

$ ./sis-console uninstallmacro sis name=Example,vendor=ABC,version=1.0
Uninstalled macro MacroID[name=Example,vendor=ABC,version=1.0]

Ant task

uninstallmacro

Task

<uninstallmacro>
    <macro name="..." vendor="..." version="..."/>
</uninstallmacro>

Example

<sis-in-management>
    <uninstallmacro>
        <macro name="Example" vendor="ABC" version="1.0"/>
    </uninstallmacro>
</sis-in-management>

or

<sis-sip-management>
    <uninstallmacro>
        <macro name="Example" vendor="ABC" version="1.0"/>
    </uninstallmacro>
</sis-sip-management>

MBean operation

MBean

uninstall

Operation

public void uninstall(MacroID id)
    throws NullPointerException, UnrecognizedComponentException,
           DependencyException, ManagementException;

Viewing Macros

To list or display macros, use the following sis-console commands or related MBean operations:

Console commands

listmacros

Command

listmacros <ra-entity>
    List installed macros.
Note This command lists the IDs of all macros installed in the SIS.

Example

To list macros installed in the SIS instance named sis:

$ ./sis-console listmacros sis
MacroID[name=Example,vendor=ABC,version=1.0]
MacroID[name=IsOriginating,vendor=ABC,version=1.0]
MacroID[name=IsTerminating,vendor=ABC,version=1.0]

dumpmacro

Command

dumpmacro <ra-entity> <composition-id> [file]
    Dumps a macro to screen [or file].
Note This command displays the XML source of a macro, and if given a filename writes the XML to that file.

Example

To dump the macro component with identifier MacroID[name=Example,vendor=ABC,version=1.0] installed in the SIS instance named sis to the file foo.xml:

$ ./sis-console dumpmacro sis name=Example,vendor=ABC,version=1.0 foo.xml
Wrote macro MacroID[name=Example,vendor=ABC,version=1.0] to file foo.xml

MBean operations

MBean

getMacros

Operation

public MacroID[] getMacros()
    throws ManagementException;
Note This operation returns the identifiers of all macros installed in the SIS.

getMacro

Operation

public String getMacro(MacroID id)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;
Note This operation returns the specified macro, in the form of an XML string.

Managing Triggers

The Trigger Management MBeans for SIP and IN include operations for performing the following procedures on a SIS instance:

Note
Selecting compositions

A trigger is used to select a composition for execution for each call received by the SIS.

sis-console command(s) MBean(s) → Operation

Procedure: Install a trigger

installtrigger
Trigger Management → install
replacetrigger
Trigger Management → replace

Procedure: Uninstall a trigger

uninstalltrigger
Trigger Management → uninstall
activatetrigger
deactivatetrigger
Trigger Management → activatetrigger
Trigger Management → deactivatetrigger

Procedure: View a trigger

listtriggers
listactivetriggers
gettriggerstate
dumptrigger
Trigger Management → getTriggers
Trigger Management → getActiveTriggers
Trigger Management → isActivated
Trigger Management → getTrigger

Installing Triggers

To install a trigger component from a local file, use the following sis-console command, Ant task, or related MBean operations.

Console command

installtrigger

Command

installtrigger <ra-entity> <file>
    Installs a trigger component from a file.
Warning This command installs in the SIS a trigger XML file — which must be on the local filesystem of the management client.

Example

To install trigger example-trigger.xml from the local filesystem of the management client into the SIS instance named sis:

$ ./sis-console installtrigger sis example-trigger.xml
Installed trigger TriggerID[name=Example,vendor=ABC,version=1.0] from file example-trigger.xml

Ant task

installtrigger

Task

<installtrigger file="..."/>

Example

<sis-in-management>
    <installtrigger file="example-trigger.xml"/>
</sis-in-management>

or

<sis-sip-management>
    <installtrigger file="example-trigger.xml"/>
</sis-sip-management>

MBean operations

MBean

install

Operation

To install a trigger from a URL:

public TriggerID install(String url)
    throws NullPointerException, MalformedURLException,
           AlreadyDeployedException, DeploymentException,
           ManagementException;
Warning The SIS retrieves the trigger XML file by using the specified URL — which must be resolvable from the Rhino node.

install

Operation

To install a trigger from a byte array:

public TriggerID install(byte[] content)
    throws NullPointerException, AlreadyDeployedException,
           DeploymentException, ManagementException;
Note The SIS reads the trigger XML data from the specified byte array.

Replacing Existing Triggers

To replace an existing trigger with a new trigger, use the following sis-console command, Ant task, or related MBean operations.

Console command

replacetrigger

Command

replacetrigger <ra-entity> <file>
    Replace a previously installed trigger component with new content from a file
Warning This command installs in the SIS the trigger XML file — which must be on the local filesystem of the management client.
Note If a trigger with same identity as that denoted in the file does not exist, this command behaves the same as installtrigger.

Example

To replace an existing trigger with trigger example-trigger.xml from the local filesystem of the management client, into the SIS instance named sis:

$ ./sis-console replacetrigger sis example-trigger.xml
Replaced trigger TriggerID[name=Example,vendor=ABC,version=1.0] from file example-trigger.xml

Ant task

replacetrigger

Task

<replacetrigger file="..."/>

Example

To replace an existing trigger with trigger example-trigger.xml from the local filesystem of the management client:

<sis-in-management>
    <replacetrigger file="example-trigger.xml"/>
</sis-in-management>

or

<sis-sip-management>
    <replacetrigger file="example-trigger.xml"/>
</sis-sip-management>

MBean operations

MBean

replace

Operation

To replace a trigger from a URL:

public TriggerID replace(String url)
    throws NullPointerException, MalformedURLException,
           DeploymentException, ManagementException;
Warning The SIS retrieves the trigger XML file using the specified URL — which must be resolvable from the Rhino node.

replace

Operation

To replace a trigger from a byte array:

public TriggerID replace(byte[] content)
    throws NullPointerException, DeploymentException, ManagementException;
Note The SIS reads the trigger XML data from the specified byte array.

Uninstalling Triggers

To uninstall a trigger component from the SIS, use the following sis-console command, Ant task, or related MBean operation:

Console command

uninstalltrigger

Command

uninstalltrigger <ra-entity> <trigger-id>
    Uninstall a trigger component.

Example

$ ./sis-console uninstalltrigger sis name=Example,vendor=ABC,version=1.0
Uninstalled trigger TriggerID[name=Example,vendor=ABC,version=1.0]

Ant task

uninstalltrigger

Task

<uninstalltrigger>
    <trigger name="..." vendor="..." version="..."/>
</uninstalltrigger>

Example

<sis-in-management>
    <uninstalltrigger>
        <trigger name="Example" vendor="ABC" version="1.0"/>
    </uninstalltrigger>
</sis-in-management>

or

<sis-sip-management>
    <uninstalltrigger>
          <trigger name="Example" vendor="ABC" version="1.0"/>
    </uninstalltrigger>
</sis-sip-management>

MBean operation

MBean

uninstall

Operation

public void uninstall(TriggerID id)
    throws NullPointerException, UnrecognizedComponentException,
           InvalidStateException, DependencyException,
           ManagementException;

Activating and Deactivating Triggers

To activate and deactivate triggers, use the following sis-console commands, Ant tasks, or related MBean operations.

Warning When processing an initial request, the SIS evaluates only activated triggers.

Console commands

activatetrigger

Command

activatetrigger <ra-entity> <trigger-id>
    Activates the specified trigger.

Example

$ ./sis-console activatetrigger sis name=Example,vendor=ABC,version=1.0
Activated trigger TriggerID[name=Example,vendor=ABC,version=1.0]

deactivatetrigger

Command

deactivatetrigger <ra-entity> <trigger-id>
    Deactivates the specified trigger.

Example

$ ./sis-console deactivatetrigger sis name=Example,vendor=ABC,version=1.0
Deactivated trigger TriggerID[name=Example,vendor=ABC,version=1.0]

Ant tasks

activatetrigger

Task

<activatetrigger>
    <trigger name="..." vendor="..." version="..."/>
</activatetrigger>

Example

<sis-in-management>
    <activatetrigger>
        <trigger name="Example" vendor="ABC" version="1.0"/>
    </activatetrigger>
</sis-in-management>

or

<sis-sip-management>
    <activatetrigger>
          <trigger name="Example" vendor="ABC" version="1.0"/>
    </activatetrigger>
</sis-sip-management>

deactivatetrigger

Task

<deactivatetrigger>
    <trigger name="..." vendor="..." version="..."/>
</deactivatetrigger>

Example

<sis-in-management>
    <deactivatetrigger>
          <trigger name="Example" vendor="ABC" version="1.0"/>
    </deactivatetrigger>
</sis-in-management>

or

<sis-sip-management>
    <deactivatetrigger>
        <trigger name="Example" vendor="ABC" version="1.0"/>
    </deactivatetrigger>
</sis-sip-management>

MBean operations

MBean

activate

Operation

public void activate(TriggerID id)
    throws NullPointerException, UnrecognizedComponentException,
           InvalidStateException, ManagementException;

deactivate

Operation

public void deactivate(TriggerID id)
    throws NullPointerException, UnrecognizedComponentException,
           InvalidStateException, ManagementException;

Viewing Triggers

To list installed triggers, list active triggers, get trigger state, or display a trigger, use the following sis-console commands or related MBean operations.

Console commands

listtriggers

Command

listtriggers <ra-entity>
    List installed triggers.
Note This command lists the IDs of all triggers installed in the SIS.

Example

To list installed triggers:

$ ./sis-console listtriggers sis
TriggerID[name=Example,vendor=ABC,version=1.0]
TriggerID[name=Originating,vendor=ABC,version=1.0]
TriggerID[name=Terminating,vendor=ABC,version=1.0]

listactivetriggers

Command

listactivetriggers <ra-entity>
    Lists active triggers in order of priority.
Note This command lists the IDs of all active triggers, in order of their priority (highest to lowest).

Example

To list active triggers:

$ ./sis-console listactivetriggers sis
TriggerID[name=Originating,vendor=ABC,version=1.0]
TriggerID[name=Terminating,vendor=ABC,version=1.0]

gettriggerstate

Command

gettriggerstate <ra-entity> <trigger-id>
    Get the state of a trigger.
Note Displays the trigger state, either ACTIVE or INACTIVE.

Example

To get trigger state:

$ ./sis-console gettriggerstate sis name=Originating,vendor=ABC,version=1.0
ACTIVE

dumptrigger

Command

dumptrigger <ra-entity> <trigger-id> [file]
    Dumps a trigger to screen [or file].
Note This command displays the XML source of a trigger, and if given a filename writes the XML to that file.

Example

To dump a trigger to a file:

$ ./sis-console dumptrigger sis name=Example,vendor=ABC,version=1.0 foo.xml
Wrote trigger TriggerID[name=Example,vendor=ABC,version=1.0] to file foo.xml

MBean operations

MBean

getTriggers

Operation

public TriggerID[] getTriggers()
    throws ManagementException;
Note Returns the identifiers of all triggers installed in the SIS.

getActiveTriggers

Operation

public TriggerID[] getActiveTriggers()
    throws ManagementException;
Note Returns the identifiers of all activated trigger components in the SIS, in order of priority (highest to lowest).

isActivated

Operation

public boolean isActivated(TriggerID id)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;
Note Returns true if the specified trigger is active, otherwise false.

getTrigger

Operation

public String getTrigger(TriggerID id)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;
Note Returns the trigger, in the form of an XML string.

Managing Compositions

The Composition Management MBeans for SIP and IN include operations for performing the following procedures on a SIS instance:

Note
Executing services

A composition describes the services to be invoked for a particular call and the order the services should be invoked.

sis-console command(s) MBean(s) → Operation
installcomposition
Composition Management → install
replacecomposition
Composition Management → replace
uninstallcomposition
Composition Management → uninstall
listcompositions
dumpcomposition
Composition Management → getCompositions
Composition Management → getComposition
isoptimsationsenabled
setoptimsationsenabled
Composition Management → getOptimisationsEnabled
Composition Management → setOptimisationsEnabled
getfciinteraction
setfciinteraction
Composition Management → getFCIInteraction
Composition Management → setFCIInteraction
getonlinecharginginteraction
setonlinecharginginteraction
Composition Management → getOnlineChargingInteraction
Composition Management → setOnlineChargingInteraction
getdebuglevel
setdebuglevel
Composition Management → getDebugLevel
Composition Management → setDebugLevel
getcompositionauditlogging
setcompositionauditlogging
Composition Management → isAuditLoggingEnabled
Composition Management → setAuditLoggingEnabled

Installing Compositions

To install a composition from a local file, use the following sis-console command, Ant task, or related MBean operations.

Console command

installcomposition

Command

installcomposition <ra-entity> <file>
    Install a composition component from a file.
Warning This command installs in the SIS the composition XML file — which must be on the local filesystem of the management client.

Example

To install composition example-composition.xml from the local filesystem of the management client into the SIS instance named sis:

$ ./sis-console installcomposition sis example-composition.xml
Installed composition CompositionID[name=Example,vendor=ABC,version=1.0] from file example-composition.xml

Ant task

installcomposition

Task

<installcomposition file="..."/>

Example

To install composition example-composition.xml from the local filesystem of the management client:

<sis-in-management>
    <installcomposition file="example-composition.xml"/>
</sis-in-management>

or

<sis-sip-management>
    <installcomposition file="example-composition.xml"/>
</sis-sip-management>

MBean operations

MBean

install

Operation

To install a composition from a URL:

public CompositionID install(String url)
    throws NullPointerException, MalformedURLException,
           AlreadyDeployedException, DeploymentException,
           ManagementException;
Warning The SIS retrieves the composition XML file using the specified URL — which must be resolvable from the Rhino node.

install

Operation

To install a composition from a byte array:

public CompositionID install(byte[] content)
    throws NullPointerException, AlreadyDeployedException,
           DeploymentException, ManagementException;
Note The SIS reads the composition XML data from the specified byte array.

Replacing Existing Compositions

To replace an existing composition with a new composition, use the following sis-console command, Ant task, or related MBean operation.

Console command

replacecomposition

Command

replacecomposition <ra-entity> <file>
    Replace a previously installed composition component with new content from a
    file
Warning This command installs in the SIS the composition XML file — which must be on the local filesystem of the management client.
Note If a composition with same identity as that denoted in the file does not exist, this command behaves the same as installcomposition.

Example

To replace an existing composition with composition example-composition.xml from the local filesystem of the management client, into the SIS instance named sis:

$ ./sis-console replacecomposition sis example-composition.xml
Replaced composition CompositionID[name=Example,vendor=ABC,version=1.0] from file example-composition.xml

Ant task

replacecomposition

Task

<replacecomposition file="..."/>

Example

To replace an existing composition with composition example-composition.xml from the local filesystem of the management client:

<sis-in-management>
    <replacecomposition file="example-composition.xml"/>
</sis-in-management>

or

<sis-sip-management>
    <replacecomposition file="example-composition.xml"/>
</sis-sip-management>

MBean operation

MBean

replace

Operation

To replace a composition from a URL:

public CompositionID replace(String url)
    throws NullPointerException, MalformedURLException,
           DeploymentException, ManagementException;
Warning The SIS retrieves the composition XML file using the specified URL — which must be resolvable from the Rhino node.

replace

Operation

To replace a composition from a byte array:

public CompositionID replace(byte[] content)
    throws NullPointerException, DeploymentException, ManagementException;
Note The SIS reads the composition XML data from the specified byte array.

Uninstalling Compositions

To uninstall a composition component from the SIS, use the following sis-console command, Ant task, or related MBean operation.

Console command

uninstallcomposition

Command

uninstallcomposition <ra-entity> <composition-id>
    Uninstall a composition component.

Example

To uninstall the composition component with identifier CompositionID[name=Example,vendor=ABC,version=1.0] from the SIS instance named sis:

$ ./sis-console uninstallcomposition sis name=Example,vendor=ABC,version=1.0
Uninstalled composition CompositionID[name=Example,vendor=ABC,version=1.0]

Ant task

uninstallcomposition

Task

<uninstallcomposition>
    <composition name="..." vendor="..." version="..."/>
</uninstallcomposition>

Example

<sis-in-management>
    <uninstallcomposition>
        <composition name="Example" vendor="ABC" version="1.0"/>
    </uninstallcomposition>
</sis-in-management>

or

<sis-sip-management>
    <uninstallcomposition>
        <composition name="Example" vendor="ABC" version="1.0"/>
    </uninstallcomposition>
</sis-sip-management>

MBean operation

MBean

uninstall

Operation

public void uninstall(CompositionID id)
    throws NullPointerException, UnrecognizedComponentException,
           DependencyException, ManagementException;

Viewing Compositions

To list or display installed compositions, use the following sis-console commands or related MBean operations.

Console commands

listcompositions

Command

listcompositions <ra-entity>
    List installed compositions.
Note This command lists the component identifiers of all compositions installed in the SIS.

Example

$ ./sis-console listcompositions sis
CompositionID[name=Example,vendor=ABC,version=1.0]
CompositionID[name=OriginatingServices,vendor=ABC,version=1.0]
CompositionID[name=TerminatingServices,vendor=ABC,version=1.0]

dumpcomposition

Command

dumpcomposition <ra-entity> <composition-id> [file]
    Dumps a composition to screen [or file].
Note This command displays the XML source of a composition, and if given a filename writes the XML to that file.

Example

$ ./sis-console dumpcomposition sis name=Example,vendor=ABC,version=1.0 foo.xml
Wrote composition CompositionID[name=Example,vendor=ABC,version=1.0] to file foo.xml

MBean operations

MBean

getCompositions

Operation

public CompositionID[] getCompositions()
    throws ManagementException;
Note Returns the identifiers of all compositions installed in the SIS.

getComposition

Operation

public String getComposition(CompositionID id)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;
Note Returns the composition, in the form of an XML string.

Getting and Setting Composition Optimisations

To get or set the optimisations enabled flag for a composition, use the following sis-console commands, Ant task, or related MBean operations.

Tip This is a SIS feature for IN.

Console commands

isOptimisationsEnabled

Command

isoptimisationsenabled <ra-entity> <composition-id>
    Determine if processing optimisations are enabled for a composition

Example

To determine if optimisations are enabled for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] in the SIS instance named sis:

$ ./sis-console isoptimisationsenabled sis name=4000,vendor=OpenCloud,version=1.0
Optimisations for CompositionID[name=4000,vendor=OpenCloud,version=1.0] are disabled

setOptimisationsEnabled

Command

setoptimisationsenabled <ra-entity> <composition-id> <boolean>
    Enable/disable processing optimisations for a composition

Example

To enable optimisations for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] in the SIS instance named sis:

$ ./sis-console setoptimsationsenabled sis name=4000,vendor=OpenCloud,version=1.0 true
Optimisations for CompositionID[name=4000,vendor=OpenCloud,version=1.0] enabled

Ant task

updateincomposition

Task

<updateincomposition optimisationsEnabled="...">
    <composition name="..." vendor="..." version="..."/>
</updateincomposition>

Example

To enable optimisations for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0]:

<sis-in-management>
    <updateincomposition optimisationsEnabled="true">
        <composition name="4000" vendor="OpenCloud" version="1.0"/>
    </updateincomposition>
</sis-in-management>

MBean operations

MBean

getOptimisationsEnabled

Operation

public boolean getOptimisationsEnabled(CompositionID id)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

setOptimisationsEnabled

Operation

public void setOptimisationsEnabled(CompositionID id, boolean enabled)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

Getting and Setting Composition FCI Interaction Mode

To get or set the FCI Interaction mode for a composition, use the following sis-console commands, Ant task, or related MBean operations.

Tip This is a SIS feature for IN.

Console commands

getFCIInteraction

Command

getfciinteraction <ra-entity> <composition-id>
    Get the FCI interaction mode for a composition

Example

To determine the current FCI interaction mode for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] in the SIS instance named sis:

$ ./sis-console getfciinteraction sis name=4000,vendor=OpenCloud,version=1.0
FCI interaction mode for CompositionID[name=4000,vendor=OpenCloud,version=1.0] is
FCIInteraction[mode=static-service-priorities]

setFCIInteraction

Command

setfciinteraction <ra-entity> <composition-id> <mode> [<service-alias>]
    Set the FCI interaction mode for a composition. Mode must be
    'static-service-priorities', 'nominated-service', 'concatenation', or
    'pass-through'. The service-alias argument is required if the
    'nominated-service' mode is selected.

Example

To set the FCI interaction mode for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] in the SIS instance named sis to nominated-service, nominating the service with alias SERVICE1:

$ ./sis-console setfciinteraction sis name=4000,vendor=OpenCloud,version=1.0 nominated-service SERVICE1
FCI interaction mode for CompositionID[name=4000,vendor=OpenCloud,version=1.0] set to
FCIInteraction[mode=nominated-service,nominated-service-alias=SERVICE1]
Tip To display the service aliases used in a composition, and what service each alias maps to, use the dumpComposition command.

Ant task

updateincomposition

Task

<updateincomposition>
    <composition name="..." vendor="..." version="..."/>
    <fciInteraction mode="..." serviceref="..."/>
</updateincomposition>

Example

To set the FCI interaction mode for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] to nominated-service, nominating the service with alias SERVICE1:

<sis-in-management>
    <updateincomposition>
        <composition name="4000" vendor="OpenCloud" version="1.0"/>
        <fciInteraction mode="nominated-service" serviceref="SERVICE1"/>
    </updateincomposition>
</sis-in-management>

MBean operations

MBean

getFCIInteraction

Operation

public FCIInteraction getFCIInteraction(CompositionID id)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

setFCIInteraction

Operation

public void setFCIInteraction(CompositionID id, FCIInteraction fciInteraction)
    throws NullPointerException, UnrecognizedComponentException,
           InvalidArgumentException, ManagementException;

Getting and Setting Composition Online Charging Interaction Mode

To get or set the Online Charging Interaction mode for a composition, use the following sis-console commands, Ant task, or related MBean operations.

Tip This is a SIS feature for IN.

Console commands

getOnlineChargingInteraction

Command

getonlinecharginginteraction <ra-entity> <composition-id>
   Get the online charging interaction mode for a composition

Example

To determine the current online charging interaction mode for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] in the SIS instance named sis:

$ ./sis-console getonlinecharginginteraction sis name=4000,vendor=OpenCloud,version=1.0
Online charging interaction mode for CompositionID[name=4000,vendor=OpenCloud,version=1.0] is
OnlineChargingInteraction[mode=static-service-priorities]

setOnlineChargingInteraction

Command

setonlinecharginginteraction <ra-entity> <composition-id> <mode> [<service-alias>]
   Set the online charging interaction mode for a composition. Mode must be
   'static-service-priorities' or 'nominated-service'. The service-alias argument
   is required if the 'nominated-service' mode is selected.

Example

To set the online charging interaction mode for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] in the SIS instance named sis to nominated-service, nominating the service with alias SERVICE1:

$ ./sis-console setonlinecharginginteraction sis name=4000,vendor=OpenCloud,version=1.0 nominated-service SERVICE1
Online charging interaction mode for CompositionID[name=4000,vendor=OpenCloud,version=1.0] set to
OnlineChargingInteraction[mode=nominated-service,nominated-service-alias=SERVICE1]
Tip To display the service aliases used in a composition, and what service each alias maps to, use the dumpComposition command.

Ant task

updateincomposition

Task

<updateincomposition>
    <composition name="..." vendor="..." version="..."/>
    <onlineChargingInteraction mode="..." serviceref="..."/>
</updateincomposition>

Example

To set the online charging interaction mode for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] to nominated-service, nominating the service with alias SERVICE1:

<sis-in-management>
    <updateincomposition>
        <composition name="4000" vendor="OpenCloud" version="1.0"/>
        <onlineChargingInteraction mode="nominated-service" serviceref="SERVICE1"/>
    </updateincomposition>
</sis-in-management>

MBean operations

MBean

getOnlineChargingInteraction

Operation

public OnlineChargingInteraction getOnlineChargingInteraction(CompositionID id)
        throws NullPointerException, UnrecognizedComponentException,
               ManagementException;

setOnlineChargingInteraction

Operation

public void setOnlineChargingInteraction(CompositionID id, OnlineChargingInteraction interaction)
        throws NullPointerException, UnrecognizedComponentException,
               InvalidArgumentException, ManagementException;

Getting and Setting Composition Debug Level

To get or set the fine-grained tracing debug level for a composition, use the following sis-console commands, Ant task, or related MBean operations.

Console commands

getDebugLevel

Command

getdebuglevel <ra-entity> <CompositionID>
    Get current fine-grained tracing debug level for a composition

Example

To get the debug level for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] in the SIS instance named sis:

$ ./sis-console getdebuglevel sis name=4000,vendor=OpenCloud,version=1.0
Debug level for CompositionID[name=4000,vendor=OpenCloud,version=1.0]=0

setDebugLevel

Command

setdebuglevel <ra-entity> <CompositionID> <debugLevel>
    Set fine-grained tracing debug level for a composition

Example

To set the debug level for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] in the SIS instance named sis to 2:

$ ./sis-console setdebuglevel sis name=4000,vendor=OpenCloud,version=1.0 2
Debug level for CompositionID[name=4000,vendor=OpenCloud,version=1.0] set to 2

Ant task

updatecomposition

Task

<updatecomposition audit="..." debuglevel="..." >
    <composition name="..." vendor="..." version="..."/>
</updatecomposition>

Example

To set the debug level for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] to 2:

<sis-in-management>
    <updatecomposition debuglevel="2">
        <composition name="4000" vendor="OpenCloud" version="1.0"/>
    </updatecomposition>
</sis-in-management>

or

<sis-sip-management>
    <updatecomposition debuglevel="2">
        <composition name="4000" vendor="OpenCloud" version="1.0"/>
    </updatecomposition>
</sis-sip-management>

MBean operations

MBean

getDebugLevel

Operation

public int getDebugLevel(CompositionID)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

setDebugLevel

Operation

public void setDebugLevel(CompositionID id, int debugLevel)
    throws NullPointerException, UnrecognizedComponentException,
           IllegalArgumentException, ManagementException;

Getting and Setting Composition Audit Logging

To get or set audit logging for a composition, use the following sis-console commands, Ant task, or related MBean operations.

Console commands

getCompositionAuditLogging

Command

getcompositionauditlogging <ra-entity> <CompositionID>
    Determine if audit logging is enabled for a composition

Example

To determine if audit logging is enabled for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] in the SIS instance named sis:

$ ./sis-console getcompositionauditlogging sis name=4000,vendor=OpenCloud,version=1.0
Audit logging for CompositionID[name=4000,vendor=OpenCloud,version=1.0] is disabled

setCompositionAuditLogging

Command

setcompositionauditlogging <ra-entity> <CompositionID> <boolean>
    Enable/disable audit logging for a composition

Example

To enable audit logging for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0] in the SIS instance named sis:

$ ./sis-console setcompositionauditlogging sis name=4000,vendor=OpenCloud,version=1.0 true
Audit logging for CompositionID[name=4000,vendor=OpenCloud,version=1.0] enabled

Ant task

updatecomposition

Task

<updatecomposition audit="..." debuglevel="..." >
    <composition name="..." vendor="..." version="..."/>
</updatecomposition>

Example

To enable audit logging for the composition with identifier CompositionID[name=4000,vendor=OpenCloud,version=1.0]:

<sis-in-management>
    <updatecomposition audit="true">
        <composition name="4000" vendor="OpenCloud" version="1.0"/>
    </updatecomposition>
</sis-in-management>

or

<sis-sip-management>
    <updatecomposition audit="true">
        <composition name="4000" vendor="OpenCloud" version="1.0"/>
    </updatecomposition>
</sis-sip-management>

MBean operations

MBean

isAuditLoggingEnabled

Operation

public boolean isAuditLoggingEnabled(CompositionID id)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

setAuditLoggingEnabled

Operation

public void setAuditLoggingEnabled(CompositionID id, boolean enabled)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

Managing Interceptors

The Interceptor Management MBeans for SIP and IN include operations for performing the following procedures on a SIS instance:

Note
Signaling interceptors

An interceptor can be used to inspect and manipulate the signaling between a service and the SIS, or between the SIS and the network.

An interceptor reference identifies an interceptor component to SIS compositions or other interceptors.

sis-console command(s) MBean(s) → Operation
installinterceptor
Interceptor Management → install
replaceinterceptor
Interceptor Management → replace
uninstallinterceptor
Interceptor Management → uninstall

Procedure: View a interceptor

listinterceptors
dumpinterceptor
Interceptor Management → getInterceptors
Interceptor Management → getInterceptor
createinterceptorref
Interceptor Management → createServiceInterceptorRef
replaceinterceptorref
Interceptor Management → replaceInterceptorRef
removeinterceptorref
Interceptor Management → removeInterceptorRef
listinterceptorrefs
dumpinterceptorref
Interceptor Management → getInterceptorRefs
Interceptor Management → getDescriptor

Installing Interceptors

To install an interceptor from a local file, use the following sis-console command, Ant task, or related MBean operations.

Console command

installinterceptor

Command

installinterceptor <ra-entity> <file>
    Install an interceptor component from a file.
Warning This command installs in the SIS the interceptor XML file — which must be on the local filesystem of the management client.

Example

To install interceptor example-interceptor.xml from the local filesystem of the management client into the SIS instance named sis:

$ ./sis-console installinterceptor sis example-interceptor.xml
Installed interceptor InterceptorID[name=Example,vendor=ABC,version=1.0] from file example-interceptor.xml

Ant task

installinterceptor

Task

<installinterceptor file="..."/>

Example

To install interceptor example-interceptor.xml from the local filesystem of the management client:

<sis-in-management>
    <installinterceptor file="example-interceptor.xml"/>
</sis-in-management>

or

<sis-sip-management>
    <installinterceptor file="example-interceptor.xml"/>
</sis-sip-management>

MBean operations

MBean

install

Operation

To install a interceptor from a URL:

public InterceptorID install(String url)
    throws NullPointerException, MalformedURLException,
           AlreadyDeployedException, DeploymentException,
           ManagementException;
Warning The SIS retrieves the interceptor XML file using the specified URL — which must be resolvable from the Rhino node.

install

Operation

To install a interceptor from a byte array:

public InterceptorID install(byte[] content)
    throws NullPointerException, AlreadyDeployedException,
           DeploymentException, ManagementException;
Note The SIS reads the interceptor XML data from the specified byte array.

Replacing Existing Interceptors

To replace an existing interceptor with a new interceptor, use the following sis-console command, Ant task, or related MBean operations.

Console command

replaceinterceptors

Command

replaceinterceptor <ra-entity> <file>
    Replace a previously installed interceptor component with new content from a
    file
Warning This command installs in the SIS the interceptor XML file — which must be on the local filesystem of the management client.
Note If an interceptor with same identity as that denoted in the file does not exist, this command behaves the same as installinterceptor.

Example

To replace an existing interceptor with interceptor example-interceptor.xml from the local filesystem of the management client, into the SIS instance named sis:

$ ./sis-console replaceinterceptor sis example-interceptor.xml
Replaced interceptor InterceptorID[name=Example,vendor=ABC,version=1.0] from file example-interceptor.xml

Ant task

replaceinterceptor

Task

<replaceinterceptor file="..."/>

Example

To replace an existing interceptor with interceptor example-interceptor.xml from the local filesystem of the management client:

<sis-in-management>
    <replaceinterceptor file="example-interceptor.xml"/>
</sis-in-management>

or

<sis-sip-management>
    <replaceinterceptor file="example-interceptor.xml"/>
</sis-sip-management>

MBean operations

MBean

replace

Operation

To replace an interceptor from a URL:

public InterceptorID replace(String url)
    throws NullPointerException, MalformedURLException,
           DeploymentException, ManagementException;
Warning The SIS retrieves the interceptor XML file using the specified URL — which must be resolvable from the Rhino node.

replace

Operation

To replace an interceptor from a byte array:

public InterceptorID replace(byte[] content)
    throws NullPointerException, DeploymentException, ManagementException;
Note The SIS reads the interceptor XML data from the specified byte array.

Uninstalling Interceptors

To uninstall an interceptor component from the SIS, use the following sis-console command, Ant task, or related MBean operation.

Console command

uninstallinterceptor

Command

uninstallinterceptor <ra-entity> <interceptor-id>
    Uninstall an interceptor component.

Example

To uninstall the interceptor component with identifier InterceptorID[name=Example,vendor=ABC,version=1.0] from the SIS instance named sis:

$ ./sis-console uninstallinterceptor sis name=Example,vendor=ABC,version=1.0
Uninstalled interceptor InterceptorID[name=Example,vendor=ABC,version=1.0]

Ant task

uninstallinterceptor

Task

<uninstallinterceptor>
    <interceptor name="..." vendor="..." version="..."/>
</uninstallinterceptor>

Example

<sis-in-management>
    <uninstallinterceptor>
        <interceptor name="Example" vendor="ABC" version="1.0"/>
    </uninstallinterceptor>
</sis-in-management>

or

<sis-sip-management>
    <uninstallinterceptor>
        <interceptor name="Example" vendor="ABC" version="1.0"/>
    </uninstallinterceptor>
</sis-sip-management>

MBean operation

MBean

uninstall

Operation

public void uninstall(InterceptorID id)
    throws NullPointerException, UnrecognizedComponentException,
           DependencyException, ManagementException;

Viewing Interceptors

To list or display installed interceptors, use the following sis-console commands or related MBean operations.

Console commands

listinterceptors

Command

listinterceptors <ra-entity>
    Lists installed interceptors.
Note This command lists the component identifiers of all interceptors installed in the SIS.

Example

$ ./sis-console listinterceptors sis
InterceptorID[name=Example,vendor=ABC,version=1.0]

dumpinterceptor

Command

dumpinterceptor <ra-entity> <interceptor-id> [file]
    Dumps an interceptor to screen [or file].
Note This command displays the XML source of an interceptor, and if given a filename writes the XML to that file.

Example

$ ./sis-console dumpinterceptor sis name=Example,vendor=ABC,version=1.0 foo.xml
Wrote interceptor InterceptorID[name=Example,vendor=ABC,version=1.0] to file foo.xml

MBean operations

MBean

getInterceptors

Operation

public InterceptorID[] getInterceptors()
    throws ManagementException;
Note Returns the identifiers of all interceptors installed in the SIS.

getInterceptor

Operation

public String getInterceptor(InterceptorID id)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;
Note Returns the interceptor, in the form of an XML string.

Creating Interceptor References

To create an interceptor reference to an interceptor component, use the following sis-console command, Ant task, or related MBean operation.

Console command

createinterceptorref

Command

createinterceptorref <ra-entity> <name> <interceptor-id>
    Create an interceptor reference

Example

To create an interceptor reference called Example in the SIS instance named sis which references the SIS interceptor with identifier InterceptorID[name=name=Example,vendor=ABC,version=1.0]:

$ ./sis-console createinterceptorref sis Example "name=Example,vendor=ABC,version=1.0"
Created interceptor reference Example for interceptor InterceptorID[name=Example,vendor=ABC,version=1.0]

Ant task

createinterceptorref

Task

<createinterceptorref name="...">
    <interceptor name="..." vendor="..." version="..."/>
</createinterceptorref>

Example

To create an interceptor reference called Example which references the SIS interceptor with identifier InterceptorID[name=Example,vendor=ABC,version=1.0]:

<sis-in-management>
    <createinterceptorref name="Example">
        <interceptor name="Example" vendor="ABC" version="1.0"/>
    </createinterceptorref>
</sis-in-management>

or

<sis-sip-management>
    <createinterceptorref name="Example">
        <interceptor name="Example" vendor="ABC" version="1.0"/>
    </createinterceptorref>
</sis-sip-management>

MBean operation

MBean

createInterceptorRef

Operation

To create an interceptor reference that references a SIS interceptor:

public void createInterceptorRef(String name, InterceptorID interceptorID)
    throws NullPointerException, AlreadyDeployedException,
           DeploymentException, ManagementException;

Replacing Existing Interceptor References

To replace an existing interceptor reference with a reference to a new interceptor, use the following sis-console command, Ant task, or related MBean operation.

Console command

replaceinterceptorref

Command

replaceinterceptorref <ra-entity> <name> <interceptor-id>
    Replace an interceptor reference with a binding to a new interceptor
Warning If the named interceptor reference does not exist, this command will fail.

Example

To replace an existing interceptor reference called Example in the SIS instance named sis with a reference to the interceptor component with identifier InterceptorID[name=Example,vendor=ABC,version=2.0]:

$ ./sis-console replaceinterceptorref sis Example "name=Example,vendor=ABC,version=2.0"
Replaced interceptor reference Example with reference to interceptor InterceptorID[name=Example,vendor=ABC,version=2.0]

Ant task

replaceinterceptorref

Task

<replaceinterceptorref name="...">
    <interceptor name="..." vendor="..." version="..."/>
</replaceinterceptorref>

Example

To replace an interceptor reference called Example with a new reference to the interceptor with identifier InterceptorID[name=Example,vendor=ABC,version=2.0]:

<sis-in-management>
    <replaceinterceptorref name="Example">
        <interceptor name="Example" vendor="ABC" version="2.0"/>
    </replaceinterceptorref>
</sis-in-management>

or

<sis-sip-management>
    <replaceinterceptorref name="Example">
        <interceptor name="Example" vendor="ABC" version="2.0"/>
    </replaceinterceptorref>
</sis-sip-management>

MBean operation

MBean

replaceInterceptorRef

Operation

To replace an interceptor reference with a new reference to a SIS interceptor:

public void replaceInterceptorRef(InterceptorRefID interceptorRefID, InterceptorID serviceID)
    throws NullPointerException, UnrecognizedComponentException,
           DeploymentException, ManagementException;

Removing Interceptor References

To remove an interceptor reference from the SIS, use the following sis-console command, Ant task, or related MBean operation.

Console command

removeinterceptorref

Command

removeinterceptorref <ra-entity> <name>
    Remove an interceptor reference

Example

To remove an interceptor reference called Example in the SIS instance named sis:

$ ./sis-console removeinterceptorref sis Example
Removed interceptor reference Example

Ant task

removeinterceptorref

Task

<removeinterceptorref name="..."/>

Example

To remove an interceptor reference called Example:

<sis-in-management>
    <removeinterceptorref name="Example"/>
</sis-in-management>

or

<sis-sip-management>
    <removeinterceptorref name="Example"/>
</sis-sip-management>

MBean operation

MBean

removeInterceptorRef

Operation

To remove an interceptor reference:

public void removeInterceptorRef(InterceptorRefID interceptorRefID)
    throws NullPointerException, UnrecognizedComponentException,
           DependencyException, ManagementException;

Viewing Interceptor References

To list or display interceptor references, use the following sis-console commands or related MBean operations.

Console commands

listinterceptorrefs

Command

listinterceptorrefs <ra-entity>
    List interceptor references
Note This command lists the interceptor reference identifiers of all interceptor references created in the SIS.

Example

$ ./sis-console listinterceptorrefs sis
InterceptorRefID[Example]

dumpinterceptorref

Command

dumpinterceptorref <ra-entity> <name>
    Display an interceptor reference
Note This command displays the properties of the interceptor reference.

Example

$ ./sis-console dumpinterceptorref sis "Example"
interceptorName    : Example
interceptorVendor  : ABC
interceptorVersion : 1.0
name               : Example

MBean operations

MBean

getInterceptorRefs

Operation

public InterceptorRefID[] getInterceptorRefs()
    throws ManagementException;
Note Returns the identifiers of all interceptor references in the SIS.

getDescriptor

Operation

public CompositeData getDescriptor(InterceptorRefID interceptorRefID)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;
Note Returns the interceptor reference descriptor in the form of an MBean CompositeData object.

Managing Service References

The Service Reference Management MBeans for SIP and IN include operations for performing the following procedures on a SIS instance:

Note
Identifying composition services

A service reference identifies a service that can be invoked from a composition. Services may be either:

  • local — JAIN SLEE services deployed in the same Rhino instance; identified to the SIS by their SLEE service-component identifiers

  • external — services running on other network nodes; represented in the SIS by an external platform definition.

sis-console command(s) MBean(s) → Operation
createlocalserviceref
Service Reference Management → createLocalServiceRef
createexternalserviceref
Service Reference Management → createExternalServiceRef
listservicerefs
dumpserviceref
Service Reference Management → getServiceRefs
Service Reference Management → getDescriptor
replacelocalserviceref
Service Reference Management → replaceServiceRef
replaceexternalserviceref
Service Reference Management → replaceServiceRef
getservicetimeout
setservicetimeout
Service Reference Management → getDefaultTimeout
Service Reference Management → setDefaultTimeout
getstaticchargingpriority
setstaticchargingpriority
Service Reference Management → getStaticChargingPriority
Service Reference Management → setStaticChargingPriority
getapplicationcontext
setapplicationcontext
listsupportedapplicationcontexts
Service Reference Management → getApplicationContext
Service Reference Management → setApplicationContext
Service Reference Management → listSupportedApplicationContexts
getassistingdialogapplicationcontext
setassistingdialogapplicationcontext
listsupportedapplicationcontexts
Service Reference Management → getAssistingDialogApplicationContext
Service Reference Management → setAssistingDialogApplicationContext
Service Reference Management → listSupportedApplicationContexts
removeserviceref
Service Reference Management → removeServiceRef

Creating Local Service References

To create a service reference to a local JAIN SLEE service, use the following sis-console command, Ant task, or related MBean operation.

Console command

createlocalserviceref

Command

createlocalserviceref <ra-entity> <name> <service-id>
    Create a service reference bound to a local SLEE service

Example

To create a service reference called VPN in the SIS instance named sis which references a local SLEE service with identifier ServiceID[name=VPN Service,vendor=OpenCloud,version=0.2]:

$ ./sis-console createlocalserviceref sis VPN "name=VPN Service,vendor=OpenCloud,version=0.2"
Created service reference VPN for local SLEE service ServiceID[name=VPN Service,vendor=OpenCloud,version=0.2]

Ant task

SIP

createserviceref

Task

<createserviceref name="..." type="local">
    <service name="..." vendor="..." version="..."/>
</createserviceref>

Example

To create a service reference called VPN which references a local SLEE service with identifier ServiceID[name=VPN Service,vendor=OpenCloud,version=0.2]:

<sis-sip-management>
    <createserviceref name="VPN" type="local">
        <service name="VPN Service" vendor="OpenCloud" version="0.2"/>
    </createserviceref>
</sis-sip-management>

IN

createserviceref

Task

<createserviceref name="..." type="local">
    <service name="..." vendor="..." version="..."/>
</createserviceref>

The IN version of this task has additional optional parameters.

Example

To create a service reference called VPN which references a local SLEE service with identifier ServiceID[name=VPN Service,vendor=OpenCloud,version=0.2]:

<sis-in-management>
    <createserviceref name="VPN" type="local">
        <service name="VPN Service" vendor="OpenCloud" version="0.2"/>
    </createserviceref>
</sis-in-management>

MBean operation

MBean

createLocalServiceRef

Operation

To create a service reference that references a local JAIN SLEE service:

public void createLocalServiceRef(String name, ServiceID serviceID)
    throws NullPointerException, AlreadyDeployedException,
           DeploymentException, ManagementException;

Creating External Service References

To create a service reference to an external platform, use the following sis-console command, Ant task, or related MBean operation.

Console command

createexternalserviceref

Command

createexternalserviceref <ra-entity> <name> <external-platform-name>
    Create a service reference bound to an external platform definition

Example

To create a service reference called VPN in the SIS instance named sis which references an external platform definition with the name VPN-External:

$ ./sis-console createexternalserviceref sis VPN VPN-External
Created service reference VPN for external platform VPN-External

Ant task

SIP

createserviceref

Task

<createserviceref name="..." type="external" extPlatformName="..."/>

Example

To create a service reference called VPN which references an external platform definition with the name VPN-External:

<sis-sip-management>
    <createserviceref name="VPN" type="external" extPlatformName="VPN-External"/>
</sis-sip-management>

IN

createserviceref

Task

<createserviceref name="..." type="external" extPlatformName="..."/>

The IN version of this task has additional optional parameters.

Example

To create a service reference called VPN which references an external platform definition with the name VPN-External:

<sis-in-management>
    <createserviceref name="VPN" type="external" extPlatformName="VPN-External"/>
</sis-in-management>

MBean operation

MBean

createExternalServiceRef

Operation

To create a service reference that references an external platform definition:

public void createExternalServiceRef(String name, ExternalPlatformID extPlatformID)
    throws NullPointerException, AlreadyDeployedException,
           DeploymentException, ManagementException;

Viewing Service References

To list or display service references, use the following sis-console commands or related MBean operations.

Console commands

listservicerefs

Command

listservicerefs <ra-entity>
    List service references
Note This command lists the service reference identifiers of all service references created in the SIS.

Example

$ ./sis-console listservicerefs sis
ServiceRefID[Call Barring]
ServiceRefID[Call Forwarding]
ServiceRefID[VPN]

dumpserviceref

Command

dumpserviceref <ra-entity> <name>
    Display a service reference
Note This command displays the properties of the service reference. The output depends on whether the referenced service is local or external.

Examples

$ ./sis-console dumpserviceref sis VPN
chargingPriority : 0
defaultTimeout   : 1500
name             : VPN
serviceName      : VPN Service
serviceVendor    : OpenCloud
serviceVersion   : 0.2
type             : local

$ ./sis-console dumpserviceref sis "Call Barring"
chargingPriority : -20
defaultTimeout   : 0
extPlatformName  : Call Barring
name             : Call Barring
type             : external

MBean operations

MBean

getServiceRefs

Operation

public ServiceRefID[] getServiceRefs()
    throws ManagementException;
Note Returns the identifiers of all service references in the SIS.

getDescriptor

Operation

public CompositeData getDescriptor(ServiceRefID serviceRefID)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;
Note Returns the service reference descriptor in the form of an MBean CompositeData object.

Replacing Existing Service References with Local Service References

To replace an existing service reference with a reference to a local JAIN SLEE service, use the following sis-console command, Ant task, or related MBean operation.

Console command

replacelocalserviceref

Command

replacelocalserviceref <ra-entity> <name> <service-id>
    Replace a service reference with a binding to a local SLEE service
Note If the named service reference does not exist, this command behaves the same as createlocalserviceref.

Example

To replace an existing service reference called VPN in the SIS instance named sis with a reference to a local SLEE service with identifier ServiceID[name=iVPN Service,vendor=OpenCloud,version=1.0]:

$ ./sis-console replacelocalserviceref sis VPN "name=iVPN Service,vendor=OpenCloud,version=1.0"
Replaced service reference VPN with reference to local SLEE service ServiceID[name=iVPN Service,vendor=OpenCloud,version=1.0]

Ant task

replaceserviceref

Task

<replaceserviceref name="..." type="local">
    <service name="..." vendor="..." version="..."/>
</replaceserviceref>

Example

To replace a service reference called VPN with a new reference to a local SLEE service with identifier ServiceID[name=iVPN Service,vendor=OpenCloud,version=1.0]:

<sis-in-management>
    <replaceserviceref name="VPN" type="local">
        <service name="iVPN Service" vendor="OpenCloud" version="1.0"/>
    </replaceserviceref>
</sis-in-management>

or

<sis-sip-management>
    <replaceserviceref name="VPN" type="local">
        <service name="iVPN Service" vendor="OpenCloud" version="1.0"/>
    </replaceserviceref>
</sis-sip-management>

MBean operation

MBean

replaceServiceRef

Operation

To replace a service reference with a new reference to a local JAIN SLEE service:

public void replaceServiceRef(String name, ServiceID serviceID)
    throws NullPointerException, DeploymentException, ManagementException;

Replacing Existing Service References with External Service References

To replace an existing service reference with a reference to an external platform, use the following sis-console command, Ant task, or related MBean operation.

Console command

replaceexternalserviceref

Command

replaceexternalserviceref <ra-entity> <name> <external-platform-name>
  Replace a service reference with a binding to an external platform definition
Note If the named service reference does not exist, this command behaves the same as createexternalserviceref.

Example

To replace an existing service reference called VPN in the SIS instance named sis with a reference to an external platform definition with the name iVPN-External:

$ ./sis-console replaceexternalserviceref sis VPN iVPN-External
Replaced service reference VPN with reference to external platform iVPN-External

Ant task

replaceserviceref

Task

<replaceserviceref name="..." type="external" extPlatformName="..."/>

Example

To replace a service reference called VPN with a new reference to an external platform definition with the name iVPN-External:

<sis-in-management>
    <replaceserviceref name="VPN" type="external" extPlatformName="iVPN-External"/>
</sis-in-management>

or

<sis-sip-management>
    <replaceserviceref name="VPN" type="external" extPlatformName="iVPN-External"/>
</sis-sip-management>

MBean operation

MBean

replaceServiceRef

Operation

To replace a service reference with a new reference to an external platform definition:

public void replaceServiceRef(String name, ExternalPlatformID extPlatformID)
    throws NullPointerException, DeploymentException,
           ManagementException;

Getting and Setting the Default Service Timeout for a Service

To get or set the default invocation timeout for a service, use the following sis-console commands, Ant task, or related MBean operations.

Console commands

getDefaultServiceTimeout

Command

getdefaultservicetimeout <ra-entity> <name>
    Get default timeout for a service

Example

To get the default timeout for a service with reference name VPN in the SIS instance named sis:

$ ./sis-console getdefaultservicetimeout sis VPN
Default timeout for service reference VPN is 2000ms

setDefaultServiceTimeout

Command

setdefaultservicetimeout <ra-entity> <name> <timeout>
    Set default timeout for a service. Timeout, measured in milliseconds, must be at least 100, or specify 0 to use the global default service timeout configured in the SIS for this service

Example

To set the default timeout for a service with reference name VPN in the SIS instance named sis to 5000ms:

$ ./sis-console setdefaultservicetimeout sis VPN 5000
Default timeout for service reference VPN set to 5000ms

Ant task

updateserviceref

Task

<updateserviceref name="..." defaulttimeout="..."/>

Example

<sis-in-management>
    <updateserviceref name="VPN" timeout="5000"/>
</sis-in-management>

or

<sis-sip-management>
    <updateserviceref name="VPN" timeout="5000"/>
</sis-sip-management>

MBean operations

MBean

getDefaultTimeout

Operation

public long getDefaultTimeout(ServiceRefID serviceRefID)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

setDefaultTimeout

Operation

public void setDefaultTimeout(ServiceRefID serviceRefID, long timeout)
    throws NullPointerException, IllegalArgumentException,
           UnrecognizedComponentException, ManagementException;
Warning The timeout argument must be at least 100, or specify 0 to use the global default service timeout configured in the SIS for this service.

Getting and Setting the Static Charging Priority

To get or set the static charging priority for a service, use the following sis-console commands, Ant task, or related MBean operations.

Console commands

getStaticChargingPriority

Command

getstaticchargingpriority <ra-entity> <name>
    Get static charging priority for a service

Example

To get the static charging priority for a service with reference name VPN in the SIS instance named sis:

$ ./sis-console getstaticchargingpriority sis VPN
Static charging priority for service reference VPN is 0

setStaticChargingPriority

Command

setstaticchargingpriority <ra-entity> <name> <priority>
    Set static charging priority for a service. More positive number means
    higher priority

Example

To set the static charging priority for a service with reference name VPN in the SIS instance named sis to -10:

$ ./sis-console setstaticchargingpriority sis VPN -10
Set static charging priority for service reference VPN to -10

Ant task

updateserviceref

Task

<updateserviceref name="..." staticchargingpriority="..."/>

Example

<sis-in-management>
    <updateserviceref name="VPN" staticchargingpriority="-10"/>
</sis-in-management>

or

<sis-sip-management>
    <updateserviceref name="VPN" staticchargingpriority="-10"/>
</sis-sip-management>

MBean operations

MBean

getStaticChargingPriority

Operation

public int getStaticChargingPriority(ServiceRefID serviceRefID)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

setStaticChargingPriority

Operation

public void setStaticChargingPriority(ServiceRefID serviceRefID, int priorty)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

Getting and Setting the Service Application Context Override

To get or set the application context override for a service, use the following sis-console commands, Ant task, or related MBean operations:

Tip This is a SIS feature for IN.
Note The default behaviour of the SIS is to trigger composition services using a dialog of the same application context as the network dialog. The application context override option allows a service to be instead triggered with a specific application context, typically different to the expected network dialog application context. For example, the service may only support a particular protocol.
Warning This option does not provide protocol translation. If protocol translation is required between the network dialog application context and the service dialog application context, then this must be provided via SIS interceptor components.

Console commands

getApplicationContext

Command

getapplicationcontext <ra-entity> <name>
    Get IN application context that the service will be invoked with

Example

To get the application context override for a service with reference name VPN in the SIS instance named sis:

$ ./sis-console getapplicationcontext sis VPN
IN application context for service reference VPN is cap_v2:cap-v2-gsmSSF-to-gsmSCF-AC

setApplicationContext

Command

setapplicationcontext <ra-entity> <name> <app-context>
    Set IN application context that the service will be invoked with. Use - to
    clear an existing setting

The list of supported application context names that can be used by this command is obtainable using the listSupportedApplicationContexts command as shown below.

Example

To set the application context override for a service with reference name VPN in the SIS instance named sis to cap_v3:capssf-scfGenericAC:

$ ./sis-console setapplicationcontext sis VPN cap_v3:capssf-scfGenericAC
Set IN application context for service reference VPN to cap_v3:capssf-scfGenericAC

To remove an existing application context override for the same service:

$ ./sis-console setapplicationcontext sis VPN -
Cleared IN application context for service reference VPN

listSupportedApplicationContexts

Command

listsupportedapplicationcontexts <ra-entity>
    List the set of supported application contexts that a service can be invoked
    with

Example

To list the application contexts supported by the SIS instance named sis:

$ ./sis-console listsupportedapplicationcontexts sis
The following application contexts are supported:
cap_v1:cap-v1-gsmSSF-to-gsmSCF-AC
cap_v2:cap-v2-assist-gsmSSF-to-gsmSCF-AC
cap_v2:cap-v2-gsmSRF-to-gsmSCF-AC
cap_v2:cap-v2-gsmSSF-to-gsmSCF-AC
cap_v3:cap3-sms-AC
cap_v3:capssf-scfAssistHandoffAC
cap_v3:capssf-scfGenericAC
cap_v3:gsmSRF-gsmSCF-ac
cap_v4:cap4-sms-AC
cap_v4:capssf-scfAssistHandoffAC
cap_v4:capssf-scfGenericAC
cap_v4:gsmSRF-gsmSCF-ac
etsi_inap_cs1:core-INAP-CS1-IP-to-SCP-AC
etsi_inap_cs1:core-INAP-CS1-SCP-to-SSP-AC
etsi_inap_cs1:core-INAP-CS1-SSP-to-SCP-AC
etsi_inap_cs1:core-INAP-CS1-assist-handoff-SSP-to-SCP-AC

Ant task

updateserviceref

Task

<updateserviceref name="..." inServiceApplicationContext="..."/>

Example

<sis-in-management>
    <updateserviceref name="VPN" inServiceApplicationContext="cap_v3:capssf-scfGenericAC"/>
</sis-in-management>

MBean operations

MBean

getApplicationContext

Operation

public String getApplicationContext(ServiceRefID serviceRefID)
    throws NullPointerException, UnrecognizedComponentException, ManagementException;

setApplicationContext

Operation

public void setApplicationContext(ServiceRefID serviceRefID, String appContextName)
    throws NullPointerException, UnrecognizedComponentException,
           InvalidArgumentException, ManagementException;

getSupportedApplicationContexts

Operation

public String[] getSupportedApplicationContexts()
    throws ManagementException;

Getting and Setting the Assisting Dialog Application Context Override

To get or set the assisting dialog application context override for a service, use the following sis-console commands, Ant task, or related MBean operations:

Tip This is a SIS feature for IN only.
Note This option provides the same function and capability as that described in Getting and Setting the Service Application Context Override except that it applies to assisting dialogs used for user interaction.

Console commands

getAssistingDialogApplicationContext

Command

getassistingdialogapplicationcontext <ra-entity> <name>
    Get IN application context that the service will be invoked with for assisting
    dialogs

Example

To get the assisting dialog application context override for a service with reference name VPN in the SIS instance named sis:

$ ./sis-console getassistingdialogapplicationcontext sis VPN
IN assisting dialog application context for service reference VPN is cap_v2:cap-v2-assist-gsmSSF-to-gsmSCF-AC

setAssistingDialogApplicationContext

Command

setassistingdialogapplicationcontext <ra-entity> <name> <app-context>
    Set IN application context that the service will be invoked with for assisting
    dialogs. Use - to clear an existing setting

The list of supported application context names that can be used by this command is obtainable using the listSupportedApplicationContexts command as shown below.

Example

To set the assisting dialog application context override for a service with reference name VPN in the SIS instance named sis to cap_v3:capssf-scfAssistHandoffAC:

$ ./sis-console setassistingdialogapplicationcontext sis VPN cap_v3:capssf-scfAssistHandoffAC
Set IN assisting dialog application context for service reference VPN to cap_v3:capssf-scfAssistHandoffAC

To remove an existing assisting dialog application context override for the same service:

$ ./sis-console setassistingdialogapplicationcontext sis VPN -
Cleared IN assisting dialog application context for service reference VPN

listSupportedApplicationContexts

Command

listsupportedapplicationcontexts <ra-entity>
    List the set of supported application contexts that a service can be invoked
    with

Example

To list the application contexts supported by the SIS instance named sis:

$ ./sis-console listsupportedapplicationcontexts sis
The following application contexts are supported:
  cap_v1:cap-v1-gsmSSF-to-gsmSCF-AC
  cap_v2:cap-v2-assist-gsmSSF-to-gsmSCF-AC
  cap_v2:cap-v2-gsmSRF-to-gsmSCF-AC
  cap_v2:cap-v2-gsmSSF-to-gsmSCF-AC
  cap_v3:cap3-sms-AC
  cap_v3:capssf-scfAssistHandoffAC
  cap_v3:capssf-scfGenericAC
  cap_v3:gsmSRF-gsmSCF-ac
  cap_v4:cap4-sms-AC
  cap_v4:capssf-scfAssistHandoffAC
  cap_v4:capssf-scfGenericAC
  cap_v4:gsmSRF-gsmSCF-ac
  etsi_inap_cs1:core-INAP-CS1-IP-to-SCP-AC
  etsi_inap_cs1:core-INAP-CS1-SCP-to-SSP-AC
  etsi_inap_cs1:core-INAP-CS1-SSP-to-SCP-AC
  etsi_inap_cs1:core-INAP-CS1-assist-handoff-SSP-to-SCP-AC

Ant task

updateserviceref

Task

<updateserviceref name="..." inAssistingDialogApplicationContext="..."/>

Example

<sis-in-management>
    <updateserviceref name="VPN" inAssistingDialogApplicationContext="cap_v3:capssf-scfGenericAC"/>
</sis-in-management>

MBean operations

MBean

getAssistingDialogApplicationContext

Operation

public String getAssistingDialogApplicationContext(ServiceRefID serviceRefID)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

setAssistingDialogApplicationContext

Operation

public void setAssistingDialogApplicationContext(ServiceRefID serviceRefID, String appContextName)
    throws NullPointerException, UnrecognizedComponentException,
           InvalidArgumentException, ManagementException;

getSupportedApplicationContexts

Operation

public String[] getSupportedApplicationContexts()
    throws ManagementException;

Removing Service References

To remove a service reference from the SIS, use the following sis-console command, Ant task, or related MBean operation.

Console command

removeserviceref

Command

removeserviceref <ra-entity> <name>
    Remove a service reference

Example

To remove a service reference called VPN in the SIS instance named sis:

$ ./sis-console removeserviceref sis VPN
Removed service reference VPN

Ant task

removeserviceref

Task

<removeserviceref name="..."/>

Example

To remove a service reference called VPN:

<sis-in-management>
    <removeserviceref name="VPN"/>
</sis-in-management>

or

<sis-sip-management>
    <removeserviceref name="VPN"/>
</sis-sip-management>

MBean operation

MBean

removeServiceRef

Operation

To remove a service reference:

public void removeServiceRef(ServiceRefID serviceRefID)
    throws NullPointerException, UnrecognizedComponentException,
           DependencyException, ManagementException;

Managing External Platforms

An external platform definition describes the properties of an external service usable in a SIS composition.

Note
Describing external services

An external platform definition includes:

  • a name, used as a unique identifier for the external platform definition

  • zero or more IN SCCP addresses, providing the network address of IN nodes where the service can be found

  • zero or more SIP URI addresses, providing the network address of IP nodes where the service can be found

  • an address selection mode (round-robin, load-share, or active-standby), which indicates how multiple addresses should be used by the SIS.

The Service Reference Management MBeans for SIP and IN include operations for performing the following procedures on a SIS instance:

sis-console command(s) MBean(s) → Operation
createexternalplatform
Service Reference Management → createExternalPlatform
removeexternalplatform
Service Reference Management → removeExternalPlatform

The External Platform Management MBeans for SIP and IN include operations for performing the following procedures on a SIS instance:

sis-console command(s) MBean(s) → Operation
updateexternalplatform
External Platform Management → setPlatformConfig
addexternalplatformsipaddress
addexternalplatforminaddress
External Platform Management → addSIPAddress
External Platform Management → addINAddress
activateexternalplatformsipaddress
activateexternalplatforminaddress
External Platform Management → activateSIPAddress
External Platform Management → activateINAddress
deactivateexternalplatformsipaddress
deactivateexternalplatforminaddress
External Platform Management → deactivateSIPAddress
External Platform Management → deactivateINAddress
removeexternalplatformsipaddress
removeexternalplatforminaddress
External Platform Management → removeSIPAddress
External Platform Management → removeINAddress
removeexternalplatform
External Platform Management → remove
listexternalplatforms
dumpexternalplatform
Service Reference Management → getExternalPlatforms
External Platform Management → getDescriptor
repairexternalplatformsipaddress
repairexternalplatforminaddress
External Platform Management → repairSIPAddress
External Platform Management → repairINAddress

Creating External Platform Definitions

To create an external platform definition, use the following sis-console command, Ant task, or related MBean operation.

Console command

createexternalplatform

Command

createexternalplatform <ra-entity> <name> <address-selection-mode>
    Create an external platform definition, address selection mode is
    ACTIVE_STANDBY, LOAD_SHARE, or ROUND_ROBIN

Example

To create an external platform definition called VPN-External using the address selection mode LOAD_SHARE in the SIS instance named sis:

$ ./sis-console createexternalplatform sis VPN-External load_share
Created external platform VPN-External using address selection mode LOAD_SHARE

Ant task

createexternalplatform

Task

<createexternalplatform extPlatformName="..." selectionMode="..."/>

Example

To create an external platform definition called VPN-External using the address selection mode LOAD_SHARE:

<sis-in-management>
    <createexternalplatform extPlatformName="VPN-External" selectionMode="load_share"/>
</sis-in-management>

or

<sis-sip-management>
    <createexternalplatform extPlatformName="VPN-External" selectionMode="load_share"/>
</sis-sip-management>

MBean operation

MBean

createExternalPlatform

Operation

To create an external platform definition:

public ObjectName createExternalPlatform(String name, ExternalAddressSelectionMode selectionMode)
    throws NullPointerException, AlreadyDeployedException,
           ManagementException;

Updating External Platform Definitions

To update an external platform definition, use the following sis-console command, Ant task, or related MBean operation.

Note See Detecting Failed External Addresses for descriptions of the parameters.

Console command

updateexternalplatform

Command

updateexternalplatform <ra-entity> <name> [selectionMode <mode>] [detectInterval <ms>] [detectThreshold <p>] [retryInterval <ms>] [retryAttempts <n>]
    Update the configuration of an external platform definition

Examples

To update an external platform definition called VPN-External to use a detect interval of 10000ms and a detect threshold of 0.5:

$ ./sis-console updateexternalplatform sis VPN-External detectInterval 10000 detectThreshold 0.5
Updated external platform VPN-External

To update an external platform definition called IM-SSF to use a retry interval of 60000ms:

$ ./sis-console updateexternalplatform sis IM-SSF retryInterval 60000
Updated external platform IM-SSF

Ant task

updateexternalplatform

Task

<updateexternalplatform extPlatformName="..." selectionMode="..." detectInterval="..." detectThreshold="..." retryInterval="..." retryAttempts="..."/>

Examples

To update the external platform definition VPN-External to use a detect interval of 10000ms and a retry interval of 20000ms:

<sis-in-management>
    <updateexternalplatform extPlatformName="VPN-External" detectInterval="10000" retryInterval="20000"/>
</sis-in-management>

or

<sis-sip-management>
    <updateexternalplatform extPlatformName="VPN-External" detectInterval="10000" retryInterval="20000"/>
</sis-sip-management>

To update the external platform definition VPN-External to use the LOAD_SHARE address selection mode:

<sis-in-management>
    <updateexternalplatform extPlatformName="VPN-External" selectionMode="LOAD_SHARE"/>
</sis-in-management>

or

<sis-sip-management>
    <updateexternalplatform extPlatformName="VPN-External" detectInterval="10000" retryInterval="20000"/>
</sis-sip-management>

MBean operations

MBean

setPlatformConfig

Operation

To update the configuration of an external platform definition:

public void setPlatformConfig(ExternalPlatformConfig config)
    throws InvalidArgumentException, ManagementException;

Adding External Addresses to External Platform Definitions

To add an external address to an external platform definition, use the following sis-console commands, Ant task, or related MBean operations.

Console commands

addexternalplatformaddress

Command

addexternalplatformaddress <ra-entity> <platform-name> <address> [insert-pos]

Add an address to an external platform definition, optionally inserting the address at a specified position

Note The address must be a valid SIP URI string or IN SCCP address described using the correct format.

Example

To add the external address sip:vpn2.mycompany.com:5060;transport=tcp at position 1 for the external platform definition named VPN-External in the SIS instance named sis:

$ ./sis-console addexternalplatformaddress sis VPN-External sip:vpn2.mycompany.com:5060;transport=tcp 1
Added address sip:vpn2.mycompany.com:5060;transport=tcp to external platform definition VPN-External at position 1

To add the external address type=c7,ri=pcssn,pc=7,ssn=146 to the end of the current list of IN addresses for the external platform definition named VPN-External in the SIS instance named sis:

$ ./sis-console addexternalplatformaddress sis VPN-External type=c7,ri=pcssn,pc=7,ssn=146
Added address type=c7,ri=pcssn,pc=7,ssn=146 to external platform definition VPN-External

Ant task

addexternalplatformaddress

Task

<addexternalplatformaddress extPlatformName="..." type="..." address="..." position="..."/>

Example

To add the external address sip:vpn2.mycompany.com:5060;transport=tcp at position 1 for the external platform definition named VPN-External:

<sis-sip-management>
    <addexternalplatformaddress
          extPlatformName="VPN-External"
          address="sip:vpn2.mycompany.com:5060;transport=tcp"
          position="1"/>
</sis-sip-management>

To add the external address type=c7,ri=pcssn,pc=7,ssn=146 to the end of the current list of IN addresses for the external platform definition named VPN-External:

<sis-in-management>
    <addexternalplatformaddress
        extPlatformName="VPN-External"
        address="type=c7,ri=pcssn,pc=7,ssn=146"/>
</sis-in-management>

Mbean operations

MBean

addAddress

Operations

public void addAddress(String address)
    throws NullPointerException, InvalidArgumentException,
           DuplicateAddressException, ManagementException;
Note This operation adds the new address to the end of the current list of the addresses.

addAddress

Operations

public void addAddress(String address, int position)
    throws NullPointerException, InvalidArgumentException,
           DuplicateAddressException, ManagementException;
Note This operation adds the new address to the current list of the addresses at the specified position.

Activating External Addresses in External Platform Definitions

To activate an external address in an external platform definition, use the following sis-console commands, Ant task, or related MBean operations.

Console commands

activateexternalplatformaddress

Command

activateexternalplatformaddress <ra-entity> <platform-name> <position>

Activate an address at specified position in an external platform definition

Example

To activate the address at position 1 in the external platform definition named VPN-External in the SIS instance named sis:

$ ./sis-console activateexternalplatformaddress sis VPN-External 1
Activated address at position 1 in external platform definition VPN-External

Ant task

activateexternalplatformaddress

Task

<activateexternalplatformaddress extPlatformName="..." position="..."/>

Examples

To activate the SIP address at position 1 in the external platform definition named VPN-External:

<sis-sip-management>
    <activateexternalplatformaddress extPlatformName="VPN-External" position="1"/>
</sis-sip-management>

To activate the IN address at position 0 in the external platform definition named VPN-External:

<sis-in-management>
    <activateexternalplatformaddress extPlatformName="VPN-External" position="0"/>
</sis-in-management>

MBean operations

MBean

activateAddress

Operations

To activate the address at the specified position in an external platform definition:

public void activateAddress(int position)
    throws InvalidArgumentException, InvalidStateException, ManagementException;

Deactivating External Addresses in External Platform Definitions

To deactivate an external address in an external platform definition, use the following sis-console commands, Ant task, or related MBean operations.

Console commands

deactivateexternalplatformaddress

Command

deactivateexternalplatformaddress <ra-entity> <platform-name> <position>

Deactivate an address at specified position in an external platform definition

Example

To deactivate the address at position 1 in the external platform definition named VPN-External in the SIS instance named sis:

$ ./sis-console deactivateexternalplatformaddress sis VPN-External 1
Deactivated address at position 1 in external platform definition VPN-External

Ant task

deactivateexternalplatformaddress

Task

<deactivateexternalplatformaddress extPlatformName="..." position="..."/>

Examples

To deactivate the SIP address at position 1 in the external platform definition named VPN-External:

<sis-sip-management>
    <deactivateexternalplatformaddress extPlatformName="VPN-External" position="1"/>
</sis-sip-management>

To deactivate the IN address at position 0 in the external platform definition named VPN-External:

<sis-in-management>
    <deactivateexternalplatformaddress extPlatformName="VPN-External" position="0"/>
</sis-in-management>

MBean operations

MBean

deactivateAddress

Operations

To deactivate the address at the specified position in an external platform definition:

public void deactivateAddress(int position)
    throws InvalidArgumentException, InvalidStateException, ManagementException;

Removing External Addresses from External Platform Definitions

To remove an external address from an external platform definition, use the following sis-console commands, Ant task, or related MBean operations.

Console commands

removeexternalplatformaddress

Command

removeexternalplatformaddress <ra-entity> <platform-name> <position>

Remove the address at specified position from an external platform definition

Example

To remove the address at position 1 from the external platform definition named VPN-External in the SIS instance named sis:

$ ./sis-console removeexternalplatformaddress sis VPN-External 1
Removed address at position 1 from external platform definition VPN-External

Ant task

removeexternalplatformaddress

Task

<removeexternalplatformaddress extPlatformName="..." position="..."/>

Examples

To remove the SIP address at position 1 from the external platform definition named VPN-External:

<sis-sip-management>
    <removeexternalplatformaddress extPlatformName="VPN-External" position="1"/>
</sis-sip-management>

To remove the IN address at position 0 from the external platform definition named VPN-External:

<sis-in-management>
    <removeexternalplatformaddress extPlatformName="VPN-External" position="0"/>
</sis-in-management>

MBean operations

MBean

removeAddress

Operations

To remove the address at the specified position from an external platform definition:

public void removeAddress(int position)
    throws InvalidArgumentException, ManagementException;

Removing External Platform Definitions

To remove an external platform definition from the SIS, use the following sis-console command, Ant task, or related MBean operations.

Console command

removeexternalplatform

Command

removeexternalplatform <ra-entity> <name>
    Remove an external platform definition

Example

To remove an external platform definition called VPN-External in the SIS instance named sis:

$ ./sis-console removeexternalplatform sis VPN-External
Removed external platform VPN-External

Ant task

removeexternalplatform

Task

<removeexternalplatform extPlatformName="..."/>

Example

To remove an external platform definition called VPN-External:

<sis-in-management>
    <removeexternalplatform extPlatformName="VPN-External"/>
</sis-in-management>

or

<sis-sip-management>
    <removeexternalplatform extPlatformName="VPN-External"/>
</sis-sip-management>

MBean operations

MBean

removeExternalPlatform

Operation

To remove an external platform definition:

public void removeExternalPlatform(ExternalPlatformID extPlatformID)
    throws NullPointerException, UnrecognizedComponentException,
           DependencyException, ManagementException;

MBean

remove

Operation

To remove an external platform definition:

public void remove()
      throws DependencyException, ManagementException;
Note This is an alternative method to remove an external platform definition, using the MBean for the external platform definition directly.

Viewing External Platform Definitions

To list or display external platform definitions, use the following sis-console commands or related MBean operations.

Console commands

listexternalplatforms

Command

listexternalplatforms <ra-entity>
    List external platform definitions
Note This command lists the identifiers of all external platform definitions created in the SIS.

Example

$ ./sis-console listexternalplatforms sis
ExternalPlatformID[Call Forwarding-External]
ExternalPlatformID[VPN-External]

dumpexternalplatform

Command

dumpexternalplatform <ra-entity> <name>
    Display an external platform definition
Note This command displays the properties of the external platform definition.

Examples

$ ./sis-console dumpexternalplatform sis VPN-External
detectInterval : 10000
detectThreshold : 0.5
name          : VPN-External
retryAttempts : 3
retryInterval : 30000
selectionMode : LOAD_SHARE
inAddresses   : no rows
sipAddresses  :
       > position   address                                     state
       > ---------  ------------------------------------------  ---------
       >         0   sip:vpn1.mycompany.com:5060;transport=tcp   INACTIVE
       >         1   sip:vpn2.mycompany.com:5060;transport=tcp   INACTIVE

MBean operations

MBean

getExternalPlatforms

Operation

public ExternalPlatformID[] getExternalPlatforms()
    throws ManagementException;
Note This operation returns the identifiers of all external platform definitions in the SIS.

MBean

getDescriptor

Operation

public CompositeData getDescriptor()
    throws ManagementException;
Note This operation returns the external platform descriptor in the form of an MBean CompositeData object.

Detecting Failed External Addresses

The SIS can automatically detect when an external address has failed, and when it becomes available again. This page describes the possible states of an external address, how the SIS performs automatic failure detection and repair, and the configuration parameters that control this behaviour.

How the SIS views the state of external addresses

External addresses in the SIS may be in one of three states:

State Description
INACTIVE

The external address has been deactivated, and the SIS will not direct calls to it.

ACTIVE

The external address has been activated and the SIS may direct calls to it, according to the external platform’s address selection policy.

FAILED

The external address was active, but the SIS has detected a failure, and will not direct calls to the address.

Note You can view the current state of an external platform definition’s external addresses by using the dumpexternalplatform sis-console command.

How the SIS detects failed addresses

The SIS detects failed addresses by monitoring the outcome of calls to each address. When a call attempt fails (for example due to a service timeout), the SIS records that failure. If too many failures occur in a given interval, the SIS marks the address as FAILED and raises an alarm.

Several things can cause an external address failure, such as: the external server being offline; a network problem between the SIS and the external server; a SIS configuration error (for example, an incorrect address).

When the SIS detects an external address failure, it automatically:

  • raises an alarm to inform the operator

  • stops directing calls to the failed address (changes its state to FAILED)

  • monitors the address, to detect when it becomes available again.

Note Automatic failure detection can be disabled by setting the external platform’s detectInterval parameter to 0. In this case, the address will remain in the ACTIVE state indefinitely, until it is deactivated. The SIS will continue trying to use the address even if it has failed.

How the SIS detects when failed addresses are repaired

The SIS can optionally monitor failed addresses to automatically detect when they have been repaired. The SIS does this by periodically trying the failed address in an actual call, when the external platform is invoked in a service composition. The SIS records the outcome of the call, and if enough of these periodic call attempts succeed, the SIS makes the address available again.

When an external address has been repaired, the SIS automatically:

  • clears the alarm that was raised when the address failed

  • resumes directing calls to the address (changes its state to ACTIVE)

  • monitors the address to detect if it fails.

Note Automatic repair of failed addresses can be disabled by setting the external platform’s retryInterval parameter to 0. In this case, the address will remain in the FAILED state indefinitely, until an administrator manually repairs the address.

External platform definition parameters for failure detection and recovery

The parameters below are configured by updating the external platform definition. The parameters apply to all external addresses in the external platform definition.

Parameter Description Default
detectInterval

The interval (ms) between checking the proportion of failed calls for each of this platform’s active addresses.
Set to 0 to disable automatic failure detection.

5000
detectThreshold

The proportion of failed calls (between 0.0 and 1.0) occurring in a detection interval. If this threshold is exceeded in a detection interval, the SIS marks the address as failed.

0.5

(50%)

retryInterval

The interval (ms) between attempts to retry a failed address, to see if it has recovered.
Set to 0 to disable automatic repair of failed addresses.

30000
retryAttempts

The number of consecutive retry attempts that must succeed before the SIS will begin using a failed address again.

3

Repairing Failed External Addresses

To repair failed addresses in an external platform definition, use the following sis-console commands or related MBean operations.

Warning An external address that has failed must be repaired before the SIS can resume using it.
Note

The SIS can repair addresses automatically (see Detecting Failed External Addresses). However it may be necessary to repair addresses manually if:

  • automatic repair has been disabled in the external platform definition

  • the administrator wants to immediately resume using the address, rather than waiting for automatic repair.

Console commands

repairexternalplatformaddress

Command

repairexternalplatformaddress <ra-entity> <name> <position>

Repair a failed address at the specified position in an external platform definition

Note This command clears any alarms that were raised when the external address failed.

Example

To repair the failed address at position 0 in an external platform definition called Prepaid-External:

$ ./sis-console repairexternalplatformsipaddress sis Prepaid-External 0
Repaired failed address at position 0 in external platform definition Prepaid-External

MBean operations

MBean

repairAddress

Operation

To repair a failed address in an external platform definition:

public void repairAddress(int position)
    throws InvalidArgumentException, InvalidStateException, ManagementException;

Managing Extension References

An extension reference identifies an extension component.

Note

There are two types of extension component supported by the SIS:

  • service composition selection extension component, used during the triggering phase

  • interceptor extension component, used in composition interceptors.

SIS extension components are implemented as JAIN SLEE services, and an extension reference identifies an extension component using its SLEE service component identifier.

The Extension Reference Management MBeans for SIP and IN include operations for performing the following procedures on a SIS instance:

sis-console command(s) MBean(s) → Operation
createextensionref
Extension Reference Management → createServiceExtensionRef
listextensionrefs
dumpextensionref
Extension Reference Management → getExtensionRefs
Extension Reference Management → getDescriptor
replaceextensionref
Extension Reference Management → replaceExtensionRef
getextensiontimeout
setextensiontimeout
Extension Reference Management → getDefaultTimeout
Extension Reference Management → setDefaultTimeout
removeextensionref
Extension Reference Management → removeExtensionRef

Creating Extension References

To create an extension reference to an extension component implemented as a JAIN SLEE service, use the following sis-console command, Ant task, or related MBean operation:

Console command

createextensionref

Command

createextensionref <ra-entity> <name> <extension-type> <service-id>
    Create an extension reference, extension type is SCS or INTERCEPTOR

Example

To create an extension reference called External DB Selector of extension type SCS in the SIS instance named sis which references a SLEE service with identifier ServiceID[name=External DB Selector Service,vendor=OpenCloud,version=1.0]:

$ ./sis-console createextensionref sis "External DB Selector" scs "name=External DB Selector Service,vendor=OpenCloud,version=1.0"
Created extension reference External DB Selector of type SCS for SLEE service ServiceID[name=External DB Selector Service,vendor=OpenCloud,version=1.0]

Ant task

createextensionref

Task

<createextensionref name="..." type="service">
    <service name="..." vendor="..." version="..."/>
</createextensionref>

Example

To create an extension reference called External DB Selector which references a SLEE service with identifier ServiceID[name=External DB Selector Service,vendor=OpenCloud,version=1.0]:

<sis-in-management>
    <createextensionref name="External DB Selector" type="service">
        <service name="External DB Selector Service" vendor="OpenCloud" version="1.0"/>
    </createextensionref>
</sis-in-management>

or

<sis-sip-management>
    <createextensionref name="External DB Selector" type="service">
        <service name="External DB Selector Service" vendor="OpenCloud" version="1.0"/>
    </createextensionref>
</sis-sip-management>

MBean operation

MBean

createServiceExtensionRef

Operation

To create an extension reference that references a JAIN SLEE service:

public void createServiceExtensionRef(String name, ExtensionType extensionType, ServiceID serviceID)
    throws NullPointerException, AlreadyDeployedException,
           DeploymentException, ManagementException;

Viewing Extension References

To list or display extension references, use the following sis-console commands or related MBean operations.

Console commands

listextensionrefs

Command

listextensionrefs <ra-entity>
    List extension references
Note This command lists the extension reference identifiers of all extension references created in the SIS.

Example

$ ./sis-console listextensionrefs sis
ExtensionRefID[External DB Selector]
ExtensionRefID[Update Service Key Interceptor]

dumpextensionref

Command

dumpextensionref <ra-entity>
    Display an extension reference
Note This command displays the properties of the extension reference.

Example

$ ./sis-console dumpextensionref sis "External DB Selector"
defaultTimeout : 0
extension-type : SCS
name           : External DB Selector
ref-type       : service
serviceName    : External DB Selector Service
serviceVendor  : OpenCloud
serviceVersion : 1.0

Mbean operations

MBean

getExtensionRefs

Operation

public ExtensionRefID[] getExtensionRefs()
    throws ManagementException;
Note Returns the identifiers of all extension references in the SIS.

getDescriptor

Operation

public CompositeData getDescriptor(ExtensionRefID extensionRefID)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;
Note Returns the extension reference descriptor in the form of an MBean CompositeData object.

Replacing Existing Extension References

To replace an existing extension reference with a reference to a new JAIN SLEE service, use the following sis-console command, Ant task, or related MBean operation:

Console command

replaceextensionref

Command

replaceextensionref <ra-entity> <name> <service-id>
    Replace an extension reference with a binding to a SLEE service
Warning If the named extension reference does not exist, this command will fail. It is not possible to change the type of extension referenced (SCS or INTERCEPTOR) using this command.

Example

To replace an existing extension reference called External DB Selector in the SIS instance named sis with a reference to a SLEE service with identifier ServiceID[name=External DB Selector Service,vendor=OpenCloud,version=2.0]:

$ ./sis-console replaceextensionref sis "External DB Selector" "name=External DB Selector Service,vendor=OpenCloud,version=2.0"
Replaced extension reference External DB Selector with reference to SLEE service ServiceID[name=External DB Selector Service,vendor=OpenCloud,version=2.0]

Ant task

replaceextensionref

Task

<replaceextensionref name="..." type="service">
    <service name="..." vendor="..." version="..."/>
</replaceextensionref>

Example

To replace an extension reference called External DB Selector with a new reference to a SLEE service with identifier ServiceID[name=External DB Selector,vendor=OpenCloud,version=2.0]:

<sis-in-management>
    <replaceextensionref name="External DB Selector" type="service">
        <service name="External DB Selector Service" vendor="OpenCloud" version="2.0"/>
    </replaceextensionref>
</sis-in-management>

or

<sis-sip-management>
    <replaceextensionref name="External DB Selector" type="service">
        <service name="External DB Selector Service" vendor="OpenCloud" version="2.0"/>
    </replaceextensionref>
</sis-sip-management>

MBean operation

MBean

replaceExtensionRef

Operation

To replace a service reference with a new reference to a local JAIN SLEE service:

public void replaceExtensionRef(ExtensionRefID extensionRefID, ServiceID serviceID)
    throws NullPointerException, UnrecognizedComponentException,
           DeploymentException, ManagementException;

Getting and Setting the Default Extension Component Timeout

To get or set the default invocation timeout for an extension component, use the following sis-console commands, Ant task, or related MBean operations.

Console commands

getExtensionTimeout

Command

getextensiontimeout <ra-entity> <name>
    Get default timeout for an extension component

Example

To get the default timeout for an extension component with reference name External DB Selector in the SIS instance named sis:

$ ./sis-console getextensiontimeout sis "External DB Selector"
No default timeout set for extension reference External DB Selector

setExtensionTimeout

Command

setextensiontimeout <ra-entity> <name> <timeout>
    Set default timeout for an extension component. Timeout, measured in
    milliseconds, must be at least 100, or specify 0 to use the global default
    service timeout configured in the SIS for this extension component

Example

To set the default timeout for an extension component with reference name External DB Selector in the SIS instance named sis to 1000ms:

$ ./sis-console setextensiontimeout sis "External DB Selector" 1000
Default timeout for extension reference External DB Selector set to 1000ms

Ant task

updateextensionref

Task

<updateextensionref name="..." defaulttimeout="..."/>

Example

<sis-in-management>
    <updateextensionref name="External DB Selector" timeout="1000"/>
</sis-in-management>

or

<sis-sip-management>
    <updateextensionref name="External DB Selector" timeout="1000"/>
</sis-sip-management>

Mbean operations

MBean

getDefaultTimeout

Operation

public long getDefaultTimeout(ExtensionRefID extensionRefID)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

setDefaultTimeout

Operation

public void setDefaultTimeout(ExtensionRefID extensionRefID, long timeout)
    throws NullPointerException, IllegalArgumentException,
           UnrecognizedComponentException, ManagementException;
Warning The timeout argument must be at least 100.

Removing Extension References

To remove an extension reference from the SIS, use the following sis-console command, Ant task, or related MBean operation:

Console command

removeextensionref

Command

removeextensionref <ra-entity> <name>
    Remove an extension reference

Example

To remove an extension reference called External DB Selector in the SIS instance named sis:

$ ./sis-console removeextensionref sis "External DB Selector"
Removed extension reference External DB Selector

Ant task

removeextensionref

Task

<removeextensionref name="..."/>

Example

To remove an extension reference called External DB Selector:

<sis-in-management>
    <removeextensionref name="External DB Selector"/>
</sis-in-management>

or

<sis-sip-management>
    <removeextensionref name="External DB Selector"/>
</sis-sip-management>

MBean operation

MBean

removeExtensionRef

Operation

To remove an extension reference:

public void removeExtensionRef(ExtensionRefID extensionRefID)
    throws NullPointerException, UnrecognizedComponentException,
           DependencyException, ManagementException;

Managing Address Subscriptions

Address subscriptions can be used by triggers during composition selection to select a composition based on an address contained in the initial event.

The Address Subscription Management MBeans for SIP and IN include operations for performing the following procedures on a SIS instance:

sis-console command(s) MBean(s) → Operation
getAddressSubscriptionsProfileTableName
setAddressSubscriptionsProfileTableName
Address Subscription Management → getAddressSubscriptionsProfileTableName
Address Subscription Management → setAddressSubscriptionsProfileTableName
installAddressSubscription
Address Subscription Management → installAddressSubscription
uninstallAddressSubscription
Address Subscription Management → uninstallAddressSubscription
listAddressSubscriptions
getAddressSubscription
getSubscriptionByAddress
Address Subscription Management → getSubscriptions
Address Subscription Management → getSubscription
Address Subscription Management → getSubscriptionByAddress
updateAddressSubscription
Address Subscription Management → updateAddressSubscription

Getting and Setting Address Subscriptions Profile Table Name

To get or set the address subscriptions profile table name, use the following sis-console commands or related MBean operations.

Console commands

getAddressSubscriptionsProfileTableName

Command

getaddresssubscriptionsprofiletablename <ra-entity>
    Get the current configured address subscriptions profile table name

Example

To get the address subscriptions profile table name for the SIS instance named sis:

$ ./sis-console getaddresssubscriptionsprofiletablename sis
Address subscriptions profile table name=sis-address-subscriptions

setAddressSubscriptionsProfileTableName

Command

setaddresssubscriptionsprofiletablename <ra-entity> <table-name>
    Set the configured address subscriptions profile table name. To remove the
    table name, specify 'null' as the argument

Example

To set the address subscriptions profile table name for the SIS instance named sis to sis-address-subscriptions:

$ ./sis-console setaddresssubscriptionsprofiletablename sis sis-address-subscriptions

Ant task

setaddresssubscriptionsprofiletablename

Task

<setaddresssubscriptionsprofiletablename tablename="..."/>

Example

<sis-in-management>
    <setaddresssubscriptionsprofiletablename tablename="sis-address-subscriptions"/>
</sis-in-management>

or

<sis-sip-management>
    <setaddresssubscriptionsprofiletablename tablename="sis-address-subscriptions"/>
</sis-sip-management>

MBean operations

MBean

getAddressSubscriptionsProfileTableName

Operation

public String getAddressSubscriptionsProfileTableName()
    throws ManagementException;

setAddressSubscriptionsProfileTableName

Operation

public void setAddressSubscriptionsProfileTableName(String tableName)
    throws ManagementException;

Installing Address Subscriptions

To install an address subscription, use the following sis-console command, Ant task, or related MBean operation.

Console command

installAddressSubscription

Command

installaddresssubscription <ra-entity> <name> <address>
                          [-orig <CompositionID>] [-term <CompositionID>]
                          [-desc <description>] [-debuglevel <level>]
                          [-audit <boolean>]
      Install an address subscription with originating and/or terminating compositions

Example

To install an address subscription with attributes:

  • name = Bob

  • address = 34607000123

  • originating composition = CompositionID[name=4000,vendor=OpenCloud,version=1.0]

  • terminating composition = CompositionID[name=4001,vendor=OpenCloud,version=1.0]

into the SIS instance named sis:

$ ./sis-console installaddresssubscription sis Bob 34607000123 \
    -orig name=4000,vendor=OpenCloud,version=1.0 \
    -term name=4001,vendor=OpenCloud,version=1.0
Installed subscription Bob

Ant task

installAddressSubscription

Task

<installaddresssubscription name="..." address="..." description="..." debuglevel="..." audit="...">
    <originatingcomposition name="..." vendor="..." version="..."/>
    <terminatingcomposition name="..." vendor="..." version="..."/>
</installaddresssubscription>

Example

<sis-in-management>
    <installaddresssubscription name="Bob" address="34607000123">
          <originatingcomposition name="4000" vendor="OpenCloud" version="1.0"/>
          <terminatingcomposition name="4001" vendor="OpenCloud" version="1.0"/>
    </installaddresssubscription>
</sis-in-management>

or

<sis-sip-management>
    <installaddresssubscription name="Bob" address="34607000123">
          <originatingcomposition name="4000" vendor="OpenCloud" version="1.0"/>
          <terminatingcomposition name="4001" vendor="OpenCloud" version="1.0"/>
    </installaddresssubscription>
</sis-sip-management>

MBean operation

MBean

installSubscription

Operation

public void installSubscription(AddressSubscription subscription)
    throws NullPointerException, AlreadyDeployedException,
           DeploymentException, ManagementException;

Uninstalling Address Subscriptions

To uninstall an address subscription, use the following sis-console command, Ant task, or related MBean operation.

Console command

uninstallAddressSubscription

Command

uninstalladdresssubscription <ra-entity> <name>
    Uninstall an address subscription

Example

To uninstall the address subscription with name "Bob" from the SIS instance named sis:

$ ./sis-console uninstalladdresssubscription sis Bob
Uninstalled subscription Bob

Ant task

uninstallAddressSubscription

Task

<uninstalladdresssubscription name="..."/>

Example

<sis-in-management>
    <uninstalladdresssubscription name="Bob"/>
</sis-in-management>

or

<sis-sip-management>
    <uninstalladdresssubscription name="Bob"/>
</sis-sip-management>

MBean operation

MBean

uninstallSubscription

Operation

public void uninstallSubscription(String name)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

Viewing Address Subscriptions

To list and get address subscriptions (by name or address), use the following sis-console commands or related MBean operations.

Console commands

listAddressSubscriptions

Command

listaddresssubscriptions <ra-entity>
    List all address subscriptions

Example

To list all address subscription for the SIS instance named sis:

$ ./sis-console listaddresssubscriptions sis
AddressSubscription[name=Bob,
                    address=34607000123,
                    orig=CompositionID[name=4000,vendor=OpenCloud,version=1.0],
                    term=CompositionID[name=4001,vendor=OpenCloud,version=1.0],
                    debugLevel=0, audit=false]
AddressSubscription[name=34610004000,
                    address=34610004000,
                    orig=CompositionID[name=4000,vendor=OpenCloud,version=1.0],
                    term=CompositionID[name=4001,vendor=OpenCloud,version=1.0],
                    debugLevel=0, audit=false]

getAddressSubscription

Command

getaddresssubscription <ra-entity> <name>
    Retrieve an address subscription by name

Example

To get the address subscription for the subscription named Bob in the SIS instance named sis:

$ ./sis-console getaddresssubscription sis Bob
AddressSubscription[name=Bob,
                    address=34607000123,
                    orig=CompositionID[name=4000,vendor=OpenCloud,version=1.0],
                    term=CompositionID[name=4001,vendor=OpenCloud,version=1.0],
                    debugLevel=0, audit=false]

getSubscriptionByAddress

Command

getsubscriptionbyaddress <ra-entity> <address>
    Retrieve a subscription by address

Example

To get the address subscription for the subscribed address 34607000123 in the SIS instance named sis:

$ ./sis-console getsubscriptionbyaddress sis 34607000123
AddressSubscription[name=Bob,
                    address=34607000123,
                    orig=CompositionID[name=4000,vendor=OpenCloud,version=1.0],
                    term=CompositionID[name=4001,vendor=OpenCloud,version=1.0],
                    debugLevel=0, audit=false]

MBean operations

MBean

getSubscriptions

Operation

To get the list of all address subscriptions:

public AddressSubscription[] getSubscriptions()
    throws ManagementException;

getSubscription

Operation

To get a subscription by name:

public AddressSubscription getSubscription(String name)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

getSubscriptionByAddress

Operation

To get a subscription by subscribed address:

public AddressSubscription getSubscriptionByAddress(String address)
    throws NullPointerException, ManagementException;

Updating Address Subscriptions

To update an address subscription, use the following sis-console command, Ant task, or related MBean operation.

Console command

updateAddressSubscription

Command

updateaddresssubscription <ra-entity> <name> [-address <address>]
                          [-orig <CompositionID>] [-term <CompositionID>]
                          [-desc <description>] [-debuglevel <level>]
                          [-audit <boolean>]
Update an existing address subscription

Example

To update the address subscription for Bob with new attributes:

  • address = 34607000999

  • debug level = 2

in the SIS instance named sis:

$ ./sis-console updateaddresssubscription sis Bob -address 34607000999 -debuglevel 2
Updated subscription Bob

Ant task

updateAddressSubscription

Task

<updateaddresssubscription name="..." address="..." description="..." debuglevel="..." audit="...">
    <originatingcomposition name="..." vendor="..." version="..."/>
    <terminatingcomposition name="..." vendor="..." version="..."/>
</updateaddresssubscription>

Example

<sis-in-management>
    <updateaddresssubscription name="Bob" address="34607000999" debuglevel="2"/>
</sis-in-management>

or

<sis-sip-management>
    <updateaddresssubscription name="Bob" address="34607000999" debuglevel="2"/>
</sis-sip-management>

MBean operation

MBean

updateSubscription

Operation

public void updateSubscription(AddressSubscription subscription)
    throws NullPointerException, UnrecognizedComponentException,
           ManagementException;

Managing Service Key Subscriptions

Service key subscriptions can be used by triggers during composition selection to select a composition based on the service key contained in the initial event.

The Service Key Subscription Management MBean includes operations for performing the following procedures on a SIS instance:

Tip This is a SIS feature for IN.
sis-console command(s) MBean(s) → Operation
getServiceKeySubscriptionsProfileTableName
setServiceKeySubscriptionsProfileTableName
Service Key Subscription Management → getServiceKeySubscriptionsProfileTableName
Service Key Subscription Management → setServiceKeySubscriptionsProfileTableName
installServiceKeySubscription
Service Key Subscription Management → installServiceKeySubscription
uninstallServiceKeySubscription
Service Key Subscription Management → uninstallServiceKeySubscription
listServiceKeySubscriptions
getServiceKeySubscription
getSubscriptionByServiceKey
Service Key Subscription Management → getSubscriptions
Service Key Subscription Management → getSubscription
Service Key Subscription Management → getSubscriptionByServiceKey
updateServiceKeySubscription
Service Key Subscription Management → updateServiceKeySubscription

Getting and Setting Service Key Subscriptions Profile Table Name

To get or set the service key subscriptions profile table name, use the following sis-console commands or related MBean operations.

Tip This is a SIS feature for IN.

Console commands

getServiceKeySubscriptionsProfileTableName

Command

getservicekeysubscriptionsprofiletablename <ra-entity>
    Get the current configured service key subscriptions profile table name

Example

To get the service key subscriptions profile table name for the SIS instance named sis:

$ ./sis-console getservicekeysubscriptionsprofiletablename sis
Service key subscriptions profile table name=sis-servicekey-subscriptions

setServiceKeySubscriptionsProfileTableName

Command

setservicekeysubscriptionsprofiletablename <ra-entity> <table-name>
    Set the configured service key subscriptions profile table name. To remove the
    table name, specify 'null' as the argument

Example

To set the service key subscriptions profile table name for the SIS instance named sis to sis-servicekey-subscriptions:

$ ./sis-console setservicekeysubscriptionsprofiletablename sis sis-servicekey-subscriptions

MBean operations

MBean

getServiceKeySubscriptionsProfileTableName

Operation

public String getServiceKeySubscriptionsProfileTableName()
    throws ManagementException;

setServiceKeySubscriptionsProfileTableName

Operation

public void setServiceKeySubscriptionsProfileTableName(String tableName)
    throws ManagementException;

Installing Service Key Subscriptions

To install a service key subscription, use the following sis-console command, Ant task, or related MBean operation.

Tip This is a SIS feature for IN.

Console command

installServiceKeySubscription

Command

installservicekeysubscription <ra-entity> <name> [-servicekey <service-key>]
                              [-orig <composition-id>] [-term <composition-id>]
                              [-thirdparty <composition-id>] [-desc <description>]
                              [-debuglevel <level>] [-audit <boolean>]
    Install a service key subscription with originating, terminating, and/or
    third-party call compositions

Example

To install a service key subscription with attributes:

  • name = VPN

  • service key = 50

  • originating composition = CompositionID[name=4000,vendor=OpenCloud,version=1.0]

  • terminating composition = CompositionID[name=4001,vendor=OpenCloud,version=1.0]

into the SIS instance named sis:

$ ./sis-console installservicekeysubscription sis VPN 50 \
    -orig name=4000,vendor=OpenCloud,version=1.0 \
    -term name=4001,vendor=OpenCloud,version=1.0
Installed subscription VPN

Ant task

installServiceKeySubscription

Task

<installservicekeysubscription name="..." servicekey="..." description="..." debuglevel="..." audit="...">
    <originatingcomposition name="..." vendor="..." version="..."/>
    <terminatingcomposition name="..." vendor=