14 SDP offer/ answer procedures

24.3803GPPMission Critical Push To Talk (MCPTT) media plane controlProtocol specificationRelease 18TS

14.1 General

The capabilities described in clause 4.3 are negotiated in the signalling and application plane using SDP offer / answer in SIP requests or SIP responses as specified in 3GPP TS 24.379 [2].

NOTE: If the group is configured for audio cut-in floor control the "mc_quueing" and the "mc_priority" attributes are ignored as specified in 3GPP TS 24.379 [2].

This clause describes the details of the SDP offer / answer procedures with regards to the MCPTT fmtp attribute in the "m=application" m-line.

14.2 Generating an SDP offer

14.2.1 General

When the offerer generates an SDP offer, in order to negotiate the establishment of a media plane control channel, the offerer shall include a media description ("m=" line) associated with the media plane control channel. In addition, the offerer may associate an SDP fmtp attribute with the media description.

NOTE: "Initial offer" refers to the offer when the media plane control channel is initially negotiated. It might, or might not, be the initial offer within the session.

14.2.2 "mc_queueing" fmtp attribute

The MCPTT client shall include the "mc_queueing" fmtp attribute in SDP offers when queueing of floor request is supported.

The controlling MCPTT function shall include the "mc_queueing" fmtp attribute in SDP offers when queueing of floor request is supported.

The non-controlling MCPTT function shall include the "mc_queueing" fmtp attribute in SDP offers if the controlling MCPTT included the "mc_queueing" fmtp attribute in the SDP offer.

14.2.3 "mc_priority" fmtp attribute

The MCPTT client shall include the "mc_priority" fmtp attribute when a floor priority different than the default priority is required. The MCPTT client should base floor priority on the configured value in 3GPP TS 24.484 [13].

When inviting an MCPTT client or an MCPTT group to a pre-arranged group call, the controlling MCPTT function and the non-controlling MCPTT function shall include in the "mc_priority" fmtp attribute with the value of the <user-priority> element in the <entry> element specified in 3GPP TS 24.481 [12].

14.2.4 "mc_granted" fmtp attribute

The MCPTT client shall include the "mc_granted" fmtp attribute in the SDP offer of an initial SIP INVITE request when it is acceptable for the MCPTT client to receive a granted indication in the SIP 200 (OK) response to an initial INVITE request.

NOTE: The use of "mc_granted" fmtp attribute in the SDP offer in SIP requests does not replace or change the basic operation of Floor Granted message as described in clause 6.

14.2.5 "mc_implicit_request" fmtp attribute

The MCPTT client shall include the "mc_implicit_request" fmtp attribute when a SIP request shall be interpreted as an implicit floor request. If not explicitly stated in procedures in the present document or in procedures in 3GPP TS 24.379 [2] that the "mc_implicit_request" fmtp attribute shall be included, the decision to include the "mc_implicit_request" fmtp attribute or not, is an implementation option.

14.2.6 "mc_no_floor_ctrl" fmtp attribute

When the MCPTT user wants to make a private call or a first-to-answer call without floor control using a pre-established session, the MCPTT client shall include the "mc_no_floor_ctrl" fmtp attribute in SDP offer of a SIP request. The floor control related fmtp attributes shall not be included.

The MCPTT client shall include the "mc_no_floor_ctrl" fmtp attribute in SDP offer of an initial SIP INVITE request for establishing pre-established session when a floor control shall not be used during the private call or first-to-answer call session. The floor control related fmtp attributes shall not be included.

14.3 Generating the SDP answer

14.3.1 General

When the answerer receives an SDP offer, which contains a media description for a media plane control channel, the answerer shall include a media description associated with the media plane control channel in the answer. In addition, the answerer may associate an SDP fmtp attribute with the media description. The SDP fmtp attribute shall not include parameters that were not present in the associated SDP offer.

14.3.2 "mc_queueing" fmtp attribute

The MCPTT client shall include the "mc_queueing" fmtp attribute in SDP answers when queueing of floor request is supported.

The controlling MCPTT function shall include the "mc_queueing" fmtp attribute in SDP answers when queueing of floor request is supported and the "mc_queueing" fmtp attribute was included in the SDP offer.

The non-controlling MCPTT function shall include the "mc_queueing" fmtp attribute in SDP answers if the controlling MCPTT function included the "mc_queueing" fmtp attribute in the SDP offer.

NOTE: For MCPTT clients connected to the non-controlling MCPTT function, the determination of if queueing is supported or not is determine case by case using the Track Info field for each individual floor participant.

14.3.3 "mc_priority" fmtp attribute

If the "mc_priority" fmtp attribute is included in an SDP offer, the controlling MCPTT function:

1. if the <on-network-recvonly> element is present in the <entry> element as specified in 3GPP TS 24.481 [12] for the MCPTT user identified by the <entry> element, shall not include a "mc_priority" fmtp attribute in the SDP answer;

2. if the <on-network-recvonly> element is not present in the <entry> element as specified in 3GPP TS 24.481 [12] for the MCPTT user identified by the <entry> element in the MCPTT group document:

