SCP Configuration (SSPs)

SSP Selection

SSP Selectors are used when an InitialDP operation is defined in order to choose the appropriate SSP Model. The configuration for these selectors is within the configssps block:

    ...
      <config>
        ...
        <ssps>
          <!-- SSP selection rules for the DSG-SCP -->
        </ssps>
        ...
      </config>
      ...

Configuration Details

The available configuration items for SSP selection are as below:

Attribute Type Description
.ssps Object Container for the SSP models and selectors.
.models Array Array of model elements defining the supported INAP/CAMEL handling models.
.model Object Provisions a known INAP/CAMEL .
.selectors Array Array of selector elements defining the model selection rules.
.selector Object Provisions a known SSP model selector.

SSP Models

Each SSP Model specifies a description for CAMEL/INAP call-processing behavior.

Each model Object in the config.models Array is configured as follows.

Attribute Type Description
name String [Required] A name for this model, unique within this list.
inap camel1 / camel2 / camel3 / camel4 / cs1 [Required] One of the SSP protocol variants implemented by DsgScpApp.
returned_ac [AC Alias] / Hex Value / copy / none Specify the TCAP Application Context to return to the SSP in response to the InitialDP.
Either a known TCAP AC Alias, or a hex string, or the value copy (copy the received AC) or the value none.
(Default = copy).
clear_abandon_on_answer 0 / 1 Does the SSP consider the Abandon EDP to be cleared when the Answer EDP is encountered?
The CAMEL standard says that this should happen, but not all SSP are compliant.
(Default = depends on inap).
clear_on_final_termination 0 / 1 When sending INAP Connect or INAP Continue in a TCAP END for the purpose of Final Termination, do we also explicitly send RequestReportBCSM to clear (monitor mode = transparent) any armed BCSM EDPs that may still be armed from a previous Attempted Termination, Monitored Termination, or Charged Termination?
(Default = 0, do not clear armed EDPs before Final Termination).
split_rrbcsm_legs 0 / 1 Does the SSP require Leg1 and Leg2 EDPs to be contained in dedicated RRBCSM operations?
This is not required by the standard, but some SSP will Error if this is not done.
(Default = depends on inap).
max_monitored_call_secs 300 - 7200 The is the permitted maximum duration of a "Monitored", which is a call which uses Disconnect ERBCSM to monitor the duration of the call but which does not use the "Charged" call mechanism to perform initial/extension grants.
A Monitored call may use CallInformationReport and or ActivityTest, but in any case this maximum duration still applies.
(Default = 7200 seconds).
max_charged_call_secs 300 - 86400 This is the maximum total granted talk time that the SCP layer will ever permit for a charged call either using ApplyCharging or the CAMEL1 alternative using only ActivityTest. If the service logic (typically instructed by the OCS) attempts to grant a call longer than this duration, the SCP layer will truncate the grant to the configured duration and forcibly terminate the call when that time expires.
(Default = 86400 seconds).
tcap_immediate_ms 10 - 5000 The limit (in milliseconds) within which an "immediate" TCAP component must arrive after another message. For example, at the end of a call we expect any of the following applicable components (CallInformation, EventReportBCSM, ApplyChargingReport) to arrive "immediately" one after the other.
(Default = 500 milliseconds).
tcap_margin_ms 10 - 5000 The grace period (in milliseconds) within which a medium/long-term expected TCAP component may arrive late because of allowance for processing and network time.
Specifically for SSP it allows an (Answer/NoAnswer) EventReportBCSM to arrive slightly after the applicationTimer timeout.
For SSP it also allows the first message at the end of the call (e.g. ApplyChargingReport, EventReportBCSM, or CallInformationReport) to be slightly later than the aChBillingChargingCharacteristics contents strictly specify.
(Default = 500 milliseconds).
ac_crossover_ms 10 - 5000 The limit (in milliseconds) within which an "immediate" TCAP component must arrive after another message. For example, at the end of a call we expect any of the following applicable components (CallInformation, EventReportBCSM, ApplyChargingReport) to arrive "immediately" one after the other.
(Default = 500 milliseconds).
activity_test_result_ms 10 - 5000 The limit (in milliseconds) within which an "immediate" TCAP component must arrive after another message. For example, at the end of a call we expect any of the following applicable components (CallInformation, EventReportBCSM, ApplyChargingReport) to arrive "immediately" one after the other.
(Default = 1000 milliseconds).
release_tone_supported 0 / 1 Does the SSP support playing a tone at the conclusion of the final time grant?
This can only be enabled if the underlying INAP protocol supports it.
(Default = depends on inap).
default_release_tone 0 / 1 Do we play tone by default at the conclusion of the final time grant?
Service logic may override tone-playing on a per-call basis (e.g. fax).
(Default = 0, do not play release tone).
call_information_supported Integer 0 - 31 Does the SSP support CallInformationRequest, and if so then which CIR fields are included in the request. This value is a bit-mask where the following bit fields may be specified:
0x01 (bit 0) => callAttemptElapsedTime is supported.
0x02 (bit 1) => callStopTime is supported.
0x04 (bit 2) => callConnectedElapsedTime is supported.
0x08 (bit 3) => calledAddress is supported.
0x10 (bit 4) => releaseCause is supported.
(Default = depends on inap).
default_call_information_monitored Integer 0 - 31 Do we perform CallInformationRequest by default when using Connect or Continue to terminate a B-Leg using the "Monitored" termination model, and if so then which CIR fields are included in the request. This value is a bit-mask with the same interpretation as for call_information_supported.
(Default = do not use CallInformationReqest for "Monitored" terminations).
default_call_information_charged Integer 0 - 31 Do we perform CallInformationRequest by default when using Connect or Continue to terminate a B-Leg using the "Charged" termination model, and if so then which CIR fields are included in the request. This value is a bit-mask with the same interpretation as for call_information_supported.
(Default = do not use CallInformationReqest for "Charged" terminations).
activity_test_supported 0 - 1 Do we allow service logic and configuration to enable periodic ActivityTest for this SSP model.
(Default = depends on inap).
default_activity_test_monitored Integer 0 - 3600 What is the guaranteed longest duration (in seconds) of inactivity before we will send an ActivityTest by default when using Connect or Continue to terminate a B-Leg using the "Monitored" termination.
A safety buffer is added to this value to allow for latency on the ActivityTestResult.
(Default = do not use ActivityTest for "Monitored" terminations).
default_activity_test_charged Integer 0 - 3600 What is the guaranteed longest duration (in seconds) of inactivity before we will send a gap-filling ActivityTest by default when using Connect or Continue to terminate a B-Leg using the "Charged" termination.
A safety buffer is added to this value to allow for latency on the ActivityTestResult.
(Default = do not use ActivityTest for "Charged" terminations).
default_release_cause 1 - 127 A default ReleaseCause to pass to the SSP in the general case where the service logic does not expressly define it.
(Default = 31).
default_expiry_release_cause 1 - 127 A default ReleaseCause to pass to the SSP for SCP termination after "release at expiry" and the end of the final grant duration, in the case where the service logic does not expressly define it.
(Default = 31).
default_no_answer 1 - 120 A default NoAnswer timeout (in seconds) to enforce within the RRBCSM when arming for NoAnswer in the case where the service logic does not expressly request a user-preferred NoAnswer timeout.
(Default = do not enforce an explicit NoAnswer timer in RRBCSM).
maximum_no_answer 1 - 120 The maximum duration to wait for a ERBCSM in the case where we did not expressly set the NoAnswer timeout in the RRBCSM. If no ERBCSM is received, the call is considered "lost" by the SCP.
This setting is not relevant if default_no_answer is configured.
(Default = 120).
open_tcap_cleanup prearranged / end / releasecall / continue How should we close the SSP TCAP dialog if we believe that call control is over, but the TCAP SSP dialog is still open.
prearranged = Assume pre-arranged END.
end = Send TCAP END with no components.
releasecall = Send INAP/CAP ReleaseCall operation in TCAP END.
continue = Send INAP/CAP Continue operation in TCAP END.
(Default = prearranged).
open_tcap_warning 0 / 1 Should we generate a warning message if we detect the case where we believe that the SSP has entered state "Idle" (i.e. call control is over) but the TCAP SSP dialog is still open.
(Default = 1).

