SCP-Specific Configuration
Introduction
In addition to the core CUG configuration, the CUG SCP SVC library allows for additional INAP-specific configuration to be specified.
Default CUG Configuration
The below CUG configuration values will be used at runtime as a default. Any user-defined values for these fields will:
- be prepended to the rule list for rules keys such as
match_found
. - replace the value for simple parameters such as
apply_lists
.
Default CUG Actions Configuration
<configuration allow_sc_user="0"
allow_match_sc="1">
<match_found>
<rule action="continue"/>
</match_found>
<no_match_found>
<rule action="continue"/>
</no_match_found>
<no_user_found>
<rule action="continue"/>
</no_user_found>
<not_allowed_list>
<rule action="release" cause="31"/>
</not_allowed_list>
<not_allowed_user>
<rule action="release" cause="31"/>
</not_allowed_user>
</configuration>
Default CUG Lookup Configuration
<configuration allow_sc_user="0"
allow_match_sc="1">
<user_number>
<rule source="input.normalised_calling_party"/>
</user_number>
<match_number>
<rule source="input.normalised_called_party"/>
</match_number>
</configuration>
Action Handling
CUG SVC rules, in addition to the parameters for rule selection, require the
specification of a single action
to take when a rule is matched during processing. Only one action will be applied
per call.
The following specific actions are available for CUG SCP SVC processing:
Action | Required Parameters |
Optional Parameters |
Announcement? | FCI/SCI? | Description |
---|---|---|---|---|---|
continue |
- | - | Yes | Yes | Continue the call normally with either an INAP Continue or Connect. No monitoring of the call will occur. |
release |
- | cause |
Yes | No | Release the call immediately with the given cause . |
divert |
divert_to |
- | Yes | Yes | Terminate the call to the provided divert_to . No monitoring of the call will occur. |
abort |
- | - | No | No | Send a TCAP Abort to end the call immediately. |
For actions using continue
handling, a Connect will be sent instead of a Continue if any of the following apply:
- Number translation of the B-party has occurred (e.g. a short code has been translated into a long number).
- A different calling party is to be presented to the called party (i.e. the caller’s short code).
- The global
FORCE_CONNECT
is set to a truthy value.
Additional selector rule parameters are also available when specifying CUG SVC SCP rules.
Attribute | Type | Description |
---|---|---|
service.originating |
Boolean | Whether this rule applies for originating calls. (Default: true ) |
service.forwarding |
Boolean | Whether this rule applies for forwarding calls. (Default: true ) |
service.terminating |
Boolean | Whether this rule applies for terminating calls. (Default: true ) |
cause |
Integer | The release cause to send to the network if the action releases the call.(Default: as per SSP model default_release_cause configuration) |
divert_to |
String | [Required with action = divert or announcement_divert ] The normalised destination digits to connect the call to, if appropriate to the action . |
fci or sci |
String | An FCI or SCI message name to send when this rule applies, if applicable to the action . |
announcement |
String | An announcement name to play when this rule applies, if applicable to the action . The announcement will occur before the action is applied. |
Announcements
Overview
As part of handling defined action rules for CUG SVC SCP call control, a pre-configured announcement may be played to
the calling party. Such interactions are configured with a name
so that they may be invoked by the applicable action
rules.
Announcements may be played prior to any action other than abort
.
Announcements are configured in the LogicApp global ANNOUNCEMENTS
. A sample announcement configuration might be:
<application name="N2CUG-Logic" module="LogicApp">
...
<config>
<services>
<service module="LhoScpApp::LhoScpLuaService">
...
<globals>
<global name="ANNOUNCEMENTS" type="array">
<announcement name="ann1" srf_name="OnSwitch" announcement_id="25"/>
<announcement name="ann2" srf_name="OnSwitch" announcement_id="26"/>
</global>
Announcement Configuration Details
Each announcement
can support the following attributes:
Attribute | Type | Description |
---|---|---|
name |
String | [Required] The unique name for this announcement. Used in rule actions to specify the announcement to play. |
srf_name |
String | [Required] The SRF name (as configured in the LhoScpApp ) to play the announcement through. |
announcement_id |
Integer | [Required] The announcement ID to play to the caller, as configured on the SRF. |
FCI/SCI Messages
Overview
As part of handling defined action rules for CUG SVC SCP call control, a pre-configured
FurnishChargingInformation
or SendChargingInformation
message may be sent. Such messages are configured
with a name
so that they may be invoked by the applicable action rules.
Both FCI and SCI messages may only be sent along with a Connect
, Continue
, or PlayAnnouncement
operation,
and therefore may only be specified against action rules that allow the call to continue in this fashion.
FCIs and SCIs are configured in the LogicApp globals FCIS
and SCIS
, respectively. A sample FCI/SCI configuration might be:
<application name="N2CUG-Logic" module="LogicApp">
...
<config>
<services>
<service module="LhoScpApp::LhoScpLuaService">
...
<globals>
<global name="SCIS" type="array">
<!--
01 64 00 # value
-->
<sci name="sci-100">016400</sci>
<sci name="sci-101">016500</sci>
</global>
<global name="FCIS" type="array">
<!--
a0 0f # constructed, tag 0 (fCIBCCCAMELsequence1), length 15
80 08 # primitive, tag 0 (freeFormatData), length 8
12 34 56 78 90 ab cd ef # value
a1 03 # constructed, tag 1 (partyToCharge), length 3
80 01 # primitive, tag 0 (sendingSideID), length 1
01 # value
-->
<fci name="fci-x">a00f80081234567890abcdefa103800101</fci> <!-- 1234567890abcdef -->
</global>
In the above, four FCI/SCI messages are defined and would have the following configuration:
Name | Data |
---|---|
fci-x |
(freeform hexadecimal data as configured) |
sci-100 |
Charging characteristics 0x0164 , party to charge 01 . |
sci-101 |
Charging characteristics 0x0165 , party to charge 01 . |
FCI/SCI Configuration Details
Each fci
or sci
can support the following attributes:
Attribute | Type | Description |
---|---|---|
name |
String | [Required] The unique name for this FCI/SCI message. Used in rule actions to specify the message to send. |
(data) | Hexadecimal String | The hexadecimal data of the message. For SCI messages, this is the content of the sCIBillingChargingCharacteristics field, and the partyToCharge.sendingSideID accompanying it is always set to 01 . For FCI messages, this is the entire FCIBillingChargingCharacteristics field. In the latter case, some INAP variants (e.g. CAMEL) specify that this field is further divided into sub-fields, e.g. fCIBCCCAMELsequence1 , as per the example below. |
FCI Data
As indicated in the FCI/SCI configuration details, the FCI data value is used as the entire
FCI payload within the FCIBillingChargingCharacteristics
field.
Other INAP variants, such as CAMEL, have this parameter subdivided into other fields. As an example, if CAMEL2 were used
with the FCI definition data of a00f80081234567890abcdefa103800101
, this would decode to:
a0 0f # constructed, tag 0 (fCIBCCCAMELsequence1), length 15
80 08 # primitive, tag 0 (freeFormatData), length 8
12 34 56 78 90 ab cd ef # value
a1 03 # constructed, tag 1 (partyToCharge), length 3
80 01 # primitive, tag 0 (sendingSideID), length 1
01 # value
Available Fields
Input Context
The input context that is supplied for use with the CUG SVC SCP is as per the
N2SCP HANDLE-ALEG-IDP
message, with the initialdp_arg
field populated as per the relevant
INAP ASN.1.
Fields within this context should be referred to with the prefix input.
, e.g. input.normalised_calling_party
or
input.initialdp_arg.serviceKey
.
Service Context
The service context for the CUG SVC SCP is populated with the following fields:
Field | Type | Description |
---|---|---|
pending_tn |
String | The current normalised destination number the call will terminate to. Set initially from input.pending_tn and updated as required during CUG processing. |
originating |
Boolean | Whether the call is an originating leg. Set to true for both originating and forwarding calls. |
forwarding |
Boolean | Whether the call is a forwarding leg. Set to true for forwarding calls. |
terminating |
Boolean | Whether the call is a terminating leg. Set to true for both terminating calls. |
force_connect |
Boolean | Whether a Connect message will be sent (instead of a Continue) if the call is allowed. Set initially to the value of the global FORCE_CONNECT and updated as required during CUG processing. |
redirection_ind |
Boolean | The Q.763 redirection indicator to be sent with a Connect if the call is allowed. Set as required during CUG processing. |
calling_digits |
Boolean | The calling party digits to be sent with a Connect if the call is allowed. Set as required during CUG processing. |
cug |
Table | The CUG lookup details. Set only after a CUG lookup is performed. |