Application Parameters

DSG-SCP Application Configuration

Top-level per-instance application parameters are defined in the parameters section of the DSG-SCP configuration. Each parameter must have a name and a value.

A sample application parameters configuration might be:

    <application name="<application instance name>" module="DsgScpApp">
      ...
      <parameters>
        <parameter name="trace_level" value="1" />
        <parameter name="trace_level_max" value="1" />
        <parameter name="trace_per_second" value="1" />
        <parameter name="retention_count" value="20" />
        <parameter name="edr_enabled" value="1" />
        <parameter name="edr_app_name" value="EDR" />
        <parameter name="default_edr_stream_key" value="n2dsg" />
        <parameter name="hlr_sigtran_app_name" value="SIGTRAN-HLR" />
        <parameter name="hlr_gt_digits" value="00649900000001" />
        <parameter name="diameter_app_name" value="diameter" />
        <parameter name="diameter_sid_prefix" value="N2DSG" />
        <parameter name="diameter_timeout_tx" value="2.0" />
        <parameter name="diameter_use_mscc" value="1" />
        <parameter name="diameter_send_msisdn" value="1" />
        <parameter name="diameter_send_imsi" value="0" />
        <parameter name="diameter_send_subscription_id" value="1" />
        <parameter name="diameter_send_subscription_id_extension" value="1" />
        <parameter name="diameter_default_rsu_seconds" value="120" />
        <parameter name="diameter_default_service_context_id" value="n2dsg@nsquared.nz" />
        <parameter name="diameter_rounding_type" value="round" />
        <parameter name="diameter_split_edrs" value="1" />
        <parameter name="cfnr_handling" value="continue" />
        <parameter name="cfu_handling" value="continue" />
        <parameter name="time_mismatch_mode" value="suppress" />
        <parameter name="time_mismatch_grace_ds" value="10" />
        <parameter name="notification_app_name_default" value="SMPP"/>
        <parameter name="notification_from_default" value="123"/>
      </parameters>
      ...

Configuration Details

The available parameter types for a DSG-SCP Application instance are:

Attribute Type Description
parameters Array Array of name = value Parameters for this Application instance.
"trace_level" Integer Set to 1 to enable DEBUG tracing associated with call processing.
Set to 2 to enable DUMP tracing associated with call processing.
Set to 3 to enable SPAM tracing associated with call processing.
The DEBUG setting should be used with caution in a high-traffic environment, as it will cause additional system loading and reduce overall processing capability.
The DUMP and SPAM settings should not be used in a high-traffic environment.
(Default = 0, do not activate tracing).
"trace_level_max" Integer This is a hard cap for trace level enabled dynamically during operation, e.g. via tracing traps or via dynamic change to trace_level using the administration GUI.
This is intended to protect production systems from excessive tracing overheads.
It is determined at startup time and cannot be modified.
Set 0 = none, 1 = debug, 2 = dump, 3 = spam.
(Default = one level higher than the initial value of trace_level)
"trace_per_second" Integer The maximum number of instances for this application which may have their instance trace log enabled in any given second. If this value is reached, then subsequent requests to activate tracing will be ignored until the start of a new clock second.
Values above 1 should be used with care in production systems.
(Default = 1)
"retention_count" Integer The number of most-recent traced dialogs to retain in-memory for monitoring.
(Default = 50).
"edr_enabled" YES / NO / 1 / 0 Should EDR file-writing be enabled?
(Default = NO, do not write EDR files).
"edr_app_name" String Name of the EdrApp application which will perform the write-to-disk for EDRs.
(Default = EDR)
"default_edr_stream_key" String The default EDR stream key that will be used for any EDRs generated by this application.
Most applications will use this default EDR stream key. However, custom service logic or custom configuration may use an alternate stream key.
All EDRs written to the same stream key and processed by the same EdrApp will be interleaved within one file.
The target EdrApp must be explicitly configured to expect the exact stream key.
(Default = [Varies per Application])
"min_grant_secs" 2 - 120 The shortest grant (in seconds) which the service logic (typically instructed by the external OCS) will be permitted to apply in real-time. Any attempt by the service logic (or OCS) to use a lower value thyan this will cause the charged call processing to be aborted.
Very short grant periods will cause significantly increased call processing overheads. The shortest allowable grant period must be at least one second higher than the configured `service_logic_ms` processing window.
(Default = 5 seconds).
"service_logic_ms" 10 - 5000 The limit (in milliseconds) in which service logic must perform its processing and control decisions for real-time SCP call control. This must be sufficiently large to allow for access to external entities, e.g. Database Lookup, Diameter Requests, etc.
This value must be at least 1000 milliseconds lower than the configured `min_grant_secs` to avoid the possibility of service logic taking longer to process than the grant duration.
(Default = 3500 milliseconds).
"correlation_id_ms" 10 - 5000 The limit (in milliseconds) in which the SigtranApp must return our correlation ID when we request one for including in the EstablishTemporaryConnection for an off-switch SRP interaction.
(Default = 1500 milliseconds).
"default_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.
Individual SSP models may override this value.
(Default = 500 milliseconds).
"default_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.
For an SRP definition, this parameter adds a margin on top of max_pa_secs or max_pacui_secs to allow for network/processing delay.
Individual SSP models may override this value.
Individual SRP definitions may override this value.
(Default = 3000 milliseconds).
"default_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.
Individual SSP models may override this value.
(Default = 7200 seconds).
"default_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.
Individual SSP models may override this value.
(Default = 86400 seconds).
"default_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.
Individual SSP models may override this value.
(Default = 500 milliseconds).
"default_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.
Individual SSP models may override this value.
(Default = 1000 milliseconds).
"default_max_pa_secs" 5 - 3600 This is the maximum time allowed duration of interaction resulting from sending PlayAnnouncement to this (on-switch or external) SRP. The SRP connection will be aborted if SpecializedResourceReport is not received within this time.
The additional global TCAP round-trip allowance tcap_margin_ms will be added to this value.
Individual SRP definitions may override this value.
(Default = 300 seconds).
"default_max_pacui_secs" 5 - 3600 This is the maximum time allowed duration of interaction resulting from sending PromptAndCollectUserInformation to this (on-switch or external) SRP. The SRP connection will be aborted if PromptAndCollectUserInformationResult is not received within this time.
The additional global TCAP round-trip allowance tcap_margin_ms will be added to this value.
Individual SRP definitions may override this value.
(Default = 300 seconds).
"default_max_etc_ms" 10 - 5000 This is the maximum time that the SCP layer will allow between sending EstablishTemporaryConnection to the SSP and receiving AssistRequestInstructions from the SRP. The SRP connection process will be aborted if the ARI is not received within this time window.
Individual SRP definitions may override this value.
(Default = 4000 milliseconds).
"edr_initialdp_key" 0 / 1 / yes / no Include the derived InitialDP IDP_KEY field in EDRs?
(Default = 0, not included).
"edr_initialdp_extended" 0 / 1 / yes / no Include extended InitialDP fields in INITIALDP event EDRs?
(Default = 0, not included).
"hlr_sigtran_app_name" String Conditional The name of a configured N2SVCD application instance of SigtranApp which can route to the HLR for sending AnyTimeInterrogationRequest. Such messages can be sent by the DSG-SCP application during external action processing.
Must be provided if any other hlr_* parameters are provided.
If not provided, no AnyTimeInterrogationRequest messages may be sent.
"hlr_ri" 0 or 1 The Routing Indicator for routing AnyTimeInterrogationRequest to the HLR. Possible values are:
  • `0` - route on Global Title
  • `1` - route on Point Code and Subsystem Number
(Default = 0, route on Global Title).
"hlr_gt_digits" Hex String Conditional The destination SCCP Global Title for routing AnyTimeInterrogationRequest to the HLR.
Must be provided if hlr_sigtran_app_name is provided and hlr_ri is 0.
"hlr_gt_noa" 0..4 The destination SCCP Global Title Nature of Address for routing AnyTimeInterrogationRequest to the HLR. Only applicable when hlr_ri is 0. Possible values are:
  • `0` - Unknown
  • `1` - Subscriber Number
  • `2` - Reserved (National)
  • `3` - National Significant
  • `4` - International
