8 Data channel open and close
24.3713GPPProtocol specificationRelease 17Stage 3TSWeb Real-Time Communications (WebRTC) access to the IP Multimedia (IM) Core Network (CN) subsystem (IMS)
8.1 General
This clause specifies the procedures for negotiating usage of, and opening and closing of, a WebRTC data channel between the WIC and the eP-CSCF.
WebRTC data channels are realized using an SCTP association running on top of DTLS, as described in RFC 8261 [23] and rfc 8831 [16].
If WebRTC data channels are supported, UDP transport of DTLS shall be supported and TCP transport of DTLS may be supported to enable traversal of UDP-blocking NATs/firewalls. ICE procedures as defined in 3GPP TS 24.229 [3] shall be used to negotiate the transport protocol. UDP shall be offered as ICE default candidate and TCP may be offered as additional ICE candidate.
Once the SCTP association has been negotiated (using RFC 8841 [18]) and established, the WIC and eIMS-AGW (controlled by the eP-CSCF) either use the Data Channel Establishment Protocol (DCEP) for opening data channels, as described in RFC 8832 [17], or they use the SDP negotiation based on RFC 8864 [36].
Closing of a data channel is signalled via SCTP and, if SDP negotiation was used for the data channel establishment, also using RFC 8864 [36].
8.2 WIC (WebRTC IMS Client)
8.2.1 General
The WIC shall follow the general call establishment procedures in clause 7. This clause defines the additional procedures for establishing WebRTC data channels within the call.
8.2.2 WIC originating call
Upon generating an SDP offer, the WIC shall insert an "m=" line with the proto value set to "UDP/DTLS/SCTP", and the fmt value set to "webrtc-datachannel" according to RFC 8841 [18], in the SDP offer. The WIC may additionally, within the same "m=" line, offer TCP transport protocol with appropriate ICE candidates according to RFC 6544 [28]. In addition, the WIC shall insert an SDP sctp-port attribute according to RFC 8841 [18].
The procedures of RFC 8864 [36] should be used as follows:
a) If MSRP is transported over the data channel, the WIC shall follow the procedures of RFC 8873 [37].
b) If T.140 is transported over the data channel, the WIC shall follow the procedures of RFC 8865 [40].
NOTE: Alternatively, if a single data channel is to be used, then knowledge of the usage of the data channel could be based on configuration, or could be implicitly determined based on proprietary information carried in the signalling protocol. Such mechanisms are outside the scope of this specification.
8.2.3 WIC terminating call
Upon receiving an SDP offer, with an "m=" line with the proto value set to "UDP/DTLS/SCTP", and the "m=" line fmt value set to "webrtc-datachannel", the WIC shall follow the procedures in RFC 8841 [18] for generating the associated SDP answer. In addition, the WIC shall insert an SDP sctp-port attribute according to RFC 8841 [18].
NOTE 1: As specified in clause 7.2.3, the WIC will perform the ICE procedures as defined in RFC 8445 [45] and RFC 8839 [46], and possibly RFC 6544 [28], and determines the appropriate transport protocol (UDP or TCP) for the data channel in that manner.
The procedures of RFC 8864 [36] should be used as follows:
a) If MSRP is transported over the data channel, the WIC shall follow the procedures of RFC 8873 [37].
b) If T.140 is transported over the data channel, the WIC shall follow the procedures of draft-schwarz-mmusic-t140-usage-data-channel [40].
NOTE 2: Alternatively, if a single data channel is to be used, then knowledge of the usage of the data channel could be based on configuration, or could be implicitly determined based on proprietary information carried in the signalling protocol. Such mechanisms are outside the scope of this specification.
8.3 WWSF (WebRTC Web Server Function)
8.4 eP-CSCF (P-CSCF enhanced for WebRTC)
8.4.1 General
The eP-CSCF shall follow the general call establishment procedures in clause 7. This clause defines the additional procedures for establishing WebRTC data channels within the call.
In the current release of the specification, the eIMS-AGW will act as an endpoint for all WebRTC data channels established between the eIMS-AGW and the served WIC. If the eIMS-AGW is able to perform transport protocol interworking for a media transported between the eIMS-AGW and the served WIC using a data channel, and between the eIMS-AGW and the remote user using another transport protocol, the eP-CSCF can instruct the eIMS-AGW to perform transport protocol interworking between the data channel and the other transport protocol.
8.4.2 WIC originating call
Upon receiving an SDP offer from the served WIC, with an "m=" line with the proto value set to "UDP/DTLS/SCTP", and the fmt value set to "webrtc-datachannel", according to RFC 8841 [18], the eP-CSCF shall:
– remove the "m=" line from the SDP offer; and
– for each media transported between the WIC and the eIMS-AGW using a data channel, and for which the eIMS-AGW is able to perform transport protocol interworking between a data channel and another transport protocol, insert an "m=" line describing the media and the transport protocol used for the media in the SDP offer;
before forwarding the SDP offer towards the remote user.
NOTE 1: As specified in clause 7.4.2, the eP-CSCF will perform the ICE procedures as defined in 3GPP TS 24.229 [3], and determines the appropriate transport protocol (UDP or TCP) for the data channel in that manner.
Upon receiving an SDP answer to the SDP offer, the eP-CSCF shall:
– remove each "m=" line associated with an "m=" line that the eP-CSCF inserted in the associated SDP offer from the SDP answer;
– insert an "m=" line with the proto value set to "UDP/DTLS/SCTP", and the fmt value set to "webrtc-datachannel" according to RFC 8841 [18], in the SDP answer;
– insert an SDP sctp-port attribute according to RFC 8841 [18], in the SDP answer; and
– for each media accepted by the remote user, for which the eIMS-AGW can perform transport protocol interworking between a data channel and another transport protocol, instruct the eIMS-AGW to perform the transport protocol interworking;
before forwarding the SDP answer towards the served WIC.
The procedures of RFC 8864 [36] should be used as follows:
a) If MSRP is transported over the data channel, the eP-CSCF shall follow the procedures of RFC 8873 [37].
b) If T.140 is transported over the data channel, the eP-CSCF shall follow the procedures of RFC 8865 [40].
NOTE 2: Alternatively, if a single data channel is to be used, then knowledge of the usage of the data channel could be based on configuration, or could be implicitly determined based on proprietary information carried in the signalling protocol. Such mechanisms are outside the scope of this specification.
8.4.3 WIC terminating call
Upon receiving an SDP offer from the remote user, the eP-CSCF shall:
– remove each "m=" line that describes media which is transported between the WIC and the eIMS-AGW using a data channel from the SDP offer;
– insert an "m=" line with the proto value set to "UDP/DTLS/SCTP", and the fmt value set to "webrtc-datachannel" according to RFC 8841 [18], in the SDP offer; and
– insert an SDP sctp-port attribute according to RFC 8841 [18], in the SDP offer;
before forwarding the SDP offer towards the served WIC.
NOTE 1: As specified in clause 7.4.2, the eP-CSCF will perform the ICE procedures as defined in 3GPP TS 24.229 [3], and determines the appropriate transport protocol (UDP or TCP) for the data channel in that manner.
Upon receiving an SDP answer to the SDP offer, with an "m=" line with the proto value set to "UDP/DTLS/SCTP", and the fmt value set to "webrtc-datachannel", according to RFC 8841 [18], the eP-CSCF shall:
– remove the "m=" line from the SDP answer;
– for each media which the eIMS-AGW is able to perform transport protocol interworking between a data channel and another transport protocol, and for which the SDP offer contained an "m=" line, insert an "m=" line describing the media and the transport protocol used for the media in the SDP answer; and
– for each media accepted by the remote user, for which the eIMS-AGW can perform transport protocol interworking between a data channel and another transport protocol, instruct the eIMS-AGW to perform the transport protocol interworking;
before forwarding the SDP answer towards the remote user.
The procedures of RFC 8864 [36] should be used as follows:
a) If MSRP is transported over the data channel, the eP-CSCF shall follow the procedures of RFC 8873 [37].
b) If T.140 is transported over the data channel, the eP-CSCF shall follow the procedures of RFC 8865 [40].
NOTE 2: Alternatively, if a single data channel is to be used, then knowledge of the usage of the data channel could be based on configuration, or could be implicitly determined based on proprietary information carried in the signalling protocol. Such mechanisms are outside the scope of this specification.