SrpSipApp

SRP SIP Application Configuration

The SRP (Specialised Resource Platform) SIP Application implements a Specialised Resource Function using SIP/RTP and INAP:

Note that the SRP SIP App does not support voice recording at this time.

Note that the SRP SIP App does not support outcalling at this time.

Note that the SRP SIP App is only an end-point for RTP streams. It does not proxy/transcode RTP packets.

The SrpSipApp relies on two other applications:

Here is a SRP SIP Application config example.

    <?xml version="1.0" encoding="utf-8"?>
    <n2svcd>
      ...
      <applications>
        ...
        <application name="SRP" module="SrpSipApp">
          <include>
            <lib>../../n2sip/apps/srp_sip/lib</lib>
            <lib>../../n2sip/lib</lib>
          </include>
          <parameters>
            <parameter name="trace_level" value="1"/>
            <parameter name="edr_enabled" value="1"/>
            <parameter name="sip_bind_host" value="0.0.0.0"/>
            <parameter name="sip_bind_port" value="5060"/>
            <parameter name="sip_edr_merge" value="1"/>
            <parameter name="sip_max_forwards" value="70"/>
            <parameter name="rtp_app_name" value="RTP"/>
            <parameter name="default_sigtran_app_name" value="SIGTRAN"/>
            <parameter name="scp_id_len" value="1"/>
            <parameter name="correlation_id_len" value="3"/>
            <parameter name="language_default" value="English"/>
            <parameter name="language_1" value="English"/>
            <parameter name="language_2" value="German"/>
          </parameters>
          <config>
            <scps>
              <scp id="1" dri="1" dpc="4114" dssn="106"/>
            </scps>
            <sip_peers>
              <sip_peer id="TEST" sip_host="192.168.1.5" sip_port="5061"/>
            </sip_peers>
            <endpoints>
              <endpoint sip_peer_id="TEST" digits="902666444"/>
            </endpoints>
          </config>
        </application>
        ...
      </application>
      ...
    </n2svcd>

Configuration Details

The application element attributes for an SRP SIP Application instance may include the below. For details of the various parameter types used, refer to Common Configuration.

Parameter Name Type XML Type Description
See: Common Application configuration
See: SIP Application configuration
module String Attribute [Required] SrpSipApp
include.lib String Attribute [Required] ../../n2sip/apps/srp_sip/lib
[Required] ../../n2sip/lib
parameters Array Element Array of name = value Parameters for this Application instance.
"early_media_policy" never Attribute This parameter should not be configured for this application.
It will be forced to never.
(Default = never).
"default_sigtran_app_name" String Attribute The name of the destination SIGTRAN Application used for communicating with the SCP nodes.
(Default = "SIGTRAN").
"scp_id_location" before / after / Integer Attribute Where the SCP ID is located in the incoming Called Party Address.
[N > 0] = As a prefix starting N characters from the start of the string.
before = As a suffix near the end of the string, before the Correlation ID.
after = As a suffix at the end of the string, after the Correlation ID.
(Default = after).
"scp_id_len" Integer Attribute The number of digits for the SCP ID parsed from inbound Called Party.
(Default = 1).
"correlation_id_len" Integer Attribute The number of digits for the CorrelationID parsed from inbound Called Party.
(Default = 4).
"inap_variant" cs1 / camel2 / camel3 / camel4 Attribute Which INAP protocol variant to use when encoding and decoding INAP messages exchanged with the SCP.
(Default = cs1).
"tcap_ari_ac" cs1_ip / camel2_srf / camel3_srf / camel4_srf Attribute The TCAP Application Context to use when sending AssistRequestOperation to the SCP.
(Default = cs1_ip).
"instruction_timer_ms" Integer Attribute How long an SRP will wait to receive PlayAnnouncement or PromptAndCollectUserInformation instructions from the controlling application before we consider that control is lost. This applies both to the first play instruction after the AssistRequestInstructions is sent and for subsequent play instructions.
If no instruction is received within the indicated period, the SrpSipApp will tear down the SIP call and RTP stream and send a TCAP_ABORT message.
(Default = 2500).
"language_extension_id" Integer Attribute For all received INAP/CAP PlayAnnouncement and PromptAndCollectUserInformation operations, the SRP will look for an INAP extension with this numeric Type ID. The extension payload contains an integer language ID value which is mapped to determine the preferred language name for announcement message ID mapping and for variable parts.
The binary encoding of this extension is defined in the "N2SRP INAP Conformance" document.
(Default = 400).
"language_default" String Attribute The Default Language Name to use.
This must be a known language name for which a Variable Parts Codec is installed.
(Default = "English").
"language_<index>" String Attribute The Language Name applicable to this integer language identifier (see language_extension_id).
This must be a known language name for which a Variable Parts Codec is installed.
(Default = None).
"scp_star_digit" [A-F] Attribute The hex digit used to represent "Star" when communicating with the SCP, specifically:
  • When received as a digit within a PA/PACUI Number variable part, this will be spoken as "Star" (if the language Codec supports it).
  • When collected via DTMF or SIP RTP Telephony Event, * is encoded as this hex digit to return in digitsResponse of the PromptAndCollectUserInformationResult.
  • When received as a Cancel Digit, End of Input Digit, or Start Digit in PromptAndCollectUserInformation, this digit matches a * via DTMF or SIP RTP Event.
(Default = B).
"scp_hash_digit" [A-F] Attribute The hex digit used to represent "Hash" when communicating with the SCP, specifically:
  • When received as a digit within a PA/PACUI Number variable part, this will be spoken as "Hash" (if the language Codec supports it).
  • When collected via DTMF or SIP RTP Telephony Event, # is encoded as this hex digit to return in digitsResponse of the PromptAndCollectUserInformationResult.
  • When received as a Cancel Digit, End of Input Digit, or Start Digit in PromptAndCollectUserInformation, this digit matches a # via DTMF or SIP RTP Event.
(Default = C).
config Object Element Container for extended configuration for this Application instance.
.scps Array Element Array of scp elements defining known SCP nodes to receive AssistRequestInstructions.
.scp Object Element Provisions an SCP node to which we may send AssistRequestInstructions.

SCP Addresses

Each SCP definition defines the address for a known SCP which is ready to accept an INAP AssistRequestInstructions operation.

Each scp Object in the config.scps Array is configured as follows.

Parameter Name Type XML Type Description
id Hex Digits Attribute [Required] SCP Identifier, as will be given to us in the SIP INVITE.
dri Integer Attribute Destination SCCP Routing Indicator for this SCP with this <id>.
0 = Global Title, 1 = PC+SSN
(Default = 0).
dssn Integer Attribute Destination SCCP SSN for the SCP with this <id>.
[Required when dri = 1]
dpc Integer Attribute Destination SCCP Point Code for the SCP with this <id>.
[Required when dri = 1]
dgt_digits Hex Digits Attribute Destination SCCP Global Title Digits for the SCP with this <id>.
[Required when dri = 0]
dgt_tt Integer Attribute Destination SCCP Global Title Translation Type for the SCP with this <id>.
dgt_np Integer Attribute Destination SCCP Global Title Numbering Plan for the SCP with this <id>.
dgt_noa Integer Attribute Destination SCCP Global Title Nature of Address for the SCP with this <id>.

Message Handling

The SrpSipApp uses the following messages: