The R-IM-SSF may also be triggered by an incoming INVITE
request from the SIP network when a SIP-AS wishes to create a network initiated call in the IN.
In order to establish a network initiated call, an IN protocol that supports such calls is required. Currently the only protocol supporting these types of calls that is also supported by the R-IM-SSF is Ericsson INAP CS1+. |
Identifying a network initiated call
A SIP-AS uses the principles specified in RFC 4579 s5.4 (Creating a Conference Using Ad-Hoc SIP Methods) to create a new network initiated call attempt in the IN. In order to identify an INVITE
request that represents a new network initiated call attempt, the INVITE
from the SIP-AS must contain a Request-URI
that:
-
is a SIP URI
-
specifies a user of
conference-factory
-
contains the URI parameter
oc-rimssf=conference
.
The To
header in the initial INVITE
should identify the phone number of the first call party.
When the first call party answers the call, the R-IM-SSF will respond to the INVITE
with a 200 OK
. The Contact
URI contained in this 200 OK
identifies the call to the SIP-AS and must be used by the SIP-AS as the Request-URI
or topmost Route
header (when received by the R-IM-SSF) in subsequent INVITE
requests that add further participants to the call. The To
header in subsequent INVITE
requests should again identify the phone number of the party to be added to the call.
Triggering the R-IM-SSF
The R-IM-SSF can be triggered in the SIS for a SIP network initiated call by checking for the presence of the required conference URI. For example, the following condition could be used in a SIS trigger to select a composition that invokes the R-IM-SSF for such a call:
<on-condition> <and> <equal a="${uri.user}" b="conference-factory"/> <equal a="${uri.param.oc-rimssf}" b="conference"/> </and> </on-condition>
R-IM-SSF install packages that include support for IN protocols that support network initiated calls include an example SIS trigger and composition that can be used to invoke the R-IM-SSF for a SIP network initiated call. |
Find the MSC
The R-IM-SSF general configuration includes a setting for the default MSC address (as an SCCP address) to use for network initiated calls. The R-IM-SSF provides the capability to override this default address on a per call basis using a SIS interceptor.
Once the interceptor completes (if relevant), the R-IM-SSF uses the final determined SCCP address as the destination address for a new outgoing IN dialog. The R-IM-SSF then builds the InitiateCallAttempt to send on this dialog.
The R-IM-SSF rejects the call with a 500 Internal Server Error response if a valid MSC address cannot be determined. This can happen if no default MSC address is configured and an interceptor does not provide a suitable value.
|
Build the InitiateCallAttempt
The R-IM-SSF uses information from the incoming INVITE
to populate the fields of the InitiateCallAttempt
request it sends to the MSC.
Field | Source | Description |
---|---|---|
DestinationRoutingAddress |
Request-URI |
The |
CallingPartyNumber |
From |
The |
LegToBeCreated |
n/a |
The first leg created has a leg id of |
When converting a SIP URI address to an IN data value, the final address will have a format based on the international dialling prefix and country code settings provisioned in the general configuration.
Before sending the InitiateCallAttempt
message, the R-IM-SSF invokes a SIS interceptor allowing additional fields to be populated in the message.
Once the InitiateCallAttempt
has been sent to the MSC and routing of the new call begins, the R-IM-SSF sends a 183 Session Progress
provisional response to the INVITE
back to the SIP-AS.
Example R-IM-SSF configuration … | Example INVITE … |
… results in | ||||
---|---|---|---|---|---|---|
|
INVITE sip:conference-factory@rimssf.opencloud.com;oc-rimssf=conference SIP/2.0 From: <tel:+64219999999>;tag=MEuBTA To: <tel:+64211234567> Call-ID: XuCsVFJjoGKZF7oECrJDtg CSeq: 0 INVITE Max-Forwards: 70 ... |
InitiateCallAttempt[ destinationRoutingAddress { calledPartyNumber nature NATIONAL routingToInternalNetworkNumber ALLOWED numberingPlan ISDN address "211234567" } callingPartyNumber nature NATIONAL numberIncomplete false numberingPlan ISDN presentation ALLOWED screening NETWORK_PROVIDED address "219999999" legToBeCreated sendingSideID encodedValue CALLING_PARTY ] |
Typical call flow
For a call initiated by the SIP network, this is a typical call flow.
-
An
INVITE
from SIP-AS initiates the call. -
R-IM-SSF creates the new call in the IN network,using
InitiateCallAttempt
to contact the A-party. -
The A-party answers; R-IM-SSF informs SIP-AS.
-
SIP-AS sends a second
INVITE
for the B-party. -
R-IM-SSF routes the call to the B-party.
-
The B-party answers; R-IM-SSF informs SIP-AS.
Once the A-party has answered the call and the SIP-AS has been notified, the call progresses in the same way as if the A-party had initiated the call in the IN and the R-IM-SSF had been triggered for that call by an InitialDP
.