Application Parameters

DSG-SCP Application Configuration

In addition to the common N2SVCD application parameters and the common N2SCP application parameters, an implementation may specify application-specific top-level per-instance configuration defined in the parameters section of the DSG-SCP configuration. Each parameter must have a name and a value.

A sample DSG-SCP application’s parameters configuration might be:

    <application name="<application instance name>" module="DsgScpApp">
      ...
      <parameters>
        <!-- Other common N2SVCD application parameters -->  
        <!-- Other common N2SCP application parameters -->  
        <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 specific DSG-SCP parameter types are:

Attribute Type Description
parameters Array Array of name = value Parameters for this Application instance.
"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_gsm_scf_digits" String Conditional The GSM SCF ID digits of the N2SCP node (normally its SCCP Global Title). Sent to the HLR for AnyTimeInterrogationRequest messages.
Must be provided if any other hlr_* parameters are provided.
"hlr_gsm_scf_noa" 0..6 Conditional The GSM SCF ID Nature of Address for AnyTimeInterrogationRequest messages. Possible values are:
  • `0` - Unknown
  • `1` - International
  • `2` - National Significant
  • `3` - Network Specific
  • `4` - Subscriber
  • `5` - Reserved
  • `6` - Abbreviated
(Default = 1, International).
"hlr_gsm_scf_npi" 0..14 Conditional The GSM SCF ID Number Plan Indicator for AnyTimeInterrogationRequest messages. 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 = 1, ISDN/telephony).
"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 = 4, International).
"hlr_gt_np" 0..14 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 = 1, ISDN/telephony).
"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_close_root" Boolean Whether to close root sessions when the Multiple-Services-Credit-Control sub-session is closed with a Result-Code that is not 2xxx.
If set to false, no Credit-Control-Request (TERMINATE) will be sent in such cases.
(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 may be rejected as per the parameter diameter_require_all_sub_ids.
(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 may be rejected as per the parameter diameter_require_all_sub_ids.
(Default = false).
"diameter_require_all_sub_ids" Boolean Whether to require all forms of subscriber ID specified by diameter_send_msisdn and diameter_send_imsi. If this parameter is true, then a call will be rejected if any of the identifiers configured cannot be populated. If this parameter is false, then calls will be allowed to proceed as long as at least one subscriber identifier is populated.
(Default = true).
"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).
"destination_host_from_cca" Boolean Controls the presence and value of the Diameter Destination-Host AVP, in conjunction with the N2SVCD Diameter application configuration parameter force_destination_host.
If this parameter is set to false, no special handling will occur for this AVP and the Destination-Host will be set according to the Diameter application setting.
If set to true, no Destination-Host AVP will be sent in initial requests, and subsequent requests will include a Destination-Host AVP with a value taken from the last received response's Origin-Host AVP. In this case, the Diameter application setting should be false to avoid the Destination-Host potentially changing between requests.
(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).
"no_answer_timeout" Integer The number of seconds to send to the network for no answer timeout during call setup. If not specified or set to 0, no value will be sent and the switch default handling will apply.
(Default = (not set).
"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).
"force_connect" Boolean Whether to force a Connect message in all cases when allowing a call, not just when the call destination is updated (e.g. due to number translation or redirection). (Default = 0).
"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).
"connect_increment_redirection" Boolean Whether to increment the received redirection information counter in Connect messages when number translation or redirection occurs.
Note that this parameter has no effect if the N2SCP application configuration parameter connect_send_redirection is not enabled.
(Default = 1).