The R-IM-SSF is triggered in the IN by the InitialDP initial request event.

Triggering the R-IM-SSF

  1. The R-IM-SSF uses the ServiceKey of the InitialDP event to find the address of the external SIP application server.

  2. The R-IM-SSF builds an INVITE (and the SDP portion) and invokes the SIP application server.

Tip The R-IM-SSF requires that the InitialDP has at least a ServiceKey, a CallingPartyNumber, and a CalledPartyNumber (or CalledPartyBCDNumber for CAP O-BCSM triggers).

The R-IM-SSF manages a number of profile tables that it uses to trigger a SIP application. The rimssf-configuration-profile-table contains global configuration information. This profile table typically contains only one profile, as the R-IM-SSF uses the same configuration information for all calls.

The R-IM-SSF uses records from three other configuration profile tables to determinate how to build the outgoing INVITE and which SIP application server to send it to:

  • rimssf-service-configuration-profile-table — external SIP application service configuration

  • rimssf-invite-builder-profile-table — information to populate the headers in the INVITE message

  • rimssf-sdp-builder-profile-table) — information to build the SDP portion of the INVITE.

The records in these three tables are indexed by service key. The ServiceKey from the incoming InitialDP is used to find the appropriate configuration information for the call.

Warning

If:

  • the InitialDP does not contain the minimum required fields …​ or …​

  • there isn’t a record corresponding to the ServiceKey in one or more of the configuration profile tables

…​then the R-IM-SSF does not attempt to trigger a SIP application server and allows the call to proceed (by responding to the switch with a Continue in a TC-End).

Finding the SIP-AS

The R-IM-SSF searches for a record in the rimssf-service-configuration-profile-table that corresponds to the ServiceKey from the InitialDP. The R-IM-SSF uses the information in the record to determine the address of the external SIP application server.

Field Description
 ServiceKey

The ServiceKey value from the InitialDP.

 SipAsAddress

The SIP application server address (in the form address:port).

 AnnouncementPrefix

A prefix to check for in the INVITE received from the SIP-AS that may indicate user interaction is required.

 AnnouncementMode

Indicates whether user interaction mode is direct, assisting using separate EstablishTemporaryConnection operation fields, or assisting combining parameters into a single ETC operation field.

 ResetTimerTimeout

Timeout used for ResetTimer operations. If 0 then ResetTimer operations are not sent by the R-IM-SSF during user interaction.

Tip See [2 Configuring R-IM-SSF Subscription Information] for the sis-console commands to use to manage the rimssf-service-configuration-profile-table.

Building the INVITE

The R-IM-SSF searches for a record in the rimssf-invite-builder-profile-table that corresponds to the ServiceKey from the InitialDP. The R-IM-SSF uses the information in the record to build the INVITE message it sends to the external SIP application server.

Field Description
 ServiceKey

The ServiceKey value from the InitialDP

 IsSipURIUsed

Whether a SIP URI or Tel URL should be used to create initial INVITE

 Transport

The SIP Transport used towards the service: udp, tcp, or udp/tcp

 AccessParameter

The name of a parameter of the Route that should be used to distinguish between originating and terminating triggers

 AccessParameterOrigValue

The value of the AccessParameter parameter that indicates an originating trigger

 AccessParameterTermValue

The value of the AccessParameter parameter that indicates a terminating trigger

 HasPAccessNetworkInfoHeader

If the initial INVITE should include the optional P-Access-Network-Info header

 DefaultCgi

The default CGI parameter for the P-Access-Network-Info header; used when LocationNumber is not present on the InitialDP received

 HasPChargingVectorHeader

If the initial INVITE should include a P-Charging-Function-Addresses header

 HasCCF

If the initial INVITE includes the optional CCF parameter in the P-Charging-Function-Addresses header

 CCF

CCF parameter for P-Charging-Function-Addresses header

 HasCCF

If the initial INVITE includes the optional ECF parameter in the P-Charging-Function-Addresses header

 ECF

ECF parameter for P-Charging-Function-Addresses header

 ExpiresHeader

The Expires header value used for the initial INVITE

 HasMinSEHeader

If the initial INVITE should include an optional Min-SE header

 MinSEHeader

Min-SE header value

 HasPCalledPartyIDHeader

If the initial INVITE should include an optional P-Called-Party-ID header

 HasSessionExpiresHeader

If the initial INVITE should include an optional Session-Expires header

 SessionExpiresHeader

Session-Expires header value

 HasSupportedHeader

If the initial INVITE includes optional Supported header

 SupportedHeader