(Default = 0, Unknown).
"hlr_gt_np" 0..4 The destination SCCP Global Title Numbering Plan for routing AnyTimeInterrogationRequest to the HLR. Only applicable when hlr_ri is 0. Possible values are:
  • `0` - Unknown
  • `1` - ISDN/telephony (E.163, E.164)
  • `2` - Generic
  • `3` - Data (X.121)
  • `4` - Telex (F.69)
  • `5` - Maritime (E.210, E.211)
  • `6` - Land mobile (E.212)
  • `7` - ISDN/mobile (E.214)
  • `14` - Private or network-specific
(Default = 0, Unknown).
"hlr_gt_tt" 0..15 The destination SCCP Global Title Translation Type for routing AnyTimeInterrogationRequest to the HLR. Only applicable when hlr_ri is 0. Refer to Q.713 for applicable values.
(Default = 0).
"hlr_pc" Positive Integer Conditional The destination SCCP Point Code for routing AnyTimeInterrogationRequest to the HLR.
Must be provided if hlr_sigtran_app_name is provided and hlr_ri is 1.
"hlr_ssn" 1 - 255 The destination SCCP SubSystem Number for routing AnyTimeInterrogationRequest to the HLR.
Only applicable when hlr_ri is 1. Refer to Q.713 for applicable values.
(Default = 7).
"hlr_timer_secs" Positive Float The number of seconds to wait for a response from the HLR when sending AnyTimeInterrogationRequest
(Default = 3.0).
"diameter_app_name" String [Required] The configured N2SVCD name for the Diameter application to use for communicating with the Diameter server.
"diameter_sid_prefix" String The prefix to use for Diameter Session-Id values generated. Session-Id values are generated as <prefix>:<application name>:<unique digits>.
(Default = N2DSG).
"diameter_timeout_tx" Float The number of seconds to wait for a response from the Diameter server for credit control requests. Must be a positive integer or float value.
(Default = 2.0 seconds).
"diameter_use_mscc" Boolean Whether to put rating AVPs inside a Diameter Multiple-Services-Credit-Control AVP or not.
If set to false, rating AVPs will be placed at the root level.
(Default = true).
"diameter_send_msisdn" Boolean Whether to send the subscriber MSISDN (derived as per Subscriber Selection to the OCS in Diameter requests.
At least one of diameter_send_msisdn and diameter_send_imsi must be enabled.
If no suitable subscriber MSISDN is provided in the received `InitialDP`, the call will be rejected.
(Default = true).
"diameter_send_imsi" Boolean Whether to send the received subscriber IMSI to the OCS in Diameter requests.
At least one of diameter_send_msisdn and diameter_send_imsi must be enabled.
If no IMSI is provided in the received `InitialDP`, the call will be rejected.
(Default = false).
"diameter_send_subscription_id" Boolean Whether to send subscriber information inside a Diameter Subscription-Id AVP or not.
Should be enabled for strict compatibility with RFC 4006.
At least one of diameter_send_subscription_id and diameter_send_subscription_id_extension must be enabled.
(Default = true).
"diameter_send_subscription_id_extension" Boolean Whether to send subscriber information inside a Diameter Subscription-Id-Extension AVP or not.
Should be enabled for strict compatibility with RFC 8506.
At least one of diameter_send_subscription_id and diameter_send_subscription_id_extension must be enabled.
(Default = false).
"diameter_default_rsu_seconds" Integer The number of seconds to request by default in Diameter messages if no selector rule applies.
(Default = 60 seconds).
"diameter_default_service_context_id" Integer The Diameter Service-Context-Id value to send if no selector rule applies.
(Default = n2dsg@nsquared.nz).
"diameter_rounding_type" String The rounding method to apply for times provided by the network, where required. Times that are already an even number of seconds (including 0) will not be modified. Possible values are:
  • round - round the time to the nearest whole second.
  • floor - round the time down to the nearest whole second.
  • ceiling - round the time up to the nearest whole second.
(Default = ceiling).
"diameter_split_edrs" Integer Whether to write a single EDR containing both the Diameter request and response details (0) or whether to write separate EDRs for the Diameter request and response (1). (Default = 0).
"cfnr_handling" String The handling to apply when the network indicates that call forwarding applies during an ERBCSM for a terminating call (late call forwarding). Some network elements require that the call attempt have an explicit Continue instruction in order to allow call forwarding to operate. Possible values are:
  • same - continue call processing as per non-forwarding behaviour. In practical terms, this will send a ReleaseCall instruction for busy and not-answered terminating calls.
  • continue - instruct the network to continue unconditionally immediately. This will send a Continue instruction for busy and not-answered terminating calls, but will not have any further billing interaction.
(Default = continue).
"cfu_handling" String The handling to apply when the network indicates that call forwarding applies during an InitialDP for a terminating call (early call forwarding). As the terminating leg does not leave the home network in this case, some operators prefer that such call attempts are not sent for normal processing or billing. Possible values are:
  • same - continue call processing as per non-forwarding behaviour. This will result in a normal billed call attempt for this terminating leg.
  • continue - instruct the network to continue unconditionally immediately. In practice, this is identical to specifying a billing bypass rule with a selector rule condition of cf_pending="1" and a billing bypass rule action of action="continue_free".
(Default = continue).
"connect_send_original" Boolean Whether to send the original called party digits in Connect messages. This may be inserted this value was present in the received InitialDP (in which case the value will be copied directly) or when number translation or redirection occurs (in which case the value inserted will be taken from either the calledPartyBCDNumber or the calledPartyNumber field in the received InitialDP, as appropriate).
(Default = 1).
"connect_send_redirecting" Boolean Whether to send the redirecting party digits in Connect messages. This may be inserted when number translation or redirection occurs (in which case the value inserted will be the denormalised value of the selected subscriber) or when a redirectingPartyID is present in the received InitialDP (in which case the value will be copied directly).
(Default = 1).
"connect_send_redirection" Boolean Whether to send redirection information in Connect messages. This may be inserted when number translation or redirection occurs (in which case the values inserted will be created) or when redirectingInformation is present in the received InitialDP (in which case the values will be copied directly). Note that in both cases the redirection count sent may be incremented as per the connect_increment_redirection option.
(Default = 1).
"connect_increment_redirection"xxxxxxxx Boolean Whether to increment the received redirection information counter in Connect messages when number translation or redirection occurs.
(Default = 1).
"time_mismatch_mode" String The time reported to the billing engine for a call is taken straight from the value provided by the serving switch However, this value may sometimes not actually reflect the elapsed wall time, particularly when dealing with roaming partners. The DSG-SCP allows these situations to be highlighted for reporting purposes using the time_mismatch_mode parameter when the mismatch is outside the allowable variance given by the time_mismatch_grace_ds parameter. Possible values are:
  • suppress - Ignore mismatches between the network-reported time and the wall time.
  • report - Raise a warning-level alarm with details of the time mismatch.
  • record - As for report, but also write a PROBLEM EDR with details of the time mismatch.
Note that a GRACE EDR is not created for time mismatches, as the time was not granted by the DSG-SCP. (Default = record).
"time_mismatch_grace_ds" Integer Used in conjunction with the time_mismatch_mode parameter, this is the number of deciseconds of variation that is allowable when comparing the reported time from the network against the wall clock time.
Note that this parameter has no effect if the time_mismatch_mode parameter is set to suppress.
(Default = 10).
"notification_app_name_default" String Used as a default value for notification message app names used to send notifications. Individual notification definitions may override this parameter. If not defined, all notification messages must specify an app parameter.
(Default = not used).
"notification_from_default" String Used as a default value for notification message from addresses. Individual notification definitions may override this parameter. If not defined, all notification messages must specify a from parameter.
(Default = not used).
"cug_db_app_name" String The N2SVCD application name to use for CUG queries to the database. If not defined, CUG processing will not be available. (Default = not used).