13 IP Connectivity media plane procedures
24.5823GPPMission Critical Data (MCData) media plane controlProtocol specificationRelease 17TS
13.1 IP Connectivity client procedures
13.1.1 General
For IP Connectivity the endpoint of the media plane is an IP application that can send and receive any kind of IP messages. The IP application may reside on an external non-3GPP host connected via an IP interface to the MCData UE that incorporates the MCData client, or it may be running on the MCData UE. If the IP application resides on an external non-3GPP host, the MCData UE that incorporates the MCData client provides a second IP interface with an IP address independent of the 3GPP system for communication with the external non 3GPP host. The IP interface between the IP application the MCData UE and the MCData client is implementation specific.
13.1.2 Originating MCData client procedures
Upon receiving a request by an MCData user, or an IP packet from an IP application, the MCData client shall follow the procedure in 20.2.1 in 3GPP TS 24.282 [8]. The IP address and port number received in the SDP payload of the 200 OK response in this procedure shall be used to establish an IP tunnel. The IP tunnel shall be based on GRE-in-UDP Encapsulation as specified in IETF RFC 8086 [23], and as specified in clause 13.4. Generic Routing Encapsulation (GRE) as specified in IETF RFC 2784 [19] is used as a basis of GRE-in-UDP Encapsulation.
The MCData client shall perform encapsulation and decapsulation according to clause 13.4.
The MCData client acts as an IP relay for IP traffic between the IP application and the IP tunnel to the far endpoint. Once the IP tunnel is established, the IP applications can exchange IP data. The MCData client that receives the IP packets from the IP application shall perform encapsulation to the tunnelling protocol adding a GRE header and a UDP header to the IP packet, and send the outgoing UDP traffic to the IP address and port present in the SDP answer. When the originating MCData client receives IP packets from the IP tunnel it shall perform de-capsulation from the tunnelling protocol, removing the UDP header and the GRE header from the received packet, before passing the IP data to the IP application.
13.1.3 Terminating MCData client procedures
The successful outcome of the procedure 20.2.2 in 3GPP TS 24.282 [8] shall be the trigger to start the establishment of the IP tunnel. The IP tunnel is based on GRE-in-UDP Encapsulation as specified in IETF RFC 8086 [23], and as specified in clause 13.4.
The MCData client shall perform encapsulation and decapsulation in accordance with clause 13.4.
The MCData client acts as an IP relay for IP traffic between the IP tunnel and the IP application. Once the IP tunnel is established, the IP applications can exchange IP data. The client that receives IP packets from the IP tunnel shall perform de-capsulation from the tunnelling protocol, removing the UDP header and the GRE header from the received packet, before passing the IP data to the IP application. When the terminating MCData client receives an IP packet from the IP application, it shall perform encapsulation to the tunnelling protocol adding a GRE header and a UDP header to the IP packet, and send the outgoing UDP traffic to the IP address and port present in the SDP offer.
13.2 Participating MCData function procedures
13.2.1 Originating procedures
The originating participating MCData function shall provide an endpoint for UDP based communication towards the originating MCData client, and a second endpoint for UDP based communication towards the controlling MCData function. The originating participating MCData function shall act as a relay for the UDP traffic between these two adjacent UDP communication endpoints using the IP addresses and UDP ports exchanged in the SDP offers/answers.
13.2.2 Terminating procedures
The terminating participating MCData function shall provide an endpoint for UDP based communication towards the terminating MCData client, and a second endpoint for UDP based communication towards the controlling MCData function. The terminating participating MCData function shall act as a relay for the UDP traffic between these two adjacent UDP communication endpoints using the IP addresses and UDP ports exchanged in the SDP offers/answers.
13.3 Controlling MCData function procedures
The controlling MCData function shall provide an endpoint for UDP based communication towards the MCData originating participating MCData function, and a second endpoint for UDP based communication towards the terminating participating MCData function. The controlling MCData function shall act as a relay for the UDP traffic between these two adjacent UDP Communication endpoints using the IP addresses and UDP ports exchanged in the SDP offers/answers.
13.4 Encapsulation of the user data in the GRE-in-UDP tunnel
The Encapsulation of the user data in the GRE-in-UDP tunnel shall be performed as defined in IETF RFC 8086 [23] with the following clarifications:
1.) UDP checksum shall be used when encapsulating in both IPv4 and IPv6;
2.) The UDP ports can be freely chosen. The port information is exchanged via SDP; and
3.) GRE keys shall not be used.
13.5 Media plane details
13.5.1 General
The media plane is used for transport of data via the GRE-in-UDP tunnel as specified in the present clause.
13.5.2 Establishing a media plane for a GRE-in-UDP tunnel
13.5.2.1 General
The MCData client and the MCData server use the SDP offer/answer mechanism in order to negotiate the establishment of the media plane for a GRE-in-UDP tunnel.
The media description ("m=" line) associated with the media plane of the GRE-in-UDP tunnel shall have the values as described in table 13.5.2.1-1.
Table 13.5.2.1-1: GRE-in-UDP tunnel media description
Media description element |
Value |
<media> |
"application" |
<port> |
UDP port |
<proto> |
"udp" |
<fmt> |
"MCDATA |
The format of the optional SDP fmtp attribute, when associated with the GRE-in-UDP ports, is described in clause 13.6.
The example below shows an SDP media description for MCData IP Connectivity media plane
m=application 20032 udp MCDATA
a=fmtp:MCDATA mcdata-ipconn
13.6 Session description types defined within the present document
13.6.1 General
This clause contains definitions for SDP parameters that are specific to SDP usage with MCData IP connectivity and therefore are not described in an IETF RFC.
13.6.2 SDP "fmtp" attribute for MCData IP connectivity
13.6.2.1 General
This clause defines the structure and syntax of the SDP "fmtp" attribute, when used to negotiate the ports used for GRE-in-UDP tunnel establishment.
13.6.2.2 Semantics
In an SDP offer and answer, the "mcdata-ipconn-sport" fmtp attribute is used to indicate the UDP source port of the GRE-in-UDP tunnel.
13.6.2.3 Syntax
Table 13.6.2.3-1: SDP "fmtp" attribute for the MCData IP connectivity
fmtp-attr-ipconn = "a=fmtp:" "MCDATA" SP attr-param
attr-param = mcdata-ipconn-s-port
mcdata-ipconn-sport = "mcdata-ipconn-s-port=1*(DIGIT)"
Annex A (informative):
Change history
Change history |
|||||||
Date |
Meeting |
TDoc |
CR |
Rev |
Cat |
Subject/Comment |
New version |
2017-01 |
Initial version |
0.0.0 |
|||||
2017-01 |
Implementing P-CR C1-170436 from CT1#101-bis |
0.1.0 |
|||||
2017-03 |
Implementing P-CR C1-171055 and C1-171056 from CT1#102 |
0.2.0 |
|||||
2017-04 |
Implementing P-CR C1-171746, C1-171747, C1-171749 and C1-171818 from CT1#103 |
0.3.0 |
|||||
2017-06 |
Implementing P-CRs from CT1#104: C1-172229, C1-172539, C1-172540, C1-172543, C1-172550, C1-172740, and C1-172741 |
0.4.0 |
|||||
2017-06 |
CT-76 |
Version 1.0.0 created for presentation for information at CT76 |
1.0.0 |
||||
2017-06 |
CT-76 |
Version 14.0.0 created after approval at CT76 |
14.0.0 |
||||
2017-09 |
CT-77 |
CP-172102 |
0001 |
F |
Corrections for the Overview clause |
14.1.0 |
|
2017-09 |
CT-77 |
CP-172102 |
0002 |
F |
Removal of Editor’s Note for clause 6 |
14.1.0 |
|
2017-09 |
CT-77 |
CP-172102 |
0003 |
1 |
F |
Protection of information in the media plane |
14.1.0 |
2017-09 |
CT-77 |
CP-172102 |
0005 |
1 |
F |
Standalone SDS via media plane, verification of configuration data in the media plane |
14.1.0 |
2017-09 |
CT-77 |
CP-172102 |
0006 |
F |
Location Information |
14.1.0 |
|
2017-09 |
CT-77 |
CP-172102 |
0007 |
2 |
F |
Restructuring SDS session and authorization checks |
14.1.0 |
2017-12 |
CT-78 |
CP-173064 |
0008 |
1 |
F |
Authentication of Data Payload |
14.2.0 |
2018-06 |
SA-80 |
– |
– |
– |
– |
Update to Rel-15 version (MCC) |
15.0.0 |
2019-12 |
CT-86 |
CP-193102 |
0009 |
1 |
B |
Add media plane capability to support transmission / reception via MBMS in MCData |
16.0.0 |
2019-12 |
CT-86 |
CP-193102 |
0010 |
3 |
B |
Adding clause for media plane procedures for pre-established session for MCData |
16.0.0 |
2020-06 |
CT-88e |
CP-201112 |
0011 |
1 |
B |
Media plane control in MCData for user plane SDS using MBMS |
16.1.0 |
2020-06 |
CT-88e |
CP-201088 |
0012 |
1 |
A |
Adding mcdata id in signalling payload for sender of the data in MCData media plane (Session) communication |
16.1.0 |
2020-09 |
CT-89e |
CP-202165 |
0015 |
2 |
F |
Media plane for IP connectivity |
16.2.0 |
2020-12 |
CT-90e |
CP-203196 |
0021 |
A |
Correction of Content-Type description |
16.3.0 |
|
2021-06 |
CT-92e |
CP-211160 |
0025 |
1 |
B |
MCData media plane control for FD using MBMS delivery via MB2 |
17.0.0 |
2021-09 |
CT-93e |
CP-212149 |
0026 |
– |
F |
MCData – small corrections in 24.582 clause 6.5 |
17.1.0 |
2021-09 |
CT-93e |
CP-212149 |
0027 |
1 |
F |
MCData – adjust the To-Path header of MSRP SEND messages received over MBMS |
17.1.0 |
2021-09 |
CT-93e |
CP-212148 |
0028 |
1 |
F |
Clause reference corrections in clause 7.2.1 |
17.1.0 |
2021-09 |
CT-93e |
CP-212149 |
0029 |
1 |
B |
Non-mandatory file download support for the file distributed using media plane |
17.1.0 |
2022-06 |
CT-96 |
CP-221225 |
0032 |
3 |
F |
Add support for multiple IPConn communications |
17.2.0 |
2022-06 |
CT-96 |
CP-221247 |
0033 |
1 |
F |
Fix wrong reference in 24.582 |
17.2.0 |