Values to include in the Supported header

 UserAgentHeader

User-Agent header value for initial INVITE

Example configuration …​ …​results in:
 ServiceKey
 23
 IsSipURIUsed
 true
 Transport
 udp
 AccessParameter
 call
 AccessParameterOrigValue
 orig
 AccessParameterTermValue
 term
 HasPAccessNetworkInfoHeader
 true
 DefaultCgi
 111111111
 HasPChargingVectorHeader
 true
 HasCCF
 false
 CCF
 HasCCF
 false
 ECF
 ExpiresHeader
 360
 HasMinSEHeader
 true
 MinSEHeader
 2120
 HasPCalledPartyIDHeader
 false
 HasSessionExpiresHeader
 true
 SessionExpiresHeader
 360
 HasSupportedHeader
 true
 SupportedHeader
 timer,replaces
 UserAgentHeader
 rimssf-useragent-inv-builder
INVITE sip:123456789@opencloud.co.nz SIP/2.0
From: <sip:+351987654321@opencloud.co.nz>;tag=g5qB7w
To: <sip:123456789@opencloud.co.nz>
Call-ID: n1O3nxW0T6iW5P5P3-TmjQ
CSeq: 63062 INVITE
Max-Forwards: 70
Via: SIP/2.0/UDP 192.168.62.102:5060;oc-node=101;rport;branch=z9hG4bKFAdZ7Kn7vR364EMwd73ABA;ext
Via: SIP/2.0/UDP 192.168.62.102:5060;oc-node=101;rport;branch=z9hG4bKTvm5BnH1zYrsbC0ZDLpWdw
Contact: <sip:Ai-cCypiu+hkF35L3H~FqyAw@192.168.62.102:5060;oc-node=101;transport=udp>
Route: <sip:192.168.62.102:5070;lr;transport=udp;call=orig>
Route: <sip:Ai-cCypiu+hkF35L3H~FqyAw@192.168.62.102:5060;oc-node=101;lr;transport=udp>
P-Asserted-Identity: <tel:+351987654321>, <sip:+351987654321@opencloud.co.nz>
Supported: timer, replaces, 100rel
Allow: INVITE, BYE, CANCEL, ACK, PRACK, UPDATE
P-Charging-Vector: icid-value=1283143839977;orig-ioi=opencloud.co.nz
P-Access-Network-Info: 3GPP-GERAN;cgi-3gpp=111111111
Expires: 360
Session-Expires: 360
Min-SE: 2120
User-Agent: rimssf-useragent-inv-builder
...
Tip See Configuring R-IM-SSF Subscription Information for the sis-console commands to use to manage the rimssf-invite-builder-profile-table.

Building the SDP portion

The R-IM-SSF searches for a record in the rimssf-sdp-builder-profile-table that corresponds to the ServiceKey from the InitialDP. The R-IM-SSF uses the information in the record to build the SDP portion of the INVITE message it sends to the external SIP application server.

Field Description
 ServiceKey

The ServiceKey value from the InitialDP

 SDPNetworkType

The SDP network type

 SDPAddressType

The SDP address type

 SDPMediaType

The SDP media type

 SDPMediaFormat

The SDP media format

 SDPMediaProtocol

The SDP media protocol

 SDPFmtpAttribute

The SDP Fmtp attribute

SDPRtpmapAttribute

 The `SDP` `Rtpmap` attribute

OrigPort

Example configuration…​ …​results in
 ServiceKey
 23
 SDPNetworkType
 IN
 SDPAddressType
 IPV4
 SDPMediaType
 audio
 SDPMediaFormat
 [0, 8, 18]
 SDPMediaProtocol
 RTP/AVP
 SDPFmtpAttribute
 96 0-15,66,70
 SDPRtpmapAttribute
 96 telephone-event/8000
 OrigPort
 49170
INVITE sip:123456789@opencloud.co.nz SIP/2.0
From: <sip:+351987654321@opencloud.co.nz>;tag=g5qB7w
...
User-Agent: rimssf-useragent-inv-builder
Accept: application/sdp
Content-Type: application/sdp
Content-Length: 182

v=0
o=+351987654321 3 3 IN IP4 192.168.62.102
s=oc-node=101
c=IN IPV4 192.168.62.102
t=0 0
m=audio 49170 RTP/AVP 0 8 18
a=fmtp:96 0-15,66,70
a=rtpmap:96 telephone-event/8000
Tip See Configuring R-IM-SSF Subscription Information for the sis-console commands to use to manage the rimssf-sdp-builder-profile-table.
Previous page Next page