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