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_directory" value="/var/tmp/edr" />
        <parameter name="edr_prefix" value="n2dsg" />
        <parameter name="edr_hostname" value="hostname" />
        <parameter name="edr_retry_interval" value="60" />
        <parameter name="edr_report_interval" value="10" />
        <parameter name="edr_num_files_shown" value="10" />
	    <parameter name="edr_max_file_edrs" value="10000" />
        <parameter name="edr_max_file_secs" value="600" />
	    <parameter name="edr_max_flush_edrs" value="10" />
        <parameter name="edr_max_flush_secs" value="10" />
        <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" />
      </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_directory String Directory where EDR files will be written.
(Default = /var/lib/n2svcd/edrs).
.edr_prefix String Prefix for EDR filenames.
(Default = n2dsg).
.edr_hostname String Hostname for EDR filenames.
(Default = Determined from System Configuration).
.edr_retry_interval Integer How often do we attempt to retry and create a new EDR output file after an attempt to create/write a new file has failed.
(Default = 30 seconds).
.edr_report_interval Integer How often does the EDR Writer child process report the current file size and EDR count back to the parent process for Management purposes.
(Default = 5 seconds).
.edr_num_files_shown Integer How many recent EDR files does the Toll-Free application display in the Management Interface.
(Default = 20 files).
.edr_max_file_edrs Integer How many EDRs can be written to an EDR file before we close the file and start a new file.
(Default = 2000 EDRs).
.edr_max_file_secs Integer For how long can an EDR file be open before we close the file and start a new file.
(Default = 300 seconds).
.edr_max_flush_edrs Integer How many EDRs can be written to an EDR file before we perform a disk I/O flush on the file.
(Default = 20 EDRs).
.edr_max_flush_secs Integer How long an EDR file can be open before a disk I/O flush is performed on the file.
(Default = 5 seconds).
.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 = 500 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_extended 0 / 1 / yes / no Include IDPX_ extended InitialDP fields in INITIALDP event EDRs?
(Default = 0, not included).
.hlr_sigtran_app_name String The name of a configured n2svcd application instance of SigtranApp which can route to the HLR for sending AnyTimeInterrogationRequest.
(Default = HLR ATI is not available).
.hlr_ssn 1 - 255 The destination SCCP SubSystem Number for routing AnyTimeInterrogationRequest to the HLR.
(Default = HLR ATI is not available).
.hlr_gt_digits Hex String The destination SCCP Global Title for routing AnyTimeInterrogationRequest to the HLR.
(Default = HLR ATI is not available).
.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 an MT 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 MT calls.
  • continue - instruct the network to continue unconditionally immediately. This will send a Continue instruction for busy and not-answered MT 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 an MT 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 MT 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).
.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).