a. shall determine the priority value to include in "mc_priority" fmtp attribute of the SDP answer, by choosing the lowest value from the following inputs:

i. the value of floor priority in the "mc_priority" fmtp attribute included in the SDP offer;

ii. the value of the <user-priority> element in the MCPTT group document as specified in 3GPP TS 24.481 [12]; and

iii the value of the <num-levels-priority-hierarchy> element in the MCPTT service configuration document as specified in 3GPP TS 24.484 [13]; and

b. shall include the priority value determined above in step 2a, in the "mc_priority" fmtp attribute of the SDP answer.

If the "mc_priority" fmtp attribute is included in an SDP offer, the MCPTT client and the non-controlling MCPTT function shall return the value included in the SDP offer in the SDP answer.

14.3.4 "mc_granted" fmtp attribute

If the mc_granted" fmtp attribute is included in an SDP offer, the controlling MCPTT function:

1. if the MCPTT call is not a temporary group session, may use the SIP 200 (OK) response to indicate that the implicit floor request is granted; and

2. if the MCPTT call is a temporary group session, shall not indicate that the implicit floor request is granted.

NOTE: A MCPTT group call is a temporary group session when the <on-network-temporary> element is present in the <list-service> element as specified in 3GPP TS 24.481 [12].

If the controlling MCPTT function grants the implicit request and decide to use the SIPP 200 (OK) response to grant the implicit request, the controlling MCPTT function shall include the "mc_granted" fmtp attribute in the SDP answer.

If the controlling MCPTT function decides not to grant the implicit request, the controlling MCPTT function shall not include the "mc_granted" fmtp attribute in the SDP answer.

14.3.5 "mc_implicit_request" fmtp attribute

If the "mc_implicit_request" fmtp attribute is included in an SDP offer, the MCPTT server shall accept the initial INVITE request to be an implicit request for floor unless the MCPTT client is joining a chat group call or an ongoing pre-arranged call and include the "mc_implicit_request" fmtp attribute in responses to the SIP request.

14.3.6 "mc_ssrc" fmtp attribute

If the "ssrc" media attribute is included in an SDP offer and the SIP request shall be interpreted as an implicit floor request ("mc_implicit_request" fmtp attribute is included), the MCPTT server shall return the value included in the SDP offer or a new ssrc value if a collision is detected or if the associated SDP offer does not indicate the ssrc value then the server can determine an appropriate value in the SDP answer of "mc_ssrc" fmtp attribute irrespective of whether "mc_granted" fmtp attribute is present or not in the application m-line.

14.3.7 "mc_no_floor_ctrl" fmtp attribute

If the "mc_no_floor_ctrl" fmtp attribute is included in an SDP offer, the MCPTT server shall accept the initial SIP INVITE request for establishing pre-established session without the floor control support during the private call or first-to-answer call session and include the "mc_implicit_request" fmtp attribute in responses to the initial SIP INVITE request. Shall discard if any floor control related fmtp attributes are included.

14.4 Offerer processing of the SDP answer

When the offerer receives an SDP answer, if an SDP fmtp attribute is associated with the media description associated with the media plane control channel, and if the attribute contains attribute parameters that were not present in the associated offer, the offerer shall discard those attribute parameters.

14.5 Modifying the media plane control channel

When an offerer generates a subsequent SDP offer, the offerer follows the rules for generating an initial offer, as described in clause 14.2, with the exception that the offerer shall not include the ‘mc_granted’ SDP fmtp attribute parameter in a subsequent offer. No semantics has been defined for the ‘mc_granted’ attribute parameter in a subsequent offer.

For the ‘mc_implicit_request’ semantic is only defined for a subsequent SDP offer when upgrading from normal to an emergency call using an SIP re-INVITE request as specified in 3GPP TS 24.379 [2].

14.6 The use of SDP offer / answer procedures in off-network mode

14.6.1 General

The MCPTT client can negotiate the capabilities used in a private call using PRIVATE CALL SETUP REQUEST message and PRIVATE CALL ACCEPT message as specified in 3GPP TS 24.379 [2]. The PRIVATE CALL SETUP REQUEST message contains the SDP offer and the PRIVATE CALL ACCEPT message contains the SDP answer.

When initiating a group call or a broadcast group call using the GROUP CALL ANNOUNCEMENT message or GROUP CALL BROADCAST message as specified in 3GPP TS 24.379 [2] the capabilities to be used during the call cannot be negotiated.

14.6.2 fmtp attribute "mc_queueing"

When initiating a private call and if the MCPTT client supports queueing of floor requests, the MCPTT client shall include the fmtp attribute "mc_queueing" in the SDP offer.

When an MCPTT client accepting the invitation to the private call receives an SDP offer containing the fmtp attribute "mc_queueing" and if the MCPTT client supports queueing of floor requests, the MCPTT client shall include the fmtp attribute "mc_queueing" in the SDP answer.

When initiating a group call and if queueing of floor requests is supported, the MCPTT client shall include the fmtp attribute "mc_queueing" in the SDP offer.

NOTE: Participants in a group call where queueing is used acknowledge the support of queueing in the Floor Indicator field in the Floor Request message.

Annex A (informative):
Signalling flows