Default SSP Models

Note that for each supported inap, if a user-defined SSP Model of the same is not present, the DsgScpApp will automatically create an SSP Model of the same name.

For example: If there is no SSP Model named camel2, then DsgScpApp will automatically create an SSP Model with the name camel2 with attribute inap = camel2 and all of the corresponding defaults.

INAP Model Defaults

The inap model defaults are as follows:

camel2

Attribute Default
returned_ac camel2 = 04000001003201 (hex)
clear_abandon_on_answer 1
split_rrbcsm_legs 0
release_tone_supported 1
call_information_supported 31 (all fields)
activity_test_supported 1

camel3

Attribute Default
returned_ac camel3 = 04000001150304 (hex)
clear_abandon_on_answer 1
split_rrbcsm_legs 0
release_tone_supported 1
call_information_supported 31 (all fields)
activity_test_supported 1

camel4

Attribute Default
returned_ac camel4 = 04000001170304 (hex)
clear_abandon_on_answer 1
split_rrbcsm_legs 0
release_tone_supported 1
call_information_supported 31 (all fields)
activity_test_supported 1

SSP Selectors

Each SSP Selector defines a rule for choosing the appropriate SSP Model for a received inbound InitialDP operation. The SSP Selectors are checked in order of definition, and the first matching selector is used.

Each selector Object in the config.ssps.selectors Array is configured as follows.

Attribute Type Description
model String [Required] The name of the SSP Model which this selector will choose.
This must be the name of a user-defined or automatically-defaulted SSP Model.
ssp_ac [AC Alias] / Hex Value / none [Required] The inbound TCAP Application Context for InitialDP to match this selector.
Either a known TCAP AC Alias, or a hex string, or the value none (received TCAP-BEGIN containing InitialDP does not have AC).

Default SSP Selectors

Note that for each supported inap, if there is no user-defined SSP Selector mapping to an SSP Model of the same name, the DsgScpApp will automatically create an SSP Selector pointing to that model, using the corresponding Application Context Alias as the ssp_ac.

For example: If there is no SSP Selector for the SSP Model named camel2, then DsgScpApp will automatically create an SSP Selector for the model named camel2 with attribute ssp_ac = camel2.