The following requirements apply for a "P-CSCF enhanced for WebRTC (eP-CSCF)" and an "IMS-AGW enhanced for WebRTC (eIMS-AGW)":
End-to-access-edge security for RTP based media using DTLS-SRTP, clause 5.11.2.4, shall be supported.
End-to-access-edge security for RTP based media using DTLS-SRTP over TCP transport, clause 5.11.2.5, may be supported.
Interactive Connectivity Establishment (ICE), clause 5.18, shall be supported. ICE for TCP may be supported in addition to offer an alternative transport for UDP based media as specified in clause 5.18.
STUN Consent Freshness, clause 5.18.4, shall be supported.
RTP/RTCP transport multiplexing, clause 5.9.2 shall be supported.
Audio transcoding, clause 5.13, shall be supported. Video transcoding may be supported.
Transcoding to/from the Opus Audio Codec, RFC 6716, clause 5.13.4, should be supported.
Procedures for the eIMS-AGW to act as a data channel endpoint should be supported according to IETF draft ietf-rtcweb-data-channel [61], see clause 5.20.2.
Data channels used for WebRTC to transport MSRP as a data channel sub-protocol, i.e. MSRP data channels between the UE and the eIMS-AGW should be supported according to RFC 8873 and the procedures in clause 5.19.6. SCTP/DTLS/UDP should be transported as protocol stack for data channels and SCTP/DTLS/TCP may be supported.
Data channels used for WebRTC to transport T.140 (used for Global Text Telephony, GTT) as a data channel sub-protocol, i.e. T.140 data channels between the UE and the eIMS-AGW may be supported according to RFC 8865 and the procedures in clause 5.20.2.6.
The media plane optimization procedures in clause 5.20.3 may be supported.
In the WebRTC framework, non-media data communication between UEs is handled by using data channels according to RFC 8831; within SCTP (see RFC 4960), encapsulated in DTLS. The related SDP signalling is described in RFC 8841 and RFC 8864.
Data channels can use either a SCTP/DTLS/UDP or SCTP/DTLS/TCP based transport. If the eP-CSCF (IMS-ALG) and the eIMS-AGW support data channels, they shall support the SCTP/DTLS/UDP based transport and may support the SCTP/DTLS/TCP based transport.
Upon receipt of an SDP offer containing SDP attributes for new SCTP associations and/or new data channels according to RFC 8841 and RFC 8864 from the WebRTC access network, the eP-CSCF (IMS-ALG):
shall check if a new DTLS association and SCTP association is to be set up or an existing DTLS association and SCTP association are to be reused (NOTE 1) according to RFC 8842 and RFC 8841;
if a new DTLS connection and SCTP association are to be set up:
shall request a new H.248 stream group (see details below) on a new termination towards the WebRTC access network from the eIMS-AGW;
shall request a deaggregation stream to handle the SCTP association and DTLS association, and for the H.248 deaggregation stream:
shall send the remote UDP port and SCTP port to the eIMS-AGW;
shall request the local UDP port and SCTP port from the eIMS-AGW;
shall insert the local UDP port and SCTP port received from the eIMS-AGW into the SDP answer towards the WebRTC access network;
shall provide the remote SCTP maximum message size, as received within the "a=max-message-size" SDP attribute, to the eIMS-AGW;
shall request the eIMS-AGW to provide its own local SCTP maximum message size;
shall insert the SCTP maximum message size received from the eIMS-AGW into the SDP answer towards the WebRTC access network;
shall check the received value of the "a=setup" SDP attribute to determine if the eIMS-AGW needs to act as DTLS client or DTLS server. When the received value is equal to:
"active" the eIMS-AGW needs to act as DTLS server;
"passive" the eIMS-AGW needs to act as DTLS client; or
"actpass" the eP-CSCF (IMS-ALG) shall decide if the eIMS-AGW needs to act as DTLS client or DTLS server;
if the eIMS-AGW needs to act as DTLS client;
shall provide the Establish (D)TLS session information element to request the eIMS-AGW to start the DTLS session setup; and
shall provide the Establish SCTP association information element to request the eIMS-AGW to start the SCTP association setup as soon as DTLS association is data transfer ready;
if the eIMS-AGW needs to act as DTLS server, may include the Notify (D)TLS session establishment information element to request the eIMS-AGW to notify the eP-CSCF (IMS-ALG) about an incoming DTLS session setup;
shall indicate to the eIMS-AGW "UDP/DTLS/SCTP" as transport protocol;
shall provide to the eIMS-AGW the Remote certificate fingerprint information element with the value of the received fingerprint SDP attribute(s) from the WIC;
shall include the Local certificate fingerprint Request information element to request the certificate fingerprint of the eIMS-AGW; and
shall indicate to the eIMS-AGW the SCTP stream identifiers of H.248 component stream(s) (i.e. SCTP streams corresponding to data channels) to be de-multiplexed;
shall indicate the grouping of the H.248 deaggregation stream and the H.248 component stream(s) with SCTP semantics to the eIMS-AGW; and
shall request the eIMS-AGW to provide a notification when receiving an SCTP stream reset request and to autonomously answer that SCTP stream reset request;
if an existing DTLS association and SCTP association are to be reused, shall modify the existing termination for that SCTP association by:
indicating to the eIMS-AGW the SCTP stream identifiers of H.248 component stream(s) (i.e. SCTP streams corresponding to data channels) to be de-multiplexed; and
indicating the H.248 stream grouping of the H.248 deaggregation stream and the H.248 component stream(s) with SCTP semantics to the eIMS-AGW;
for each data channel to be established:
shall reserve a separate H.248 stream at the termination towards the WebRTC access network;
shall provide the SCTP stream identifier to the eIMS-AGW;
shall provide the information received in the SDP "a=dcmap" attribute to the eIMS-AGW;
if application aware handling of the contents within the data channel is required, may provide the information received in SDP "a=dcsa" attributes to the eIMS-AGW as "remote dcsa" information elements, taking into account the specific procedures defined for the subprotocols within the data channel;
if the first data channel is to be established, shall reserve a termination towards the core network;
shall reserve a H.248 stream towards the core network;
shall indicate to the eIMS-AGW how to interwork the information send or received in data channels with information send or received on streams towards the IMS core network by using the same H.248 stream identifier for the H.248 stream towards the WebRTC access network and towards the core network;
shall indicate to the eIMS-AGW an appropriate transport protocol towards the IMS core network (e.g. "TCP" for MSRP) for the media described in the dcmap attribute for the data channel when reserving the transport addresses/resources towards the IMS core network;
shall provide an appropriate media line for the media described in the dcmap attribute in the SDP offer towards the IMS core network; and
should de-encapsulate SDP attributes within the received SDP "a=dcsa" attributes in the SDP offer and include the de-encapsulated SDP attributes in the SDP offer towards the IMS core network as media attributes for the media line corresponding to the data channel, taking into account specific procedures defined for the subprotocol within the data channel; and
shall remove the "a=setup", "a=connection""a=dcmap" and possible "a=dcsa" SDP attributes and fingerprint information from the SDP offer towards the IMS core network.
Upon receipt of a corresponding SDP answer from the IMS core network, if the SDP answer does not indicate that media plane optimization is to be applied (see clause 5.20.3.2), the eP-CSCF (IMS-ALG):
instead of the media line(s) describing media that are to be transported within data channel(s), shall provide an "m=" line with the transport protocol "UDP/DTLS/SCTP";
shall insert the fingerprint SDP attribute with the value of the Local certificate fingerprint information element received from the eIMS-AGW;
if the IMS-ALG received from the WIC an SDP offer with "a=tls-id" media-level SDP attribute for the DTLS association:
if an existing DTLS association is reused, shall include the "a=tls-id" SDP attribute with the value assigned to that DTLS association in the SDP answer which the IMS-ALG sends to the WIC; and
if a new DTLS association is to be established, shall include the "a=tls-id" SDP attribute with a new unique value in the SDP answer which the IMS-ALG sends to the WIC;
shall insert the "a=setup" SDP attribute with the value:
"active" if the eP-CSCF (IMS-ALG) requested the eIMS-AGW to act as DTLS client; or
"passive" if the eIMS-AGW shall take the DTLS server role; and
for each received media line describing media that are to be transported within a data channel:
shall insert an "a=dcmap" attribute with the same values for the SCTP stream identifier, "subprotocol" and "label" parameters as received in the SDP offer, and with possible values for the "max-retr", "max-time", and "ordered" parameters according to the requirements of the transported data flow and capabilities of the eIMS-AGW;
should insert SDP "a=dcsa" attributes into the SDP answer towards the WebRTC access network encapsulating subprotocol specific SDP attributes received in the SDP answer, taking into account specific procedures defined for the subprotocol within the data channel;
shall provide the information in the sent SDP "a=dcmap" attribute to the eIMS-AGW; and
may provide the information within the sent SDP "a=dcsa" attributes to the eIMS-AGW as "local dcsa" information elements, taking into account specific procedures defined for the subprotocol within the data channel.
Upon receipt of an SDP offer from the IMS core network for new media streams that need to be transported within a WebRTC data channel on the WebRTC access network, if the SDP offer does not indicate that media plane optimization is to be applied (see clause 5.20.3.3), the eP-CSCF (IMS-ALG):
shall determine if it can reuse an existing DTLS association and SCTP association or if it needs to set up a new DTLS association and SCTP association;
if a new DTLS association and SCTP association are to be set up:
shall request a new termination towards the WebRTC access network from the eIMS-AGW;
shall request a deaggregation stream to handle the SCTP association and DTLS association, and for the H.248 deaggregation stream:
shall request the local UDP port and SCTP port from the eIMS-AGW;
shall insert the local UDP port and SCTP port received from the eIMS-AGW into the SDP offer towards the WebRTC access network;
shall request the eIMS-AGW to provide its own local SCTP maximum message size;
shall insert the SCTP maximum message size received from the eIMS-AGW into the SDP offer towards the WebRTC access network;
shall add an SDP "a=setup" attribute with value "actpass" into the SDP offer;
shall indicate to the eIMS-AGW "UDP/DTLS/SCTP" as transport protocol;
shall include the Local certificate fingerprint Request information element to request the certificate fingerprint of the eIMS-AGW;
shall insert the fingerprint SDP attribute with the value of the Local certificate fingerprint information element received from the eIMS-AGW into the SDP offer towards the WebRTC access network; and
shall indicate to the eIMS-AGW the SCTP stream identifiers of H.248 component stream(s) (i.e. SCTP streams corresponding to data channels) to be de-multiplexed;
shall indicate the H.248 stream grouping of the H.248 deaggregation stream and the H.248 component stream(s) with SCTP semantics to the eIMS-AGW; and
shall request the eIMS-AGW to provide a notification when receiving an SCTP stream reset request and to autonomously answer that SCTP stream reset request;
if an existing DTLS association and SCTP association are to be reused, shall modify the existing termination towards the WebRTC access network for that SCTP association by:
indicating to the eIMS-AGW the SCTP stream identifiers of H.248 component stream(s) (i.e. SCTP streams corresponding to data channels) to be de-multiplexed; and
indicating the H.248 stream grouping of the H.248 deaggregation stream and the H.248 component stream(s) with SCTP semantics to the eIMS-AGW;
instead of the media line(s) describing media that are to be transported within data channel(s), shall provide an "m=" line with the transport protocol "UDP/DTLS/SCTP";
shall insert an "a=tls-id" SDP attribute in the SDP offer with a new or reused value (depending on whether an existing DTLS association is reused); and
for each received media line describing media that are to be transported within a data channel:
shall reserve a separate H.248 stream at the termination towards the WebRTC access network;
shall insert an "a=dcmap" attribute with an unused SCTP stream identifier, and with "subprotocol" and "label" parameters according to the requirements of the transported data flow, and with possible values for the "max-retr", "max-time", and "ordered" parameters according to the requirements of the transported data flow and capabilities of the eIMS-AGW;
shall provide the SCTP stream identifier to the eIMS-AGW;
shall provide the information in the sent SDP "a=dcmap" attribute to the eIMS-AGW;
should insert SDP "a=dcsa" attributes into the SDP offer towards the WebRTC access network encapsulating any subprotocol specific SDP attributes received in the SDP offer, taking into account specific procedures defined for the subprotocol within the data channel;
if application aware handling of the contents within the data channel is required, may provide the information within the sent SDP "a=dcsa" attributes to the eIMS-AGW as "local dcsa" information elements, taking into account specific procedures defined for the subprotocol within the data channel;
if the first data channel is to be established, shall reserve a termination towards the core network;
shall reserve a H.248 stream towards the core network; and
shall indicate to the eIMS-AGW how to interwork the information sent or received in data channels with information sent or received on terminations and/or streams towards the IMS core network by using the same H.248 stream identifier for the stream towards the WebRTC access network and towards the core network.
Upon receipt of a corresponding SDP answer from the WebRTC access network, the eP-CSCF (IMS-ALG):
if a new DTLS association and SCTP association are to be set up, for the H.248 deaggregation stream to handle the SCTP association and DTLS connection:
shall send the received remote UDP port and SCTP port to the eIMS-AGW;
shall include the Remote certificate fingerprint information element with the value of the received fingerprint SDP attribute(s) from the WebRTC access network;
shall check the received value of the "a=setup" SDP attribute to determine if the eIMS-AGW needs to act as DTLS client or DTLS server. When the received value is equal to:
a) "active" the eIMS-AGW needs to act as DTLS server; or
b) "passive" the eIMS-AGW needs to act as DTLS client;
if the eIMS-AGW needs to act as DTLS client:
shall include the Establish (D)TLS session information element to request the eIMS-AGW to start the DTLS session setup; and
shall provide the Establish SCTP association information element to request the eIMS-AGW to start the SCTP association setup as soon as DTLS connection is data transfer ready;
if the eIMS-AGW needs to act as DTLS server, may include the Notify (D)TLS session establishment information element to request the eIMS-AGW to notify the eP-CSCF (IMS-ALG) about an incoming DTLS session setup; and
shall provide the remote SCTP maximum message size, as received within the "a=max-message-size" SDP attribute, to the eIMS-AGW;
shall remove the "a=setup", "a=connection""a=dcmap" and possible "a=dcsa" SDP attributes and fingerprint information from the SDP answer and indicate the transport protocol "TCP" in the SDP answer towards the IMS core network; and
for each accepted data channel:
shall provide the information received in the SDP "a=dcmap" attribute to the eIMS-AGW;
if application aware handling of the contents within the data channel is required, may provide the information within the received SDP "a=dcsa" attributes in the SDP answer to the eIMS-AGW as "remote dcsa" information elements, taking into account specific procedures defined for the subprotocol within the data channel; and
should de-encapsulate SDP attributes within the received SDP "a=dcsa" attributes in the SDP answer and include the de- encapsulated SDP attributes in the SDP answer towards the IMS core network, taking into account specific procedures defined for the subprotocol within the data channel.
If requested to set up a new DTLS association and SCTP association, the eIMS-AGW shall:
allocate the local UDP port and SCTP port, and send them to the eP-CSCF (IMS-ALG);
when being instructed to start the DTLS bearer session setup, act as a DTLS client and establish the DTLS bearer session;
upon request from the eP-CSCF (IMS-ALG), provide the SCTP maximum message size;
upon request from the eP-CSCF (IMS-ALG), select an own certificate, and send the fingerprint of the own certificate to the eP-CSCF (IMS-ALG);
uniquely associate the certificate fingerprint(s) received from the eP-CSCF (IMS-ALG) with the corresponding DTLS association, and subsequently use the certificate fingerprint(s) to verify the establishment of the DTLS bearer session;
if the verification of the remote certificate fingerprint(s) during the DTLS bearer session establishment fails, regard the remote DTLS endpoint as not authenticated, terminate the DTLS bearer session and report the unsuccessful DTLS bearer session setup to the eP-CSCF (IMS-ALG);
upon completion of the DTLS association establishment, set up the SCTP association according to RFC 4960; and
deaggregate H.248 component streams upon request from the eP-CSCF (IMS-ALG).
If the eP-CSCF (IMS-ALG) requests that a termination with an existing SCTP association is being modified, the eIMS-AGW shall reuse an existing DTLS association and SCTP association.
If the eP-CSCF (IMS-ALG) requests that a new H.248 component stream with a H.248 stream group related to an SCTP association is being reserved, the eIMS-AGW shall set up the data channel according to RFC 8831 procedures. The eIMS-AGW shall also interwork the information sent or received in data channels with information sent or received on terminations and/or streams towards the IMS core network according to the configuration received by the eP-CSCF (IMS-ALG).
In the present Release, the closure of individual WebRTC data channels (clause 5.20.2.3.2) and the complete release of the entire WebRTC data service (clause 5.20.2.3.3) are supported.
A data channel can be closed before the end of the WebRTC call. In the present Release, the H.248 Stream endpoint related to a data channel may be removed after the closure of the data channel, but a subsequent reuse of the corresponding SCTP Stream identifier is possible via an SDP offer-answer exchange triggering the reservation of new H.248 Stream endpoint.
an SDP offer or answer from the WebRTC access network releasing a particular WebRTC data channel while maintaining the corresponding SCTP Association, encoded according to RFC 8864; or
an SDP offer or answer from the IMS core network disabling media streams that need to be transported within a WebRTC data channel on the WebRTC access network (i.e. media line with port zero) while maintaining other media streams that are transported within another data channel within the same SCTP Association enabled; or
a notification from the eIMS-AGW that the peer has reset the incoming SCTP Stream that corresponds to a data channel;
then the eP-CSCF (IMS-ALG):
shall provide the Send SCTP Stream Reset Requests Indicator information element to the eIMS-AGW to request the eIMS-AGW to start the SCTP Stream reset for the corresponding outgoing SCTP Stream;
may provide the Received SCTP Stream Reset Response information element to the eIMS-AGW if the eP-CSCF (IMS-ALG) wants to receive an explicit notification from the eIMS-AGW that the peer has reset the corresponding incoming SCTP Stream;
upon the reception of a Notification from the eIMS-AGW that the peer has reset the corresponding incoming SCTP Stream and the additional notification from the eIMS-AGW about the result of the outgoing SCTP Stream (if requested), may release the corresponding H.248 Stream endpoints at the terminations towards the WebRTC access network and towards the IMS core network;
if an received SDP offer or answer from the WebRTC access network triggered the release of the data channel, shall forward the SDP offer or answer to IMS core network with the media line corresponding to the media stream in the data channel disabled by port zero;
if an received SDP offer or answer from the IMS core network triggered the release of the data channel, shall forward the SDP offer or answer to WebRTC access network with the corresponding WebRTC data channel released with encoding according to RFC 8864; and
if all of the following conditions apply:
a notification from the eIMS-AGW that the peer has reset the incoming SCTP Stream triggered the release of the data channel;
the application subprotocol does not mandate that the closing of a data channel is also signalled via a new SDP offer/answer exchange; and
no corresponding SIP/SDP information is received in due time;
should send the appropriate SIP message with the SDP body to the IMS core network with the media line corresponding to the media stream in the data channel disabled by port zero.
an SDP offer or answer from the WebRTC access network requesting to release the SCTP Association used to transport data channels, encoded according to RFC 8864 (i.e. media line with port zero); or
an SDP offer or answer from the IMS core network disabling all media stream(s) that need to be transported within a WebRTC data channel on the WebRTC access network (i.e. media line(s) with port zero);
then the eP-CSCF (IMS-ALG):
shall release the corresponding H.248 Stream group or termination towards the WebRTC access network;
shall release the corresponding H.248 streamendpoint(s) or termination towards the IMS core network;
if an received SDP offer or answer from the WebRTC access network triggered the release of the SCTP Association, shall forward the SDP offer or answer to the IMS core network with all media line(s) corresponding to the media stream(s) in the data channel(s) within that SCTP Association disabled by port zero; and
if an received SDP offer or answer from the IMS core network triggered the release of the SCTP Association, shall forward the SDP offer or answer to WebRTC access network with the corresponding release of the SCTP Association with encoding according to RFC 8864 (i.e. media line with port zero).
When the eP-CSCF (IMS-ALG) requests the eIMS-AGW to release an entire H.248 Stream group or termination associated with an SCTP Association, then the eIMS-AGW should execute appropriate bearer control procedures to release the DTLS connection.
T.140 (see ITU T Recommendation T.140 [73]) is used for Global Text Telephony (GTT). T.140 signalling can be transferred over WebRTC data channels as a data channel sub-protocol according to RFC 8865. The WebRTC data channel procedures in clause 5.20.2.2 shall apply with the modifications described in the present clause.
T.140 within a data channel is identified via the "t140" value of the "subprotocol" parameter of the SDP "a=dcmap" attribute.
T.140 transported outside the data channel in the IMS core network is identified via the "RTP/AVP" or "RTP/AVPF" value of the "proto" parameter and the "text" value of the "media" parameter of the SDP m-line, and via the "t140" MIME subtype signalled in the SDP "a=rtpmap" attribute (see RFC 4103).
The eIMS-ALG shall apply the procedures in clause 5.20.2.2 to configure the eIMS-AGW for an application-aware handling of the contents within the data channel.
For the termination toward the IMS core network, the eIMS-ALG:
shall provision "RTP/AVP" or "RTP/AVPF" as transport and the "t140" payload type;
shall de-encapsulate the SDP "fmtp:t140 cps" attributes, "sendrecv", "sendonly", "recvonly", "inactive", "hlang-send" and "hlang-recv" received within "a=dcsa" attributes from the served WIC;
shall forward those attributes within the SDP body in the corresponding SIP message sent to the IMS core network; and
shall provision the SDP "fmtp:t140 cps" attributes to the eIMS-AGW.
For the termination towards the WebRTC access network, the eIMS-ALG:
shall not include the "max-retr", "max-time" and "ordered" parameters in the "a=dcmap" SDP attribute;
shall encapsulate SDP "fmtp:t140 cps", "sendrecv", "sendonly", "recvonly", "inactive", "hlang-send" and "hlang-recv" attributes received from the IMS core network within "a=dcsa" attributes and forward those attributes within the SDP body in the corresponding SIP message sent to the served WIC; and
shall provision SDP "fmtp:t140 cps" attributes received from the IMS core network to the eIMS-AGW.
The eIMS-AGW should handle T.140 protocol layer in the following application specific manner:
the eIMS-AGW should detect inactivity of T.140 traffic from the served WIC and then send empty RTP packets towards the IMS core network;
the eIMS-AGW should buffer the T.140 payload received within incoming RTP packets from the IMS core network to correct out-of-order delivery; and
the eIMS-AGW should detect missing RTP packets from the IMS core network and then send new T140 blocks with "missing text marker" information to the served WIC.
Media plane optimization procedures for WebRTC are described in TS 23.228, Annex U.2.4, and in TS 24.371, sublause 7.4.5. The purpose of media plane optimization procedures is to convey media between WebRTC clients without bearer level protocol conversion. When both ends are WebRTC IMS clients (WIC), the eIMS-AGWs remain allocated but media plane interworking is disabled, except when LI is needed. Depending on configuration in the eP-CSCF (IMS-ALG), the eIMS-AGW then forwards all protocol layers either including DTLS, or on top of DTLS transparently.
The SDP attributes associated with WebRTC media plane optimization procedures "tra-contact", "tra-m-line", "tra-att", "tra-SCTP-association", "tra-media-line-number" and "tra-bw" are defined in clause 7.5.4 of TS 24.229.
If an eP-CSCF (IMS-ALG) forwards an SDP offer from the WIC, and supports media plane optimization, and does not need to perform legal interception, then the eP-CSCF (IMS-ALG) will include media suitable for non-WebRTC IMS UEs, but also encapsulate information about the media in the original encoding as received in the SDP offer from the WIC in "tra-m-line", "tra-att" and "tra-bw" SDP attributes, as described in TS 24.371. The eP-CSCF (IMS-ALG) shall:
configure the eIMS-AGW to reserve resources suitable for the media described in the SDP offer outside the "tra-m-line", "tra-att" and "tra-bw" SDP attributes;
include the IP address received from the eIMS-AGW for the termination towards the IMS core network in the SDP contact line and also encapsulate the address information provided by the eIMS-AGW into a "tra-contact" attribute;
if the eP-CSCF (IMS-ALG) is configured to apply media plane optimization including the DTLS layer, for each media line in the SDP offer sent on the Mw interface that does not relate to a data channel or that is the first media line within the SDP offer that relates to a data channel, replace the UDP port number with a port number provided by the eIMS-AGW and encapsulate the UDP port number allocated by the eIMS-AGW in the "tra-m-line" SDP attribute; and
if the eP-CSCF (IMS-ALG) is configured to apply media plane optimization excluding the DTLS layer, in addition for each media line in the SDP offer sent on the Mw interface that does not relate to a data channel or that is the first media line within the SDP offer that relates to a data channel within one SCTP association:
reserve a stream endpoint or termination towards the IMS core network in "inactive" mode with "UDP/DTLS" as transport protocol, and the same IP address as allocated by the eIMS-AGW for the termination or stream endpoint with resources suitable for the media described in the SDP offer outside the "tra-m-line", "tra-att" and "tra-bw" SDP attributes;
request from the eIMS-AGW a certificate fingerprint for that stream endpoint or termination;
encapsulate a "fingerprint" attribute as provided by the eIMS-AGW into an "tra-att" attribute, and add this attribute as a media level attribute in the SDP offer; and
for a DTLS association that will be established towards the IMS core network create a DTLS association identity;
encapsulate an "a=tls-id" SDP attribute with the new DTLS association identity into an "tra-att" attribute, and add this attribute as a media level attribute in the SDP offer; and
replace the UDP port number with a port number provided by the eIMS-AGW and encapsulate the UDP port number allocated by the eIMS-AGW for the stream endpoint or termination towards the IMS core network with "UDP/DTLS" transport in the "tra-m-line" SDP attribute.
If an ePCSCF (IMS-ALG) receives an SDP answer from the IMS core network and the SDP answer includes "tra-m-line" media level SDP attributes, the eP-CSCF (IMS-ALG) will de-encapsulate information to the optimized media from the received SDP answer and construct the SDP answer towards the WIC based on that de-encapsulated information as described in TS 24.371. The eP-CSCF (IMS-ALG) shall:
for each media line in the SDP answer, which is not marked with a "tra-SCTP-association" SDP attribute or which is the first media line in the SDP answer marked with a "tra-SCTP-association" SDP attribute that indicates an SCTP association:
if the eP-CSCF (IMS-ALG) is configured to apply media plane optimization including the DTLS layer, reconfigure the terminations or stream endpoints towards the IMS core network and towards the WIC related to that media line to transport "UDP" and media format agnostic information; or
if the eP-CSCF (IMS-ALG) is configured to apply media plane optimization excluding the DTLS layer:
configure the eIMS-AGW to release the termination or stream endpoint towards the IMS core network with resources suitable for the media described in the SDP offer outside the "tra-m-line", "tra-att" and "tra-bw" SDP attributes;
configure the eIMS-AGW to through-connect the stream endpoint or termination towards the IMS core network with "UDP/DTLS" as transport protocol;
provide the fingerprint(s) received in the corresponding "tra-att" SDP attribute(s) to the eIMS-AGW for the stream endpoint or termination towards the IMS core network and do not provide those fingerprint attribute(s) towards the WIC;
reserve a stream endpoint or termination towards the WIC with "UDP/DTLS" as transport protocol;
provide the fingerprint(s) received in the corresponding "fingerprint" SDP attribute(s) in the previous SDP offer from the WIC to the eIMS-AGW for the stream endpoint or termination towards the WIC;
request from the eIMS-AGW a certificate fingerprint for the stream endpoint or termination towards the WIC;
include fingerprint provided by the eIMS-AGW into an "fingerprint" attribute, and add this attribute as a media level attribute in the SDP answer sent towards the WIC;
for a DTLS association that will be established towards WIC create a DTLS association identity and include an "a=tls-id" attribute with the new DTLS association identity in the SDP answer sent towards the WIC;
determine via the SDP "a=setup" attribute (see RFC 7345) encapsulated in "tra-att" SDP attribute if the eIMS-AGW needs to act as DTLS client or DTLS server towards the IMS core network and towards the WIC; and
for the termination where the eIMS-AGW needs to act as DTLS server, provide the Establish (D)TLS session information element to request the eIMS-AGW to start the DTLS session setup; and
include the UDP port number allocated by the eIMS-AGW for the termination or stream endpoint towards the WIC in the SDP media line in the SDP answer to the WIC;
include the IP address received from the eIMS-AGW for the termination towards the WIC in the SDP contact line sent toward the WIC; and
if several media lines in the SDP answer are marked with "tra-SCTP-association" SDP attributes indicating the same SCTP association, release the stream endpoints related to the second and subsequent of those media lines (in the order they appear in the SDP answer).
If an eP-CSCF (IMS-ALG) receives an SDP offer from the IMS core network and the eP-CSCF (IMS-ALG) supports media plane optimization, then the eP-CSCF (IMS-ALG) will determine whether media plane optimization is to be applied as described in TS 24.371. If media plane optimization is to be applied, then the eP-CSCF (IMS-ALG) will de-encapsulate information to the optimized media from the received SDP offer and construct the SDP offer towards the WIC based on that de-encapsulated information as described in TS 24.371, and the eP-CSCF (IMS-ALG) shall:
for each media line in the SDP offer, which is not marked with a "tra-SCTP-association" SDP attribute or which is the first media line in the SDP answer marked with "tra-SCTP-association" SDP attribute that indicates an SCTP association:
reserve a termination or stream endpoint towards the WIC related to that media line;
if the eP-CSCF (IMS-ALG) is configured to apply media plane optimization including the DTLS layer, provide transport "UDP" and media format agnostic information for the termination or stream endpoint towards the WIC;
if the eP-CSCF (IMS-ALG) is configured to apply media plane optimization excluding the DTLS layer:
provide transport "UDP/DTLS" and media format agnostic information for the termination or stream endpoints toward the WIC;
request from the eIMS-AGW a certificate fingerprint for the stream endpoint or termination towards the WIC;
encapsulate fingerprint provided by the eIMS-AGW into an "fingerprint" attribute, and add this attribute as a media level attribute in the SDP offer sent towards the WIC; and
do not provide the fingerprint received in the SDP offer in the corresponding "tra-att" SDP attributes towards the WIC;
for a DTLS association that will be established towards WIC create a DTLS association identity, and add an "a=tls-id" SDP attribute with the new DTLS association identity in the SDP offer sent towards the WIC; and
include the UDP port number allocated by the eIMS-AGW for the stream endpoint or termination towards the WIC in the SDP media line; and
include the IP address received from the eIMS-AGW for the termination towards the WIC in the SDP contact line sent toward the WIC.
If the eP-CSCF (IMS-ALG) receives an SDP answer from the WIC and the eP-CSCF (IMS-ALG) decided to apply media plane optimization when processing the corresponding SDP offer, then the eP-CSCF (IMS-ALG) will construct the SDP answer towards the IMS core network encapsulating received information as described in TS 24.371, and the eP-CSCF (IMS-ALG) shall:
reserve a termination or stream endpoint towards the IMS core network;
for each media line in the received SDP answer:
if the eP-CSCF (IMS-ALG) is configured to apply media plane optimization including the DTLS layer, provide transport "UDP" and media format agnostic information for the termination or stream endpoint towards the IMS core network;
if the eP-CSCF (IMS-ALG) is configured to apply media plane optimization excluding the DTLS layer:
provide the fingerprint(s) received in the "fingerprint" SDP attribute from the WIC to the eIMS-AGW for the stream endpoint or termination towards the WIC;
provide transport "UDP/DTLS" and media format agnostic information for the termination or stream endpoint towards the IMS core network;
request from the eIMS-AGW a certificate fingerprint for the stream endpoint or termination towards the IMS core network;
encapsulate fingerprint provided by the eIMS-AGW for the termination or stream endpoint towards the IMS core network into a "tra-att" SDP attribute, and add this attribute as a media level attribute in the SDP answer sent towards the IMS core network;
for a DTLS association that will be established towards the IMS core network create a DTLS association identity;
encapsulate an "a=tls-id" SDP attribute with the new DTLS association identity into an "tra-att" attribute, and add this attribute as a media level attribute in the SDP answer sent towards the IMS core network;
determine via the SDP "a=setup" attribute (see RFC 7345) if the eIMS-AGW needs to act as DTLS client or DTLS server towards the IMS core network and towards the WIC; and
for the termination where the eIMS-AGW needs to act as DTLS server, provide the Establish (D)TLS session information element to request the eIMS-AGW to start the DTLS session setup; and
encapsulate the UDP port number allocated by the eIMS-AGW for the stream endpoint or termination towards the IMS core network in the "tra-m-line" SDP attribute; and
include the IP address received from the eIMS-AGW for the termination towards the IMS core network in the SDP contact line.