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 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
[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 (do not send AC).
(Default = depends on inap).
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).
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 = enabled if supported).
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.