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:

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:

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.