SRF Configuration

SRF Selection

When the DSG-SCP needs to play an announcement (e.g. as a result of a Result-Code action), it must have the SRF connectivity and interaction configuration in place to allow this.

If language IDs are being provided to the SRF then they must also be configured.


    ...
      <config>
        ...
        <language_maps>
          <map name='general'>
            <language name='English' id='1'/>
            <language name='German' id='2'/>
          </map>
        </language_maps>
        <srfs>
          <srf name="N2IVR" use_etc="1" routing_address="a88441"/>
          <srf name="OtherSRF" use_etc="1" routing_address="bb88441" scf_id="ad0002" correlation_id_location="standalone"/>
          <srf name="Switch" use_etc="0" star_digit="C" hash_digit="b" cancel_digit="#" end_digit="E" language_map="general" language_extension_type="400"/>
        </srfs>
      </config>
      ...

Configuration Details

The available configuration items for SRF selection are as below:

Attribute Type Description
.language_maps Array Array of map elements definining the supported language map(s).
.map Array An array of languages in the map.
.name String The name of the language map.
(Default = default).
.language Object A language mapping within the map. This elements may be repeated.
.srfs Array Array of srf elements definining the supported SRF endpoints.
.srf Object Provisions a known SRF endpoint, either on-switch (CTR) or off-switch (ETC).

Language

Each map contains one or more Language mappings from name to id as follows:

Attribute Type Description
name String [Required] The name of the language as the service logic will supply.
id Integer [Required] The numeric language ID which is supplied to the SRF.

SRF Endpoints

Each SRF Endpoint defines a rule for choosing the appropriate SRF for an announcement. SRF Endpoints are referred to using the configured name.

Each srf Object in the SRF Endpoints array is configured as follows:

Attribute Type Description
name String [Required] The name of the SRF for use with selection for playing announcements.
use_etc Boolean [Required] The connection mode for the SRF.
Set to (1) if the SRF is off-switch and connected to via EstablishTemporaryConnection.
Set to (0) if the SRF is on-switch and connected to via ConnectToResource.
inap cs1 / camel2 / camel3 / camel4 [Required for ETC] One of the SRF protocol variants implemented by DsgScpApp.
routing_address Hex Digits [Required for use_etc = 1] This is the prefix of the assistingSSPIPRoutingAddress, which will typically include some indicate to identify this SCP node, so that the SRF can route the associated AssistRequestInstructions correctly.
star_digit [A-E] The hex digit used by this SRF to represent the "star" character *.
Modern CAMEL protocol standards state that this should always be B.
(Default = B).
hash_digit [A-E] The hex digit used by this SRF to represent the "hash" character #.
Modern CAMEL protocol standards state that this should always be C.
(Default = C).
cancel_digit [*#A-E] The digit to send to the SRF as the cancelDigit in PlayAnnouncement and PromptAndCollectUserInformation operations.
(Default = do not specify cancel digit).
end_digit [*#A-E] The digit to send to the SRF as the endOfReplyDigit in PlayAnnouncement and PromptAndCollectUserInformation operations.
(Default = do not specify end of reply digit).
returned_ac [AC Alias] / Hex Value / copy / none Specify the TCAP Application Context to return to the SRF in response to the AssistRequestInstructions.
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 = the same as the inap).
scf_id Hex String A hex representation of the value to encode as the EstablishTemporaryConnection attribute scfID.
(Default = do not set scfID).
correlation_id_location routing_address / standalone Mechanism for setting the correlation ID in EstablishTemporaryConnection.
routing_address means append the digits to the configured routing_address.
standalone means encode the correlation ID as generic digits in the correlationID attribute of the ETC.
(Default = routing_address ).
tcap_close prearranged / end / abort How should we close the SRF TCAP dialog if we believe that the interaction session is over, but the TCAP SSP dialog is still open.
prearranged = Assume pre-arranged END.
end = Send TCAP END with no components.
abort = Send TCAP ABORT.
(Default = prearranged).
language_map String The name of a map entry within the language_maps.
(Default = default).
language_extension_type Integer The type value for the INAP/ASN.1 extensions SEQUENCE.
Setting this value enables the use of the ASN.1 "extensions" syntax originally proposed by Unisys for interaction with their NAP platform. This mechanism is also the default mechanism supported by the Oracle NCC/OC3C platform and by the N-Squared SRF.
(Default = undef i.e. language cannot be conveyed to the SRF).
max_pa_secs 5 - 3600 This is the maximum allowed duration of interaction resulting from sending PlayAnnouncement to this (on-switch or external) SRF. The SRF 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.
(Default = 300 seconds).
max_pacui_secs 5 - 3600 This is the maximum allowed duration of interaction resulting from sending PromptAndCollectUserInformation to this (on-switch or external) SRF. The SRF 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.
(Default = 300 seconds).
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 SRF. The SRF connection process will be aborted if the ARI is not received within this time window.
(Default = 4000 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.
For an SRF definition, this parameter adds a margin on top of max_pa_secs or max_pacui_secs to allow for network/processing delay.
(Default = 500 milliseconds).

The full process for determining the outbound assistingSSPIPRoutingAddress in the EstablishTemporaryConnection is as follows.

  1. Start with the configured routing_address.
  2. If correlation_id_location = routing_address then append the Correlation ID assigned by the SigtranApp (including any leading “0”).
  3. Use the called_party denormalisation rules to modify the digits and determine the NoA.

The length of the Correlation ID including leading 0 is configured in the SigtranApp using the correlation_id_len application parameter.