5.8 Procedures at the MRFC
24.2293GPPIP multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP)Release 18Stage 3TS
5.8.1 General
Although the MRFC is acting as a UA, it is outside the scope of this specification how the MRFC associated addresses are made known to other entities.
For all SIP transactions identified:
– if priority is supported, as containing an authorised Resource-Priority header field, or, if such an option is supported, relating to a dialog which previously contained an authorised Resource-Priority header field;
the MRFC shall give priority over other transactions or dialogs. This allows special treatment of such transactions or dialogs. If priority is supported, the MGCF shall adjust the priority treatment of transactions or dialogs according to the most recently received authorized Resource-Priority header field or backwards indication value.
NOTE: This special treatment can include filtering, higher priority processing, routeing, call gapping. The exact meaning of priority is not defined further in this document, but is left to national regulation and network configuration.
When the MRFC sends any request or response (excluding CANCEL requests and responses) related to a dialog or standalone transaction, the MRFC may insert previously saved values into P-Charging-Vector header field before sending the message.
When the MRFC sends any request or response (excluding ACK requests and CANCEL requests and responses) related to a dialog or standalone transaction, the MRFC may insert previously saved values into P-Charging-Function-Addresses header fields before sending the message.
The MRFC shall use a GRUU referring to itself (as specified in RFC 5627 [93]) when inserting a contact address in a dialog establishing or target refreshing SIP message. This specification does not define how GRUUs are created by the MRFC; they can be provisioned by the operator or obtained by any other mechanism. A GRUU used by the MRFC when establishing a dialog shall remain valid for the lifetime of the dialog.
The MRFC shall handle requests addressed to its currently valid GRUUs when received outside of the dialog in which the GRUU was provided.
EXAMPLE: Upon receipt of an INVITE request addressed to a GRUU assigned to a dialog it has active, and containing a Replaces header field referencing that dialog, the MRFC will be able to establish the new call replacing the old one.
The MRFC shall log all SIP requests and responses that contain a "logme" header field parameter in the SIP Session-ID header field if required by local policy.
When sending a failure response to any received request, depending on operator policy, the MRFC may insert a Response-Source header field with an "fe" header field parameter constructed with the URN namespace "urn:3gpp:fe", the fe-id part of the URN set to "mrfc" and optionally an appropriate fe-param part of the URN set in accordance with subclause 7.2.17.
5.8.2 Call initiation
5.8.2.1 Initial INVITE
5.8.2.1.1 MRFC-terminating case
5.8.2.1.1.1 Introduction
The MRFC shall provide a P-Asserted-Identity header field in a response to the initial request for a dialog, or any response for a standalone transaction. It is a matter of network policy whether the MRFC expresses privacy according to RFC 3323 [33] with such responses.
When the MRFC receives an initial INVITE request, the MRFC shall store the values received in the P-Charging-Vector header field, e.g. "icid-value" header field parameter. The MRFC shall store the values received in the P-Charging-Function-Addresses header field.Based on local policy, the MRFC shall add an "fe-addr" element of the "fe-identifier" header field parameter to the P-Charging-Vector header field with its own address or identifier to an initial request.
If the MRFC receives an initial request with a P-Charging-Vector header field, the MRFC shall, based on local policy, store the "fe-identifier" header field parameter of the P-Charging-Vector header field.
When the MRFC receives a final response, the MRFC shall, based on local policy, include the stored "fe-identifier" header field parameter in the P-Charging-Vector header field and add its own address or identifier as an "fe-addr" element of the "fe-identifier" header field parameter to the P-Charging-Vector header.
5.8.2.1.1.2 Tones and announcements
The MRFC can receive INVITE requests to set up a session to play tones and announcements. The MRFC acts as terminating UA in this case.
When the MRFC receives an INVITE request for a tone or announcement, the MRFC shall:
– send 100 (Trying) response.
5.8.2.1.1.3 Ad-hoc conferences
The MRFC can receive INVITE requests to set up an ad-hoc conferencing session (for example a multiparty call) or to add parties to the conference. The MRFC acts as terminating UA in this case.
When the MRFC receives an INVITE request for ad hoc conferencing, the MRFC shall:
– send 100 (Trying) response.
When the MRFC receives an INVITE request to add a party to an existing ad hoc conference (i.e. MRFC conference identifier), the MRFC shall:
– send 100 (Trying) response.
5.8.2.1.1.4 Transcoding
The MRFC may receive INVITE requests to set up transcoding between endpoints with incompatible codecs. The MRFC acts as terminating UA in this case.
When the MRFC receives an INVITE request for transcoding and a codec is supplied in SDP, the MRFC shall:
– send 100 (Trying) response.
When the MRFC receives an INVITE request with an indicator for transcoding but no SDP, the MRFC shall:
– send 183 (Session Progress) response with list of codecs supported by the MRFC/MRFP.
5.8.2.1.2 MRFC-originating case
The MRFC shall provide a P-Asserted-Identity header field in an initial request for a dialog, or any request for a standalone transaction. It is a matter of network policy whether the MRFC expresses privacy according to RFC 3323 [33] with such requests.
When an MRFC generates an initial request for a dialog or a request for a standalone transaction, the MRFC shall insert a P-Charging-Vector header field with the "icid-value" header field parameter populated as specified in 3GPP TS 32.260 [17].
5.8.2.2 Subsequent requests
5.8.2.2.1 Tones and announcements
When the MRFC receives an ACK request for a session, this may be considered as an event to direct the MRFP to start the playing of a tone or announcement.
5.8.2.2.2 Transcoding
When the MRFC receives a PRACK request (in response to the 183 (Session Progress) response with an indicator for transcoding and codec supplied in SDP, the MRFC shall:
– after the MRFP indicates that the transcoding request is granted, send 200 (OK) response.
5.8.3 Call release
5.8.3.1 S-CSCF-initiated call release
5.8.3.1.1 Tones and announcements
When the MRFC receives a BYE request for a session, the MRFC directs the MRFP to stop the playing of a tone or announcement.
5.8.3.2 MRFC-initiated call release
5.8.3.2.1 Tones and announcements
When the MRFC has a timed session to play tones and announcements and the time expires, the MRFC shall:
– send a BYE request towards the UE.
When the MRFC is informed by the MRFP that tone or announcement resource has been released, the MRFC shall:
– send a BYE request towards the UE.
5.8.4 Call-related requests
5.8.4.1 ReINVITE
5.8.4.1.1 MRFC-terminating case
5.8.4.1.1.1 Ad-hoc conferences
The MRFC can receive reINVITE requests to modify an ad-hoc conferencing session (for example a multiparty call) for purposes of floor control and for parties to leave and rejoin the conference.
When the MRFC receives a reINVITE request, the MRFC shall:
– send 100 (Trying) response; and
– after the MRFP indicates that the conferencing request is granted, send 200 (OK) response. The MRFC may choose to send a 183 (Session Progress) response prior to the 200 (OK) response.
5.8.4.1.2 MRFC-originating case
Void.
5.8.4.2 REFER
5.8.4.2.1 MRFC-terminating case
Void.
5.8.4.2.2 MRFC-originating case
Void.
5.8.4.2.3 REFER initiating a new session
Void.
5.8.4.2.4 REFER replacing an existing session
Void.
5.8.4.3 INFO
Void.
5.8.5 Further initial requests
When the MRFC responds to an OPTIONS request with a 200 (OK) response, the MRFC may include a message body with an indication of the supported tones/announcement packages, DTMF capabilities, supported codecs and conferencing options of the MRFC/MRFP.
NOTE: As specified in RFC 6230 [146] an MRFC supporting the use of the control channel framework shall support the SYNC command to indicate the media control packages supported. Additionally each media control package should define an audit command for discovery of package capabilities (for example supported codecs and options).