SSP Selection
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 config
→ ssps
block:
...
<config>
...
<ssps>
<!-- SSP selection rules for the 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 handling model. |
.release_cause_translation
|
Array | Array of cause elements defining the model-specific release cause translations. |
.cause
|
Object | Provisions a known SSP model release cause translation. |
.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 ScpApp .
|
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 ).
|
trim_called_party_stop_digit
|
Boolean |
When present, should we trim the end of pulsing signal (stop sending) digit (F )
from the InitialDP calledPartyNumber information element's digits?(Default = true , trim the end of pulsing signal digit when present).
|
clear_on_final_termination
|
Boolean |
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 = false , do not clear armed EDPs before Final Termination).
|
split_rrbcsm_legs
|
Boolean |
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 EventReportBCSM and/or CallInformationReport
may be received without an ApplyChargingReport at the end of a charged call while the most recent
ApplyChargingReport is being processed.(Default = 500 milliseconds).
|
activity_test_result_ms
|
10 - 5000
|
The limit (in milliseconds) within which an ActivityTestResult response must arrive
after being requested.(Default = 1000 milliseconds).
|
release_tone_supported
|
Boolean |
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
|
Boolean |
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 = false , do not play release tone).
|
fci_supported
|
Boolean |
Does the SSP support receiving FurnishChargingInformation (FCI) operations?(Default = depends on inap ).
|
sci_supported
|
Boolean |
Does the SSP support receiving SendChargingInformation (SCI) operations?(Default = depends on inap ).
|
interaction_supported
|
Boolean |
Does the SSP support user interaction using either an internal or external SRF? (Default = depends on inap ).
|
pa_pacui_reset_tssf
|
Boolean |
Do we need to send ResetTimer to the SSP (to ensure the SSP's Tssf timer doesn't expire,
and cause the call to be aborted) each time a PlayAnnouncement or
PromptAndCollectUserInformation (PACUI) operation is sent to an SRF?(Default = false , do not send ResetTimer ).
|
call_information_supported
|
0 - 31
|
Does the SSP support CallInformationRequest , and if so then which CIR fields
may be 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
|
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
|
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
|
Boolean |
Do we allow service logic and configuration to enable periodic ActivityTest
for this SSP model.(Default = depends on inap ).
|
default_monitor_interval_secs
|
5 - 600
|
What is the default interval in seconds between ActivityTest requests initated by us for
the purpose of supervising "Monitored" termination calls.(Default = 120 seconds).
|
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_ssp_tcap_warning
|
Boolean |
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 = true ).
|
interaction
|
default / cs1_nokia
|
Controls additional protocol-specific behavior for interactions. Refer to the N-Squared N2SCP CAMEL-INAP Protocol Conformance Statement for details. (Default = default , no additional interaction features is enabled).
|
bparty_beep
|
none / cs1_nokia / cs2_split_leg
|
Does this SSP model support the playing of B-Party after the Answer EDP for a Termination Attempt, and which message sequence will it use. Refer to the N-Squared N2SCP CAMEL-INAP Protocol Conformance Statement for details. Enabling this feature for an SSP does not as-of-itself cause B-Party beep to be applied to a Termination Attempt. The service logic must explicitly request activation of the beep on a per-termination basis. (Default = none , B-Party Beep is Not supported).
|
bparty_beep_id
|
Integer |
If the B-Party beep mechanism uses PlayAnnouncement then this field is required and defines the default
value for the single elementary message ID to be used for this post-answer B-Party beep. The service logic may override this value on a per Termination basis. (Default = none ).
|
rrbcsm_prefix
|
String |
An optional digits prefix to apply to the Destination Routing Address in a termination attempt for which RRBCSM
arming is performed. This is required for some legacy SSPs which do not support RRBCSM EDP reporting on all
trunk groups, and hence which require a trunk group prefix to be applied for Attempt/Monitored/Charged Termination calls. This prefix is applied to the digits after denormalisation has been performed and the NoA has been determined. (Default = none ).
|
force_mfc_on_redirecting_party
|
Boolean |
[CAMEL SSPs only] Whether to use the presence of InitialDP.redirectingPartyId as the MFC indicator.When determining MFC for CAMEL call, the differentiating factor according to the specification is InitialDP.locationInformation as it must be present for MOC and must be
omitted for MFC. An MOC trigger with a redirecting party is technically allowed in CAP3+.However, in order to support non-compliant scenarios such as an IMS trigger converted to CAMEL, the force_mfc_on_redirecting_party parameter can be set to true to
simply use the presence of redirectingPartyId as determination.(Default = false , use locationInformation for CAMEL, use redirectingPartyId for INAP).
|
allow_mfc_bcd_number
|
Boolean |
Whether to accept MFC triggers that provide the called party in the InitialDP.calledPartyBCDNumber field.To support non-compliant scenarios such as an IMS trigger converted to CAMEL, the allow_mfc_bcd_number parameter
can be set to true to allow use of the calledPartyBCDNumber field if it is provided.(Default = false , reject MFC IDPs that do not contain calledPartyNumber.).
|
rade_in_tc_continue
|
Boolean |
[CAMEL2 SSP only] When using CAMEL2, the network has no way to indicate that a call was released due to the releaseAtDurationExceeded flag.By default, the N2IWF will infer this situation based on the following conditions:
releaseAtDuratingExceeded and no further messages are expected.If rade_in_tc_continue is set to true , then an applyChargingReport in a TCAP Continue
will be considered for this handling in the same way as a TCAP End .If detected, call clearance will be handled as per open_tcap_cleanup for the SSP model.(Default = false , CAMEL2 releaseAtDurationExceeded detection applies only to TCAP End messages.).
|
Release Cause Translation
Each SSP Model may specify a set of release cause translations to be applied to release causes specified by service logic. Release cause translation may be necessary if different SSP Models require different release causes to be used in a given scenario.
Note that these translations do not affect the configured model
.default_release_cause
, or the
expiry scenario (including model
.default_expiry_release_cause
).
Each cause
Object in the config
.models
.model
.release_cause_translation
Array is configured as follows.
Attribute | Type | Description |
---|---|---|
replaced
|
1 - 127
|
[Required] A release cause value to replace. |
replacement
|
1 - 127
|
[Required] The release cause value used instead of replaced .
|
Default SSP Models
Note that for each supported inap
, if a user-defined SSP Model of the same is not present,
the ScpApp
will automatically create an SSP Model of the same name.
For example: If there is no SSP Model named camel2
, then ScpApp
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:
camel1
Attribute | Default |
---|---|
returned_ac
|
camel1 = 04000001003200 (hex)
|
clear_abandon_on_answer
|
true
|
split_rrbcsm_legs
|
false
|
release_tone_supported
|
false
|
fci_supported
|
false
|
sci_supported
|
false
|
interaction_supported
|
false
|
call_information_supported
|
false
|
activity_test_supported
|
true
|
camel2
Attribute | Default |
---|---|
returned_ac
|
camel2 = 04000001003201 (hex)
|
clear_abandon_on_answer
|
true
|
split_rrbcsm_legs
|
false
|
release_tone_supported
|
true
|
fci_supported
|
true
|
sci_supported
|
true
|
interaction_supported
|
true
|
call_information_supported
|
23
|
activity_test_supported
|
true
|
camel3
Attribute | Default |
---|---|
returned_ac
|
camel3 = 04000001150304 (hex)
|
clear_abandon_on_answer
|
true
|
split_rrbcsm_legs
|
false
|
release_tone_supported
|
true
|
fci_supported
|
true
|
sci_supported
|
true
|
interaction_supported
|
true
|
call_information_supported
|
23
|
activity_test_supported
|
true
|
camel4
Attribute | Default |
---|---|
returned_ac
|
camel4 = 04000001170304 (hex)
|
clear_abandon_on_answer
|
true
|
split_rrbcsm_legs
|
false
|
release_tone_supported
|
true
|
fci_supported
|
true
|
sci_supported
|
true
|
interaction_supported
|
true
|
call_information_supported
|
23
|
activity_test_supported
|
true
|
cs1
Attribute | Default |
---|---|
returned_ac
|
cs1 = 04000101010000 (hex)
|
clear_abandon_on_answer
|
true
|
split_rrbcsm_legs
|
false
|
release_tone_supported
|
true
|
fci_supported
|
true
|
sci_supported
|
true
|
interaction_supported
|
true
|
call_information_supported
|
31 (all fields)
|
activity_test_supported
|
true
|
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 ScpApp
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 ScpApp
will automatically create an SSP Selector for the model named camel2
with attribute
ssp_ac
= camel2
.