This document details basic procedures for system administrators managing, maintaining, configuring, and deploying OpenCloud’s R-IM-SSF Module — for protocol translation from INAP and CAP to SIP — with the Service Interaction SLEE (SIS).
Topics
This document includes the following topics:
-
About the R-IM-SSF — R-IM-SSF features and how it works
-
Installing the R-IM-SSF — prerequisites, installation procedures, licenses and activation, SIS instances, and the CDR resource adaptor entity
-
Configuring the R-IM-SSF — configuring general properties, subscription information, and user interface
-
R-IM-SSF Behaviour — how R-IM-SSF is triggered, makes contact, and deals with messages
-
R-IM-SSF Statistics — parameter sets for statistics with R-IM-SSF
-
R-IM-SSF Alarms — alarm types and descriptions
-
Using the R-IM-SSF — how to include the R-IM-SSF in a service composition, support more than one R-IM-SSF use in a service composition, and use rate limiting with the R-IM-SSF.
-
Changelog — the changelog for R-IM-SSF Protocol Translator version releases.
Intended Audience
This document is for system administrators (and anyone else responsible for) deploying, managing and maintaining the R-IM-SSF.
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 R-IM-SSF Module.
This document does not focus on:
-
administering and maintaining the SIS — see the SIS Administration Guide
-
installing and starting the SLEE — see the Rhino (Production) Getting Started Guide
-
tools for Rhino maintenance — see Tools for Managing Rhino|Tools for Managing Rhino
-
troubleshooting — see the How-to Guides and Knowledgebase on OpenCloud’s Developer Portal.
About the R-IM-SSF
The R-IM-SSF is a protocol translator that mediates between a CAP or INAP session with the SIS and a SIP session with an external SIP application server.
R-IM-SSF module features
The table below outlines the features of the R-IM-SSF.
Feature supported | Description | ||
---|---|---|---|
INAP, CAP |
Supports GSM CAP v1, v2, and v3; ETSI INAP CS1; Ericsson INAP CS1 (optional); and Ericsson INAP CS1+ (optional).
|
||
Call Control |
Supports messages such as |
||
Multiple Trigger Types |
Supports triggering from the IN with |
||
User Interaction |
Supports playing announcements by mapping an |
||
Customisation options for SIP |
There are a number of options that allow the makeup of the SIP signalling to the SIP application server. The operator can influence the headers includes in the SIP |
R-IM-SSF in action
The R-IM-SSF module provides support for protocol translation from INAP and CAP to SIP. The R-IM-SSF processes a call by acting as a B2BUA to the SIP-AS and by acting as an SCP to the SIS. The R-IM-SSF is invoked by a SIS composition, which may include other IN services to run. For example, in the following diagram we see that a service composition is using the R-IM-SSF to run SIP-based VPN services, in a composition with an IN-based OCS.
Installing the R-IM-SSF
Below are prerequisites and instructions for installing R-IM-SSF, with details for entering licenses and activation, and details for the SIS and the CDR resource adaptor entity.
Before you install …
Before installing the R-IM-SSF, make sure you have:
-
CDR RA — The R-IM-SSF uses the Metaswitch Rhino CDR RA to write a Call Detail Record per trigger. You must download and install the CDR pack, if you do not already have it, before you install the R-IM-SSF module. To install, uncompress the install archive in your
<rhino-home>
.
The R-IM-SSF requires CDR RA v 3.0.0. |
-
SIS — The R-IM-SSF requires both a SIS for SIP instance and a SIS for IN instance. Before it can be installed, you need to create a SIS instance that supports these protocols. The R-IM-SSF install only needs the name of the SIS instances it should bind to.
Installing …
To install R-IM-SSF:
1 |
Unzip the module archive from $ cd sis/in/3.0.0.0 $ unzip rimssf-sis-module-3.0.0.0.zip Archive: rimssf-sis-module-3.0.0.0.zip OpenCloud SIS Module R-IM-SSF creating: admin/ creating: admin/lib/ creating: admin/lib/extensions/ inflating: admin/lib/extensions/rimssf-client-3.0.0.0.jar inflating: admin/remove-rimssf-3.0.0.script creating: modules/ creating: modules/rimssf/ creating: modules/rimssf/3.0.0/ creating: modules/rimssf/3.0.0/install/ creating: modules/rimssf/3.0.0/install/etc/ creating: modules/rimssf/3.0.0/install/lib/ creating: modules/rimssf/3.0.0/install/units/ inflating: modules/rimssf/3.0.0/install/CHANGELOG inflating: modules/rimssf/3.0.0/install/etc/rimssf.properties inflating: modules/rimssf/3.0.0/install/install-module.bat inflating: modules/rimssf/3.0.0/install/lib/rimssf-installer_3.0.0.jar inflating: modules/rimssf/3.0.0/install/units/nist-sdp-library-3.0.0.0.du.jar inflating: modules/rimssf/3.0.0/install/units/rimssf-mng-ra-3.0.0.0.du.jar inflating: modules/rimssf/3.0.0/install/units/rimssf-profile-3.0.0.0.du.jar inflating: modules/rimssf/3.0.0/install/units/rimssf-translator-service-3.0.0.0.du.jar inflating: modules/rimssf/3.0.0/install/units/state-machine-runtime-1.1.0.6.du.jar inflating: modules/rimssf/3.0.0/install/install-module.sh |
---|---|
2 |
Change into the module install directory ( $ cd modules/rimssf/3.0.0/install |
3 |
Run $ ./install-module.sh R-IM-SSF (version=3.0, release=00, build=20130129100554, revision=62832) ======================================================================== R-IM-SSF settings RIM-SSF license file to install ------------------------------- The R-IM-SSF 'right-to-use' license file. A license may already be installed, or you can install a license at a later point in time. If no license is present during install, however, the IM-SSF will need to be activated via the console RIM-SSF license file to install []: ... |
In general, you can accept the default answers during installation (press RETURN). See also details for entering licenses and activation, and information for the SIS instances and CDR resource adaptor entity. |
Licenses and activation
The very first question during the R-IM-SSF installation asks you for a license file. If you have one, enter the path to it. If you don’t have a license file, or if you already have a valid license installed (perhaps as a part of your SIS license), then provide an empty response.
The installer will try to activate the R-IM-SSF at the end of the install process if it can. If it cannot, then it will print a message giving you some guidance.
You can always install a license after the install process, and manually activate R-IM-SSF using the sis-console , with the rimssfactivate command. |
SIS instances
The R-IM-SSF needs to bind to both an IN and SIP instance. Below is an example of R-IM-SSF installer questions (and responses) about SIS instances. In the example, the SIS deployment being installed has been configured to support SIP (instance name is sis-sip
) and IN (instance name is sis-in
).
SIS-SIP instance name --------------------- The SIS-SIP instance the R-IM-SSF should use to connect to SIP AS's. This SIS instance must already be present in the SLEE. SIS-SIP instance name: sis-sip SIS-IN instance name -------------------- The SIS-IN instance the R-IM-SSF should use to connect to the IN. This SIS instance must already be present in the SLEE. SIS-IN instance name: sis-in
Finding SIS instances
If you cannot recall the names of the resource adaptor entities in your SIS install, use the $ cd sis/in/3.0.0.0/admin $ ./sis-console Interactive Rhino Management Shell Rhino management console, enter 'help' for a list of commands [Rhino@localhost (#0)] listraentities sis-in sis-sip |
CDR resource adaptor entity
The R-IM-SSF will create its own CDR resource adaptor entity from the CDR RA that comes with the Rhino install the SIS is installed with. By default, this resource adaptor entity is configured using properties appropriate for functional testing (it writes one CDR file per session).
R-IM-SSF CDR Resource Adaptor properties ---------------------------------------- Properties for the R-IM-SSF CDRs. The default properties are suitable for functional testing. Please refer to the OpenCloud CDR Resource Adaptor documentation for configuration options. R-IM-SSF CDR Resource Adaptor properties [MaxCdrs=1,OutputDirectoryName=cdr,FilenamePattern=rimssf-cdr_%n_%t.log]:
Please refer to the CDR RA documentation for configuration options you wish to use in a production setting. |
Configuring the R-IM-SSF
The SIS administration interface is extended with a set of commands during the R-IM-SSF installation process.
If you use the sis-console help command to list the help categories, you will see three new categories:
[Rhino@localhost (#0)] help Available command categories: auditing Manage Rhino's auditing subsystem ... rimssf R-IM-SSF management operations rimssf-nic R-IM-SSF network initiated call management operations rimssf-svc R-IM-SSF service mapping management operations rimssf-ui R-IM-SSF user interaction management operations ... Enter help <category name | command name substring> for a list of available commands
The first is related to general configuration properties,
the second is related to calls initiated by the SIP network,
the third is related to external SIP application servers,
and the fourth is related to user-interaction configuration.
General R-IM-SSF Configuration
This command category supports general administration tasks such as activating the R-IM-SSF.
Type help rimssf at the sis-console to see a list of commands related to general R-IM-SSF configuration. |
Display the current configuration
rimssf-displaygeneralcfg
Command |
rimssf-displaygeneralcfg Display general configuration of the R-IM-SSF |
---|---|
Example |
To display the current general configuration: [Rhino@localhost (#1)] rimssf-displaygeneralcfg R-IM-SSF Configuration Data CountryCode : 64 IddPrefix : 00 MscAddress : null NoAnswerTimeout : 30 RimssfDomain : opencloud.co.nz ... |
Configure the International Dialing prefix and Country Code
Configure the SCF ID Address String
rmssf-configurescfidaddress
Command |
rimssf-configurescfidaddress <scfid address> Configure the address string of ScfID used in EstablishTemporaryConnection messages sent by the R-IM-SSF |
---|---|
Example |
To configure the SCF ID address string: [Rhino@localhost (#1)] rimssf-configurescfidaddress 642347923873438 ScfIdAddress now set to: 642347923873438 |
Configure the MSC SCCP Address
rmssf-configuremscaddress
The MSC address only needs to be configured for scenarios where the SIP network initiates the call. The specified address must be described using the correct format. |
Command |
rimssf-configuremscaddress <msc address> Configure the SCCP address string of the MSC used for network-initiated calls. Use the value 'null' to remove an existing setting messages sent by the R-IM-SSF |
---|---|
Example |
To configure the MSC address string: [Rhino@localhost (#1)] rimssf-configuremscaddress type=c7,ri=gt,digits=34607012345,nature=national,national=true MscAddress now set to: type=c7,ri=gt,digits=34607012345,nature=national,national=true |
Configure the No Answer Timeout
rimssf-configurenoanswertimeout
Command |
rimssf-configurenoanswertimeout <timeout> Configure the NoAnswer EDP timeout. The timeout units is seconds. Use 0 for no explicit timeout |
---|---|
Example |
To configure the no answer timeout: [Rhino@localhost (#1)] rimssf-configurenoanswertimeout 30 NoAnswer EDP timeout now set to: 30 |
Configure Connect behaviour
The R-IM-SSF can be configured to always send a Connect operation to route a normal call, or to send a Connect or Continue operation depending on whether or not the A or B party numbers have been changed by the SIP-AS.
rimssf-configurealwaysuseconnect
Command |
configurealwaysuseconnect <always-use-connect?> Configure Always-Use-Connect setting. The argument must be a boolean value |
---|---|
Example |
To configure the R-IM-SSF to always send a Connect: [Rhino@localhost (#1)] rimssf-configurealwaysuseconnect true Always-Use-Connect setting now set to: true |
Configure Default Media Server Address
The default media server address is only used in the case where an announcement is to be played using an MRF instead of an SRF or IP and a media server address has not been configured in the relevant announcement mapping.
rimssf-configuredefaultmediaserveraddress
Command |
rimssf-configuredefaultmediaserveraddress <uri> Configure the Default Media Server Address for user interaction performed using an MRF. The argument must be a SIP URI. Use the value 'null' to remove an existing setting |
---|---|
Example |
To configure a default media server address of mrf.opencloud.com [Rhino@localhost (#1)] rimssf-configuredefaultmediaserveraddress mrf.opencloud.com DefaultMediaServerAddress setting now set to: mrf.opencloud.com |
Configure Announcement Combined-Mode Field Format
The combined-mode field format specifier is used to indicate the field widths of the assisting SSP-IP routing address, correlation ID, and SCF-ID fields when the R-IM-SSF sends an Establish Temporary Connection operation using the combined mode of pre-ISUP '97.
It is generally expected that the SCF-ID address (as configured above) will fit within the specified field width, and that the total width of all fields is not greater than the address string length supported by the protocol. |
rimssf-configureannouncementcombinedmodefieldformat
Command |
rimssf-configureannouncementcombinedmodefieldformat <aSSP-IP-address-width> <correlation-id-width> <scf-id-width> Configure the Announcement Combined-Mode Field Format. Use a single value 'null' to remove an existing setting |
---|---|
Example |
To configure a combined-mode field format specifier for an assisting SSP-IP address width of 6 digits, an SCF ID address of 2 digits, and a correlation ID of 4 digits: [Rhino@localhost (#1)] rimssf-configureannouncementcombinedmodefieldformat 6 2 4 Announcement Combined Mode Field Format setting now set to: 6:2:4 |
Configuring R-IM-SSF Network-Initiated Calls
The R-IM-SSF includes support for calls initiated by the SIP network.
Type help rimssf-nic at the sis-console to see a list of commands related to network initiated calls. |
Configure number normalisation behaviour
rimssf-configureniciddccnormalisation
Command |
rimssf-configureniciddccnormalisation <use-idd-cc-normalisation> Configure IDD/CC normalisation for network initiated calls |
---|---|
Example |
To disable number normalisation, so that calling and called party addresses are passed from SIP to IN without the modification with respect to IDD and Country Code prefixes: [Rhino@localhost (#1)] rimssf-configureniciddccnormalisation false IDD/CC normalisation for network initiated calls is now disabled |
Configuring R-IM-SSF Subscription Information
The R-IM-SSF includes configuration tables that dictate which SIP Application Server is triggered for an InitialDP
.
Type help rimssf-svc at the sis-console to see a list of commands related to subscription information. |
Configuring SIP application servers
Below are descriptions and examples of commands for configuring SIP application servers.
rimssf-configuresipas
Command |
rimssf-configuresipas <service-key> <sip-as address> <announcement-mode> <announcement-prefix> <resettimer-timeout> Configure SIP AS properties for a service-key. Announcement mode must be one of DIRECT, ASSISTING_SEPARATE, or ASSISTING_COMBINED |
---|---|
Example |
To add the configuration for a SIP application server: [Rhino@localhost (#1)] rimssf-configuresipas 23 192.168.62.102:5070 DIRECT 441123 90 Added SipAs configuration for service key 23 |
rimssf-displaysipascfg
Command |
rimssf-displaysipascfg <service-key> Display SIP AS properties for a service-key |
---|---|
Example |
To display the SIP AS configuration associated with a service-key: [Rhino@localhost (#1)] rimssf-displaysipascfg 23 Mapping of serviceKey to SIP AS AnnouncementMode : DIRECT AnnouncementPrefix : 441123 ResetTimerTimeout : 90 ServiceKey : 23 SipAsAddress : 192.168.62.102:5070 |
rimssf-displayallsipascfg
Command |
rimssf-displayallsipascfg Display all SIP AS properties |
---|---|
Example |
To display all SIP AS configurations: [Rhino@localhost (#1)] rimssf-displayallsipascfg ServiceKey AnnouncementPrefix AnnouncementMode ResetTimerTimeout SipAsAddress ----------- ------------------- ----------------- ------------------ -------------------- 35 441135 DIRECT 90 192.168.62.135:5070 23 441123 DIRECT 90 192.168.62.102:5070 |
Configuring INVITE properties
Below are descriptions and examples of the commands for configuring INVITE
properties.
rimssf-configureinviteproperties
Command |
rimssf-configureinviteproperties <service-key> <useSipUri> <transport> <accessParam> <o_AccessVal> <t_AccessVal> <hasCldPtyIDHeader> <hasSupportedHeader> <supportedHeader> <hasPChargingVectorHeader> <hasECF> <ecf> <hasCCF> <ccf> <hasPAccessNWInfoHeader> <defaultCGI> <expiresHeader> <hasSessionExpiresHeader> <sessionExpiresHeader> <hasMinSEHeader> <minSEHeader> <userAgentHeader> Configure INVITE properties for a service-key |
---|---|
Example |
To add [Rhino@localhost (#1)] rimssf-configureinviteproperties 23 true udp call orig term true true timer,replaces true false "" false "" true 12345 360 true 360 true 1212 rimssf Added INVITE parameters for service key 23 |
rimssf-displayinviteproperties
Command |
rimssf-displayinviteproperties <service-key> Display INVITE properties for a service-key |
---|---|
Example |
To display [Rhino@localhost (#1)] rimssf-displayinviteproperties 23 Mapping of serviceKey to INVITE properties AccessParameter : call AccessParameterOrigValue : orig AccessParameterTermValue : term CCF : DefaultCgi : 12345 ECF : ExpiresHeader : 360 HasCCF : false HasECF : false HasMinSEHeader : true HasPAccessNetworkInfoHeader : true HasPCalledPartyIDHeader : true HasPChargingVectorHeader : true HasSessionExpiresHeader : true HasSupportedHeader : true IsSipURIUsed : true MinSEHeader : 1212 ServiceKey : 23 SessionExpiresHeader : 360 SupportedHeader : timer,replaces Transport : udp UserAgentHeader : rimssf |
rimssf-displayallinviteproperties
Command |
rimssf-displayallinviteproperties Display all INVITE properties |
---|---|
Example |
To display all [Rhino@localhost (#1)] rimssf-displayallinviteproperties ServiceKey AccessParameter AccessParameterOrigValue AccessParameterTermValue CCF DefaultCgi ECF ExpiresHeader ... ----------- ---------------- ------------------------- ------------------------- ---- ----------- ---- -------------- ... 32 call orig term 12345 360 ... 23 call orig term 12345 360 ... 2 rows |
rimssf-removeinviteproperties
Command |
rimssf-removeinviteproperties <service-key> Remove INVITE properties for a service-key |
---|---|
Example |
To remove the [Rhino@localhost (#1)] rimssf-removeinviteproperties 32 INVITE parameters for service key 32 has been removed |
Configuring SDP portion properties
Below are descriptions and examples of commands for configuring SDP portion properties.
rimssf-configuresdpcfg
Command |
rimssf-configuresdpcfg <service-key> <networkType> <addressType> <mediaType> <mediaProtocol> <mediaFormat> <fmtpAttribute> <rtpmapAttribute> <origPort> Configure SDP properties for a service-key |
---|---|
Example |
To configure [Rhino@localhost (#1)] rimssf-configuresdpcfg 23 IN IPV4 audio RTP/AVP [0,8,18] 96\ 0-15,66,70 96\ telephone-event/8000 49170 Added SipAs configuration for service key 23 |
rimssf-displaysdpcfg
Command |
rimssf-displaysdpcfg <service-key> Display SDP properties for a service-key |
---|---|
Example |
To [Rhino@localhost (#1)] rimssf-displaysdpcfg 23 Mapping of serviceKey to SDP properties OrigPort : 49170 SDPAddressType : IPV4 SDPFmtpAttribute : 96 0-15,66,70 SDPMediaFormat : [0, 8, 18] SDPMediaProtocol : RTP/AVP SDPMediaType : audio SDPNetworkType : IN SDPRtpmapAttribute : 96 telephone-event/8000 ServiceKey : 23 |
rimssf-displayallsdpcfg
Command |
rimssf-displayallsdpcfg Display all SDP properties |
---|---|
Example |
To display all [Rhino@localhost (#1)] rimssf-displayallsdpcfg ServiceKey OrigPort SDPAddressType SDPFmtpAttribute SDPMediaFormat SDPMediaProtocol SDPMediaType SDPNetworkType ... ----------- --------- --------------- ----------------- --------------- ----------------- ------------- --------------- ... 32 49170 IPV4 96 0-15,66,70 [0, 8, 18] RTP/AVP audio IN ... 35 49170 IPV4 96 0-15,66,70 [0, 8, 18] RTP/AVP audio IN ... 23 49170 IPV4 96 0-15,66,70 [0, 8, 18] RTP/AVP audio IN ... 3 rows |
Configuring R-IM-SSF User Interaction
The R-IM-SSF includes support for translating user-interaction requests by SIP application servers into equivalent requests to network elements in the IN (such as an IVR). For example, if a SIP application requests that a particular announcement should be played with a play-url in an INVITE
, then the R-IM-SSF will map this to a PlayAnnouncement message.
Type help rimssf-ui at the sis-console to see a list of commands related to subscription information. |
Configuring prefix announcement mappings
Below are descriptions and examples of the commands for configuring prefix announcement mappings.
rimssf-addprefixmessageannouncementmapping
Command |
rimssf-addprefixmessageannouncementmapping <prefix> <id> <assistingSspIpRoutingAddress> <resourceAddress> Add prefix -> message announcement mapping |
---|---|
Example |
To add a [Rhino@localhost (#1)] rimssf-addprefixmessageannouncementmapping 351123700 15 123456 12345678 Added Message announcement mapping for prefix 351123700 |
rimssf-addprefixtoneannouncementmapping
Command |
rimssf-addprefixtoneannouncementmapping <prefix> <id> <assistingSspIpRoutingAddress> <resourceAddress> Add prefix -> tone announcement mapping |
---|---|
Example |
To add a [Rhino@localhost (#1)] rimssf-addprefixtoneannouncementmapping 351123456 12 123456 12345678 Added Tone announcement mapping for prefix 351123456 |
rimssf-displayprefixannouncementmapping
Command |
rimssf-displayprefixannouncementmapping <prefix> Display the announcement mapping for a prefix |
---|---|
Example |
To display announcement configuration associated with prefix [Rhino@localhost (#1)] rimssf-displayprefixannouncementmapping 351123456 Mapping of prefix to announcement properties AnnouncementID : 12 AssistingSSPIPRoutingAddress : 123456 MessageType : TONE_ANNOUNCEMENT Prefix : 351123456 ResourceAddress : 12345678 |
rimssf-displayallprefixannouncementmappings
Command |
rimssf-displayallprefixannouncementmappings Display all prefix -> announcement mappings |
---|---|
Example |
To display all prefix → announcement mappings: [Rhino@localhost (#1)] rimssf-displayallprefixannouncementmappings Prefix AnnouncementID AssistingSSPIPRoutingAddress MessageType ResourceAddress ---------- --------------- ----------------------------- --------------------- ---------------- 351123456 12 123456 TONE_ANNOUNCEMENT 12345678 351123700 15 123456 MESSAGE_ANNOUNCEMENT 12345678 |
rimssf-removeprefixannouncementmapping
Command |
rimssf-removeprefixannouncementmapping <prefix> Remove a prefix -> announcement mapping |
---|---|
Example |
To remove an announcement mapping for prefix [Rhino@localhost (#1)] rimssf-removeprefixannouncementmapping 351123456 Announcement mapping for prefix 351123700 has been removed |
Configuring play-URL announcement mappings
Below are descriptions and examples of commands for configuring play-URL announcement mappings.
rimssf-addplayurlmessageannouncementmapping
Command |
rimssf-addplayurlmessageannouncementmapping <playurl> <id> <assistingSspIpRoutingAddress> <resourceAddress> <mrfAddress> Add playurl -> message announcement mapping. The value of resourceAddress or mrfAddress may be 'null' if no specific value is to be configured |
---|---|
Example |
To add a [Rhino@localhost (#1)] rimssf-addplayurlmessageannouncementmapping /provisioned/19 19 123456 12345678 null Added Message announcement mapping for play url /provisioned/19 |
rimssf-addplayurltoneannouncementmapping
Command |
rimssf-addplayurltoneannouncementmapping <playurl> <id> <assistingSspIpRoutingAddress> <resourceAddress> Add playurl -> tone announcement mapping |
---|---|
Example |
To add a [Rhino@localhost (#1)] rimssf-addplayurltoneannouncementmapping /provisioned/12 12 123456 null 12345678@mrf.opencloud.com Added Tone announcement mapping for play url /provisioned/12 |
rimssf-displayplayurlannouncementmapping
Command |
rimssf-displayplayurlannouncementmapping <playurl> Display the announcement mapping for a play url |
---|---|
Example |
To display the play-url → announcement mapping for [Rhino@localhost (#1)] rimssf-displayplayurlannouncementmapping /provisioned/12 Mapping of PlayUrl to announcement properties AnnouncementID : 12 AssistingSSPIPRoutingAddress : 123456 MediaServerAddress : 12345678@mrf.opencloud.com MessageType : TONE_ANNOUNCEMENT ResourceAddress : null Url : /provisioned/12 |
rimssf-displayallplayurlannouncementmappings
Command |
rimssf-displayallplayurlannouncementmappings Display all play url -> announcement mappings |
---|---|
Example |
To display all play-url → announcement mappings: [Rhino@localhost (#1)] rimssf-displayallplayurlannouncementmappings Url AnnouncementID AssistingSSPIPRoutingAddress MediaServerAddress MessageType ResourceAddress ---------------- --------------- ----------------------------- --------------------------- --------------------- ---------------- /provisioned/12 12 123456 12345678@mrf.opencloud.com TONE_ANNOUNCEMENT /provisioned/15 15 123456 TONE_ANNOUNCEMENT 12345678 /provisioned/19 19 123456 MESSAGE_ANNOUNCEMENT 12345678 3 rows |
rimssf-removeplayurlannouncementmapping
Command |
rimssf-removeplayurlannouncementmapping <playurl> Remove a playurl -> announcement mapping |
---|---|
Example |
To remove an announcement mapping for play-url [Rhino@localhost (#1)] rimssf-removeplayurlannouncementmapping /provisioned/15 Announcement mapping for play url /provisioned/15 has been removed |
Configuring media XML announcement mappings
A media XML announcement mapping is used if an incoming INVITE
request is not recognised as another type of announcement INVITE
but contains a Content-Type
header identifying the message content as application/mediaservercontrol\+xml
. Media XML announcement mappings are keyed on the ServiceKey
of the InitialDP
that triggered the call. For SIP network initiated calls a ServiceKey
value of 0
is used to look up the announcement mapping.
Below are descriptions and examples of commands for configuring media XML announcement mappings.
rimssf-addmediaxmlannouncementmapping
Command |
rimssf-addmediaxmlannouncementmapping <service-key> <assistingSspIpRoutingAddress> <mrfAddress> Add media-xml announcement mapping for a service key. The value of mrfAddress may be 'null' if no specific value is to be configured |
---|---|
Example |
To add a [Rhino@localhost (#1)] rimssf-addmediaxmlannouncementmapping 100 123456 mrf.opencloud.com Added Media XML announcement mapping for service key 100 |
rimssf-displaymediaxmlannouncementmapping
Command |
rimssf-displaymediaxmlannouncementmapping <service-key> Display the media-xml announcement mapping for a service key |
---|---|
Example |
To display announcement configuration associated with service key [Rhino@localhost (#1)] rimssf-displaymediaxmlannouncementmapping 100 Mapping of service key to media-xml announcement properties AssistingSSPIPRoutingAddress : 123456 MediaServerAddress : mrf.opencloud.com ServiceKey : 100 |
rimssf-displayallmediaxmlannouncementmappings
Command |
rimssf-displayallmediaxmlannouncementmappings Display all media-xml announcement mappings |
---|---|
Example |
To display all service key → media XML announcement mappings: [Rhino@localhost (#1)] rimssf-displayallmediaxmlannouncementmappings ServiceKey AssistingSSPIPRoutingAddress MediaServerAddress ----------- ----------------------------- ------------------- 100 123456 mrf.opencloud.com 70 123456 |
rimssf-removemediaxmlannouncementmapping
Command |
rimssf-removemediaxmlannouncementmapping <service-key> Remove a media-xml announcement mapping for a service key |
---|---|
Example |
To remove an announcement mapping for service key [Rhino@localhost (#1)] rimssf-removemediaxmlannouncementmapping 100 Media XML mapping for service key 100 has been removed |
R-IM-SSF Behaviour
These sections describe the behaviour of the R-IM-SSF:
-
Initial Triggering via the IN — how the R-IM-SSF is triggered by the IN and how it makes initial contact with a SIP-AS.
-
Initial Triggering via SIP — how the R-IM-SSF can be triggered by the SIP network to create a new network initiated call in the IN, and how the R-IM-SSF makes initial contact with an MSC
-
IN Message Translation — how the R-IM-SSF deals with incoming IN messages after call initiation
-
SIP Message Translation — how the R-IM-SSF deals with incoming SIP messages after call initiation
-
Example Call Flows — example call flows for various scenarios.
Initial Triggering via the IN
The R-IM-SSF is triggered in the IN by the InitialDP
initial request event.
Triggering the R-IM-SSF
-
The R-IM-SSF uses the
ServiceKey
of theInitialDP
event to find the address of the external SIP application server. -
The R-IM-SSF builds an
INVITE
(and theSDP
portion) and invokes the SIP application server.
The R-IM-SSF requires that the InitialDP has at least a ServiceKey , a CallingPartyNumber , and a CalledPartyNumber (or CalledPartyBCDNumber for CAP O-BCSM triggers). |
The R-IM-SSF manages a number of profile tables that it uses to trigger a SIP application. The rimssf-configuration-profile-table
contains global configuration information. This profile table typically contains only one profile, as the R-IM-SSF uses the same configuration information for all calls.
The R-IM-SSF uses records from three other configuration profile tables to determinate how to build the outgoing INVITE
and which SIP application server to send it to:
-
rimssf-service-configuration-profile-table
— external SIP application service configuration -
rimssf-invite-builder-profile-table
— information to populate the headers in theINVITE
message -
rimssf-sdp-builder-profile-table
) — information to build theSDP
portion of theINVITE
.
The records in these three tables are indexed by service key. The ServiceKey
from the incoming InitialDP
is used to find the appropriate configuration information for the call.
If:
…then the R-IM-SSF does not attempt to trigger a SIP application server and allows the call to proceed (by responding to the switch with a |
Finding the SIP-AS
The R-IM-SSF searches for a record in the rimssf-service-configuration-profile-table
that corresponds to the ServiceKey
from the InitialDP
. The R-IM-SSF uses the information in the record to determine the address of the external SIP application server.
Field | Description |
---|---|
ServiceKey |
The |
SipAsAddress |
The SIP application server address (in the form |
AnnouncementPrefix |
A prefix to check for in the |
AnnouncementMode |
Indicates whether user interaction mode is direct, assisting using separate |
ResetTimerTimeout |
Timeout used for |
See [2 Configuring R-IM-SSF Subscription Information] for the sis-console commands to use to manage the rimssf-service-configuration-profile-table . |
Building the INVITE
The R-IM-SSF searches for a record in the rimssf-invite-builder-profile-table
that corresponds to the ServiceKey
from the InitialDP
. The R-IM-SSF uses the information in the record to build the INVITE
message it sends to the external SIP application server.
Field | Description |
---|---|
ServiceKey |
The |
IsSipURIUsed |
Whether a SIP URI or Tel URL should be used to create initial |
Transport |
The SIP Transport used towards the service: udp, tcp, or udp/tcp |
AccessParameter |
The name of a parameter of the Route that should be used to distinguish between originating and terminating triggers |
AccessParameterOrigValue |
The value of the |
AccessParameterTermValue |
The value of the |
HasPAccessNetworkInfoHeader |
If the initial |
DefaultCgi |
The default CGI parameter for the P-Access-Network-Info header; used when LocationNumber is not present on the InitialDP received |
HasPChargingVectorHeader |
If the initial |
HasCCF |
If the initial |
CCF |
|
HasCCF |
If the initial |
ECF |
|
ExpiresHeader |
The |
HasMinSEHeader |
If the initial |
MinSEHeader |
|
HasPCalledPartyIDHeader |
If the initial |
HasSessionExpiresHeader |
If the initial |
SessionExpiresHeader |
|
HasSupportedHeader |
If the initial |
SupportedHeader |
Values to include in the |
UserAgentHeader |
|
Example configuration … | …results in: | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
INVITE sip:123456789@opencloud.co.nz SIP/2.0 From: <sip:+351987654321@opencloud.co.nz>;tag=g5qB7w To: <sip:123456789@opencloud.co.nz> Call-ID: n1O3nxW0T6iW5P5P3-TmjQ CSeq: 63062 INVITE Max-Forwards: 70 Via: SIP/2.0/UDP 192.168.62.102:5060;oc-node=101;rport;branch=z9hG4bKFAdZ7Kn7vR364EMwd73ABA;ext Via: SIP/2.0/UDP 192.168.62.102:5060;oc-node=101;rport;branch=z9hG4bKTvm5BnH1zYrsbC0ZDLpWdw Contact: <sip:Ai-cCypiu+hkF35L3H~FqyAw@192.168.62.102:5060;oc-node=101;transport=udp> Route: <sip:192.168.62.102:5070;lr;transport=udp;call=orig> Route: <sip:Ai-cCypiu+hkF35L3H~FqyAw@192.168.62.102:5060;oc-node=101;lr;transport=udp> P-Asserted-Identity: <tel:+351987654321>, <sip:+351987654321@opencloud.co.nz> Supported: timer, replaces, 100rel Allow: INVITE, BYE, CANCEL, ACK, PRACK, UPDATE P-Charging-Vector: icid-value=1283143839977;orig-ioi=opencloud.co.nz P-Access-Network-Info: 3GPP-GERAN;cgi-3gpp=111111111 Expires: 360 Session-Expires: 360 Min-SE: 2120 User-Agent: rimssf-useragent-inv-builder ... |
See Configuring R-IM-SSF Subscription Information for the sis-console commands to use to manage the rimssf-invite-builder-profile-table . |
Building the SDP portion
The R-IM-SSF searches for a record in the rimssf-sdp-builder-profile-table
that corresponds to the ServiceKey
from the InitialDP
. The R-IM-SSF uses the information in the record to build the SDP
portion of the INVITE
message it sends to the external SIP application server.
Field | Description |
---|---|
ServiceKey |
The |
SDPNetworkType |
The |
SDPAddressType |
The |
SDPMediaType |
The |
SDPMediaFormat |
The |
SDPMediaProtocol |
The |
SDPFmtpAttribute |
The |
|
SDPRtpmapAttribute |
The `SDP` `Rtpmap` attribute |
OrigPort |
Example configuration… | …results in | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
INVITE sip:123456789@opencloud.co.nz SIP/2.0 From: <sip:+351987654321@opencloud.co.nz>;tag=g5qB7w ... User-Agent: rimssf-useragent-inv-builder Accept: application/sdp Content-Type: application/sdp Content-Length: 182 v=0 o=+351987654321 3 3 IN IP4 192.168.62.102 s=oc-node=101 c=IN IPV4 192.168.62.102 t=0 0 m=audio 49170 RTP/AVP 0 8 18 a=fmtp:96 0-15,66,70 a=rtpmap:96 telephone-event/8000 |
See Configuring R-IM-SSF Subscription Information for the sis-console commands to use to manage the rimssf-sdp-builder-profile-table . |
Initial Triggering via SIP (Network Initiated Call)
The R-IM-SSF may also be triggered by an incoming INVITE
request from the SIP network when a SIP-AS wishes to create a network initiated call in the IN.
In order to establish a network initiated call, an IN protocol that supports such calls is required. Currently the only protocol supporting these types of calls that is also supported by the R-IM-SSF is Ericsson INAP CS1+. |
Identifying a network initiated call
A SIP-AS uses the principles specified in RFC 4579 s5.4 (Creating a Conference Using Ad-Hoc SIP Methods) to create a new network initiated call attempt in the IN. In order to identify an INVITE
request that represents a new network initiated call attempt, the INVITE
from the SIP-AS must contain a Request-URI
that:
-
is a SIP URI
-
specifies a user of
conference-factory
-
contains the URI parameter
oc-rimssf=conference
.
The To
header in the initial INVITE
should identify the phone number of the first call party.
When the first call party answers the call, the R-IM-SSF will respond to the INVITE
with a 200 OK
. The Contact
URI contained in this 200 OK
identifies the call to the SIP-AS and must be used by the SIP-AS as the Request-URI
or topmost Route
header (when received by the R-IM-SSF) in subsequent INVITE
requests that add further participants to the call. The To
header in subsequent INVITE
requests should again identify the phone number of the party to be added to the call.
Triggering the R-IM-SSF
The R-IM-SSF can be triggered in the SIS for a SIP network initiated call by checking for the presence of the required conference URI. For example, the following condition could be used in a SIS trigger to select a composition that invokes the R-IM-SSF for such a call:
<on-condition> <and> <equal a="${uri.user}" b="conference-factory"/> <equal a="${uri.param.oc-rimssf}" b="conference"/> </and> </on-condition>
R-IM-SSF install packages that include support for IN protocols that support network initiated calls include an example SIS trigger and composition that can be used to invoke the R-IM-SSF for a SIP network initiated call. |
Find the MSC
The R-IM-SSF general configuration includes a setting for the default MSC address (as an SCCP address) to use for network initiated calls. The R-IM-SSF provides the capability to override this default address on a per call basis using a SIS interceptor.
Once the interceptor completes (if relevant), the R-IM-SSF uses the final determined SCCP address as the destination address for a new outgoing IN dialog. The R-IM-SSF then builds the InitiateCallAttempt to send on this dialog.
The R-IM-SSF rejects the call with a 500 Internal Server Error response if a valid MSC address cannot be determined. This can happen if no default MSC address is configured and an interceptor does not provide a suitable value. |
Build the InitiateCallAttempt
The R-IM-SSF uses information from the incoming INVITE
to populate the fields of the InitiateCallAttempt
request it sends to the MSC.
Field | Source | Description |
---|---|---|
DestinationRoutingAddress |
Request-URI |
The |
CallingPartyNumber |
From |
The |
LegToBeCreated |
n/a |
The first leg created has a leg id of |
When converting a SIP URI address to an IN data value, the final address will have a format based on the international dialling prefix and country code settings provisioned in the general configuration.
Before sending the InitiateCallAttempt
message, the R-IM-SSF invokes a SIS interceptor allowing additional fields to be populated in the message.
Once the InitiateCallAttempt
has been sent to the MSC and routing of the new call begins, the R-IM-SSF sends a 183 Session Progress
provisional response to the INVITE
back to the SIP-AS.
Example R-IM-SSF configuration … | Example INVITE … |
… results in | ||||
---|---|---|---|---|---|---|
|
INVITE sip:conference-factory@rimssf.opencloud.com;oc-rimssf=conference SIP/2.0 From: <tel:+64219999999>;tag=MEuBTA To: <tel:+64211234567> Call-ID: XuCsVFJjoGKZF7oECrJDtg CSeq: 0 INVITE Max-Forwards: 70 ... |
InitiateCallAttempt[ destinationRoutingAddress { calledPartyNumber nature NATIONAL routingToInternalNetworkNumber ALLOWED numberingPlan ISDN address "211234567" } callingPartyNumber nature NATIONAL numberIncomplete false numberingPlan ISDN presentation ALLOWED screening NETWORK_PROVIDED address "219999999" legToBeCreated sendingSideID encodedValue CALLING_PARTY ] |
Typical call flow
For a call initiated by the SIP network, this is a typical call flow.
-
An
INVITE
from SIP-AS initiates the call. -
R-IM-SSF creates the new call in the IN network,using
InitiateCallAttempt
to contact the A-party. -
The A-party answers; R-IM-SSF informs SIP-AS.
-
SIP-AS sends a second
INVITE
for the B-party. -
R-IM-SSF routes the call to the B-party.
-
The B-party answers; R-IM-SSF informs SIP-AS.
Once the A-party has answered the call and the SIP-AS has been notified, the call progresses in the same way as if the A-party had initiated the call in the IN and the R-IM-SSF had been triggered for that call by an InitialDP
.
Interceptors for network-initiated Calls
The SIS does not automatically provide support for interceptors or other service interaction behaviour on dialogs created by SLEE applications. To solve this problem and allow interceptors to modify the messages it sends for network-initiated calls, the R-IM-SSF manually invokes interceptors for relevant outgoing messages. The R-IM-SSF supports interceptors that complete both synchronously and asynchronously, and will correctly maintain message ordering for interceptors that do complete asynchronously.
Below is a description of the interceptors the R-IM-SSF will try to invoke. All interceptors are given an OperationInvokeEvent[] as input, and the R-IM-SSF expects the interceptor output to be of the same type. An interceptor may modify the input argument as required, within any noted restrictions; however an interceptor must not include null
elements in the output array, and all OperationInvokeEvent
array elements must at least declare the operation to be invoked. The dialog
, invokeId
, and linkedId
attributes of OperationInvokeEvents
passed to and returned from an interceptor are unused and ignored by the R-IM-SSF.
A callprocessing error will occur if an interceptor returns invalid output, leading to call termination. |
Interceptor Ref Name | Interceptor Input | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
rimssf.nic |
Input object: Input user variables:
|
||||||||||||
rimssf.ica |
Input object:
Input user variables:
|
||||||||||||
rimssf.con |
Input object: Input user variables:
|
||||||||||||
rimssf.rrbe |
Input object: Input user variables: none |
||||||||||||
rimssf.etc |
Input object: Input user variables: none |
||||||||||||
rimssf.pa |
Input object: Input user variables: none |
||||||||||||
rimssf.dl |
Input object: Input user variables: none |
||||||||||||
rimssf.rc |
Input object: Input user variables: none |
IN Message Translation
Here’s what the R-IM-SSF does when it gets messages from the IN:
IN message | Action | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
InitialDP |
Initial trigger for an IN-initiated call. See [1 Initial Triggering via the IN] for a detailed description of how the R-IM-SSF uses the information contained in the |
||||||||||||||||||
EventReportBCSM |
An
If the event report corresponds to a leg terminating event: then once the SIP dialog has been confirmed terminated in the R-IM-SSF by receipt of an |
||||||||||||||||||
AssistRequestInstructions |
Indicates the initiation of an SRF assisting dialog. A |
||||||||||||||||||
SpecializedResourceReport |
Indicates the end of an announcement. A |
||||||||||||||||||
HoldResult + ReconnectResult |
The call leg was successfully held or resumed. A |
||||||||||||||||||
ReleaseCallPartyConnectionResult |
The call leg was successfully disconnected. The corresponding SIP dialog has already terminated at this point, so no further action is necessary. |
||||||||||||||||||
OpenRefuse |
This event only occurs for SIP network initiated calls in the case where the IN dialog created by the R-IM-SSF is not accepted by the MSC. A |
||||||||||||||||||
UserAbort + ProviderAbort |
|
||||||||||||||||||
OperationError |
|
SIP Message Translation
Here’s what the R-IM-SSF does when it gets messages from the SIP network:
SIP message | Action | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
initial INVITE |
New call legAn incoming
The R-IM-SSF attempts to determine the session ID by applying the rules above in the order given. The R-IM-SSF stops evaluating the rules once a session ID is found. If a session ID is not found, or a session ID is found that is not recognised, then the R-IM-SSF responds to the Assuming an active session is found, the incoming
The R-IM-SSF arms all EDPs in in the
After the
User interactionThe R-IM-SSF identifies an
Additional service configuration information determines whether to play the announcement in direct or assisting mode. If in assisting mode, an Announcements using the INIf the announcement is played in direct mode, or the MSC/SRF responds with an Announcements using the SIP networkThe MSC may play an announcement using a SIP MRF by sending an Once the correct R-IM-SSF session receives the Mid-call announcementsThe R-IM-SSF supports user interaction mid-call, that is, any time after the initial trigger when the call is being routed to a second call party or a second call party has already answered the call. An The R-IM-SSF supports additional special-case behaviour for user interaction on call answer. In a two-party call, if the SIP-AS sends an
|
||||||||||||||
re- INVITE |
The R-IM-SSF recognises the following updates via an Media changeThe R-IM-SSF supports leg hold and resume through a media change in a new SDP offer. If the new SDP contains a session attribute with value
|
||||||||||||||
CANCEL or BYE |
A Normal call leg terminationThe R-IM-SSF determines whether to disconnect just the corresponding IN call leg or the entire IN call based on the following conditions:
The call is released using the User interactionIf a dialog representing user interaction is terminated by the SIP-AS:
Once the announcement is confirmed terminated, the R-IM-SSF then sends a |
||||||||||||||
INFO |
In-dialog |
||||||||||||||
2xx success response |
A success response to the |
||||||||||||||
3xx redirect response |
The R-IM-SSF does not currently support 3xx redirect responses. |
||||||||||||||
400-699 error response |
An error response may be received by the R-IM-SSF for the |
Example Call Flows
Below are some general and user-interaction example call flows illustrating R-IM-SSF behaviours.
In the following diagrams, messages related to different SIP dialogs display in different colours to help interpret the call flows. To keep it simple, 100 Trying provisional responses and PRACK /200 OK messages for reliable provisional responses are not shown (though the R-IM-SSF does send or handle those messages as appropriate). |
General call flows
Below is the typical basic call flow for an IN-initiated call that is answered. The calling (A) party hangs up at call end.
The R-IM-SSF sends both 180 Ringing and 200 OK on call answer if the IN protocol in use does not support an explicit alerting event detection point (EDP), as many SIP applications expect such a message sequence. |
Call alerting
The R-IM-SSF will arm the appropriate alerting event detection point (EDP) and handle the corresponding EventReportBCSM
if the IN protocol in use supports it.
Forked SIP dialog - call setup
SIP dialog forking for parallel alerting is supported for IN protocols that provide call party handling operations. The call flow below illustrates call setup when the SIP dialog is forked.
Forked SIP dialog - call answered
Once a forked call leg answers, the leg is moved to the primary call segment (if necessary) and other legs are disconnected when the SIP-AS CANCELs
the INVITEs
.
Leg hold
Leg hold and resume is supported for IN protocols that provide call party handling operations. Below is the typical call flow for a leg hold procedure.
An attempt to place a leg on hold may fail or be rejected by the MSC for various reasons. In these cases, the R-IM-SSF will always respond to the re-INVITE
with the same error response.
The R-IM-SSF will immediately reject an attempt to place a leg on hold when using an IN protocol that doesn’t provide call party handling operations.
User-interaction call flows
User interaction using direct mode
Below is the typical call flow for a pre-call announcement using direct mode. The call is allowed to proceed after the announcement completes.
User interaction using an assisting dialog
Below is the typical call flow for a pre-call announcement using assisting mode. The call is terminated after the announcement completes.
User interaction using a SIP MRF announcement device
Below is an example call flow for a pre-call announcement played using an MRF in the SIP network. The call is terminated after the announcement completes.
User interaction on call answer
Below is an example call flow for an announcement played to the B party as soon as they answer the call. The call leg is automatically placed on hold for this use case. This example shows the announcement played using an MRF in the SIP network, but the announcement could be played using any supported method.
Mid-call user interaction
Below is an example call flow for a mid-call announcement played to the B party. The target call leg must be placed on hold using a re-INVITE before beginning the announcement procedure if the announcement should only be played to the one call party. The call leg is returned from hold with another re-INVITE after the announcement completes. This example shows the announcement initiated using an ETC operation, but the announcement could be played using any supported method.
R-IM-SSF Statistics
The R-IM-SSF defines a parameter set with these statistics for each SS7 protocol it supports.
You can list the statistics parameter sets using the $ ./rhino-stats -l SLEE-Usage.Services.ServiceID[name=R-IM-SSF,vendor=OpenCloud,version=<version>]. See Usage in the Rhino Administration and Deployment Guide for more details about usage statistics. |
Counter | Description |
---|---|
totalCalls |
number of triggers processed |
noLicenseCalls |
number of triggers not processed because no licence was installed |
internalErrors |
number of internal errors |
sS7Errors |
number of SS7 errors |
sipErrors |
number of SIP Operation errors |
answeredCalls |
number of calls for which R-IM-SSF received an {{Answer}} |
noAnswerCalls |
number of calls for which R-IM-SSF received a {{NoAnswer}} |
busyCalls |
number of calls for which R-IM-SSF received a {{Busy}} |
abandonCalls |
number of calls for which R-IM-SSF received an {{Abandon}} |
announcements |
number of announcements played |
cDRWriteFailures |
number of calls for which R-IM-SSF failed to write a CDR while the CDR RA was enabled |
cDRsNotWritten |
number of calls for which R-IM-SSF failed to write a CDR because the CDR RA was not enabled |
Parameter sets
The R-IM-SSF accumulates usage statistics on a per-protocol basis. Each R-IM-SSF SBB named for a specific IN protocol accumulates usage statistics for that protocol. The following parameter sets accumulate usage statistics for the protocol named by the SBB:
SLEE-Usage.Services.ServiceID\[name=R-IM-SSF,vendor=OpenCloud,version={space-metadata-from:rimssf-version}\].SbbID\[name=rimssf.cap2.sbb,vendor=OpenCloud,version={space-metadata-from:rimssf-version}\].(default)
SLEE-Usage.Services.ServiceID\[name=R-IM-SSF,vendor=OpenCloud,version={space-metadata-from:rimssf-version}\].SbbID\[name=rimssf.cap3.sbb,vendor=OpenCloud,version={space-metadata-from:rimssf-version}\].(default)
SLEE-Usage.Services.ServiceID\[name=R-IM-SSF,vendor=OpenCloud,version={space-metadata-from:rimssf-version}\].SbbID\[name=rimssf.inap.sbb,vendor=OpenCloud,version={space-metadata-from:rimssf-version}\].(default)
R-IM-SSF Alarms
The R-IM-SSF may raise the following two alarms:
Alarm Type | Alarm Instance ID | Alarm level | Description | Raised if… |
---|---|---|---|---|
UnlicensedComponent |
Name of resource adaptor entity providing R-IM-SSF management |
CRITICAL |
R-IM-SSF is not active. Check that there is a valid license for Rhino-R-IM-SSF, and that resource adaptor entity |
…the R-IM-SSF is triggered by the SIS, but the R-IM-SSF is not licensed. |
nolicense |
originating or terminating |
CRITICAL |
No license to process |
…the R-IM-SSF is triggered by the SIS, but the R-IM-SSF is not licensed. |
missing-config-profile-table |
rimssf-configuration-profile-table |
CRITICAL |
Configuration profile table |
…the R-IM-SSF is triggered by the SIS, but the profile table containing general configuration information for the R-IM-SSF does not exist. |
missing-config-profile |
rimssf-configuration-profile |
CRITICAL |
Configuration profile |
…the R-IM-SSF is triggered by the SIS, but the profile containing general configuration information for the R-IM-SSF does not exist. |
missing-service-config-profile-table |
rimssf-service-configuration-profile-table |
CRITICAL |
Service configuration profile table |
…the R-IM-SSF is triggered by the SIS, but the profile table containing SIP-AS configuration information does not exist. |
missing-invite-config-profile-table |
rimssf-invite-builder-profile-table |
CRITICAL |
INVITE Builder Configuration profile table |
…the R-IM-SSF is triggered by the SIS, but the profile table containing INVITE builder configuration information does not exist. |
missing-sdp-config-profile-table |
rimssf-sdp-builder-profile-table |
CRITICAL |
SDP Builder Configuration profile table |
…the R-IM-SSF is triggered by the SIS, but the profile table containing SDP builder configuration information does not exist. |
cdr |
n/a |
CRITICAL |
Failed to write a CDR. |
…the R-IM-SSF fails to write a call detail record. |
Threshold-based alarms
You can define your own custom alarms using Rhino’s threshold based alarm feature — see Threshold Alarms in the Rhino Administration and Deployment Guide. |
Using the R-IM-SSF
Below are instructions for using the R-IM-SSF.
Including the RIM-SSF in a service composition
Before you can use the R-IM-SSF in a service composition you must create a service reference in your SIS IN instance. Use the sis-console
command createlocalserviceref
to do this (see 1 Creating Local Service References):
[Rhino@localhost (#1)] createlocalserviceref sis-in R-IM-SSF "name=R-IM-SSF,vendor=OpenCloud,version=3.0" Created service reference R-IM-SSF for local SLEE service ServiceID[name=R-IM-SSF,vendor=OpenCloud,version=3.0]
Supporting more than one R-IM-SSF use in a service composition
The rimssf-service-configuration-profile-table
, rimssf-invite-builder-profile-table
and rimssf-sdp-builder-profile-table
tables are keyed on the ServiceKey
. So, one can define many records in these tables with the ServiceKey
= <value that corresponds to a service>
and use a SIS signaling interceptor to update the ServiceKey
in the InitialDP
before the R-IM-SSF is triggered.
Rate limiting the R-IM-SSF
The R-IM-SSF defines a custom rate limiter endpoint, rimssf-triggers
. By default this limiter endpoint is not associated with a limiter. You can create a limiter in the SIS using the sis-console
, and associate it with the R-IM-SSF limiter endpoint if you wish.
[Rhino@localhost (#0)] listlimiterendpoints RAEntity/rimssf-cdr/Input RAEntity/rimssf_management/Input RAEntity/rimssf_management/rimssf-triggers RAEntity/sis-cap/Input RAEntity/sis-cap/inbound RAEntity/sis-inap/Input RAEntity/sis-inap/inbound RAEntity/sis-sip/Input RAEntity/sis-sip/inbound
Changelog
R-IM-SSF SIS Module 3.0.0.1 * Fix `rimssf_management` RA to not unregister MBeans during declarative config import. (VOLTE-9370) R-IM-SSF SIS Module 3.0.0.1 * This release is built on and requires JDK 11. It can be deployed on Rhino 3.0. R-IM-SSF SIS Module 1.4.2.4 * Handle crossover of incoming PRACK and outgoing 200 (PRX-219) * Handle crossover of incoming 200/BYE and outgoing BYE within Rhino more cleanly (PRX-101) R-IM-SSF SIS Module 1.4.2.2 * Updated installer to support SIS-2.5.3 in addition to 2.5.2 (PRX-166) * Fixed some cases where an incoming BYE request during user interaction may not have received a response. R-IM-SSF SIS Module 1.4.2.1 * Migrated to CGIN 1.5.2. R-IM-SSF SIS Module 1.4.0.12 * Behaviour on call abandon has been modified. If the IN call is abandoned, as well as a CANCEL being sent on the outgoing SIP dialog, a 487 error response will also be sent on any incoming SIP dialogs for call legs. This ensures that all SIP dialogs are terminated properly. * An EventReportBCSM event for the tAbandon EDP was accidentally being ignored. This is now fixed. R-IM-SSF SIS Module 1.4.0.10 * Fixed behaviour on IN dialog abort. Incoming SIP dialogs will no longer simply be invalidated. Incoming INVITEs that have not yet had a final response will be responded to with a 500 Internal Server Error. For confirmed dialogs, a BYE will be sent. R-IM-SSF SIS Module 1.4.0.9 * Fixed a state machine issue dealing with ACK and BYE when call monitoring completes when the call is answered. * Fixed an issue dealing with IN dialog abort while waiting for an ACK after answer. R-IM-SSF SIS Module 1.4.0.8 * Incoming INVITEs with a From header containing the anonymous URI will now be handled correctly. R-IM-SSF SIS Module 1.4.0.7 * Added a new option to the SIP-AS configuration for a service key that determines if the R-IM-SSF will do any number normalisation when mapping protocol messages between the IN and SIP. * Added new profile table, management MBean, and configuration commands to configure options for network initiated call. Added configuration option that determines in the R-IM-SSF will do any number normalisation when mapping protocol messages from SIP to IN for network initiated calls. * Fixed an issue setting the ResetTimer timeout configuration parameter to 0. * Fixed potential security exceptions when accessing persistent state. R-IM-SSF SIS Module 1.4.0.6 * The R-IM-SSF will no longer accept and try to process IN dialogs for which it does not recognise the application context. R-IM-SSF SIS Module 1.4.0.5 * Updated to cgin-connectivity 1.5.0-protocol-patches R-IM-SSF SIS Module 1.4.0.4 * The main R-IM-SSF configuration profile has a new option that specifies if the R-IM-SSF will always send a Connect operation to route a call (the previous behaviour), or will send a Connect or Continue depending on whether or not the SIP-AS changes the A or B party numbers when forwarding the INVITE. * The prefix in a prefix announcement mapping is now stored in its original form as a string rather than being converted to a number. This means that any leading zeros are preserved, and also that the digits '#' and '*' can be used if necessary. * User interaction is now supported using an MRF if the MSC responds to an Establish Temporary Connection operation request with an MGCP INVITE. * Fixed issues with some R-IM-SSF management commands not working properly. * Fixed a NullPointerException when the R-IM-SSF is invoked if the Management Resource Adaptor is not active. * Fixed NullPointerException when attempting to raise an alarm after a CDR write failure. R-IM-SSF SIS Module 1.4.0.2 (2013-02-02 23:20:26 +1300) * Updated to cgin-connectivity 1.5.* * The value used for the applicationTimer dp-specific criteria when arming the o/tNoAnswer EDP is now a configurable option. * The o/tAbandon EDP armed by the RequestReportBCSMEvent operation when using CAPv2 will now correctly use the Notify & Continue arming mode, as Interrupted mode is not supported for this EDP in CAPv2. * Fixed an issue where the CalledPartyBCDNumber in CAP originating BCSM triggers was not being recognised. * Revised usage parameters collected by the R-IM-SSF. In particular, the "EndedByASCallsCounter" has been removed as it's no longer easily possible in some cases to determine a specific reason for call termination. R-IM-SSF SIS Module 1.3.0.0 (2011-09-26 10:22:41 +1300) * Updated to cgin-connectivity 1.4.* R-IM-SSF SIS Module 1.2.0.1 (2011-04-20 13:05:10 +1200) * Updated to cgin-connectivity 1.3.* * Updated to use configured CountryCode to create SIP URIs from Calling and Called Party Numbers. * Updated to use original Calling and Called Party Numbers settings where possible to create the forwarding and forwarded party numbers from incoming SIP URIs. R-IM-SSF SIS Module 1.1.0 (2010-08-30 17:44:44 +1200) * Initial release.