A.17 SDP offers and answers with data channel capability signalling

26.1143GPPIP Multimedia Subsystem (IMS)Media handling and interactionMultimedia telephonyRelease 18TS

The ellipsis ("…") in the examples in this clause is not part of the SDP but indicates possible presence of other media descriptions in addition to the ones shown in the examples.

Table A.17.1 demonstrates an example SDP offer with data channel capability signalling for the "bootstrap" data channel defined in clause 6.2.10. The offering part is an ICE Lite agent, indicated by "a=ice-lite" on SDP session level (i.e., before first m= line), and thus only offers host candidates, in this example a single host candidate aligned with address information on the corresponding m= and c= lines.

Table A.17.1: Example SDP offer with data channel capability signalling

SDP offer

a=ice-options:ice2

a=ice-lite

m=application 52718 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 192.0.2.156

b=AS:500

a=candidate:1 1 UDP 2130706431 192.0.2.156 52718 typ host
a=ice-ufrag:8hhY

a=ice-pwd:asd88fgpdd777uzjYhagZg

a=max-message-size:1024

a=sctp-port:5000

a=setup:actpass

a=fingerprint:SHA-1 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB

a=tls-id: abc3de65cddef001be82

a=dcmap:0 subprotocol="http"

An example SDP answer is shown in Table A.17.2, where the data channel capability signalling from Table A.17.1 is also supported and accepted by the answerer, as indicated by the non-zero port on the m= line. The answering part is an ICE Lite agent, indicated by "a=ice-lite" on SDP session level, and only supports ICE according to the predecessor ICE specification to [184] as indicated by no "a=ice-options:ice2" being included on SDP session level.

Table A.17.2: Example SDP answer with data channel capability

SDP answer

a=ice-lite

m=application 52718 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 192.0.2.1

b=AS:500
a=candidate:1 1 UDP 2130706431 192.0.2.1 52718 typ host
a=ice-ufrag:9uB6

a=ice-pwd:YH75Fviy6338Vbrhrlp8Yh

a=max-message-size:1024

a=sctp-port:5002

a=setup:passive

a=fingerprint:SHA-1 5B:AD:67:B1:3E:82:AC:3B:90:02:B1:DF:12:5D:CA:6B:3F:E5:54:FA

a=tls-id: dcb3ae65cddef0532d42

a=dcmap:0 subprotocol="http"

Table A.17.3 demonstrates an example SDP offer with multiple possible data channel application sources for the "bootstrap" data channel defined in Table 6.2.10.1-2. In this example, the offering part supports full ICE, indicated by no "a=ice-lite" on SDP session level.

Table A.17.3: Example SDP offer with multiple data channel application sources

SDP offer

a=ice-options:ice2

m=application 52718 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP6 fe80::6676:baff:fe9c:ee4a

b=AS:500

a=candidate:1 1 UDP 2130706431 fe80::6676:baff:fe9c:ee4a 52718 typ host

a=ice-ufrag:8hhY

a=ice-pwd:asd88fgpdd777uzjYhagZg
a=max-message-size:1024

a=sctp-port:5000

a=setup:actpass

a=fingerprint:SHA-1 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB

a=tls-id: abc3de65cddef001be82

a=dcmap:0 subprotocol="http"

a=dcmap:10 subprotocol="http"

a=dcmap:100 subprotocol="http"

a=dcmap:110 subprotocol="http"

An example SDP answer is shown in Table A.17.4, where only one of the the data channel application sources from the offer in Table A.17.3 is accepted by the answerer, removing the other a=dcmap lines.

Figure 6.2.10.1-3 in clause 6.2.10.1 may be used as illustration to this example, in which case UE A in that Figure would send the offer in Table A.17.3, and UE B would send the answer in Table A.17.4.

In this SDP answer, the answerer (UE B) only accepts stream ID 110 to receive the data channel application from the offerer (UE A), but UE B has rejected to use any other data channel application provider.

Table A.17.4: Example UE SDP answer choosing a single data channel application source

SDP answer

a=ice-options:ice2
a=ice-lite

m=application 52718 UDP/DTLS/SCTP webrtc-datachannel

c=IN IP4 192.0.2.1

b=AS:500

a=candidate:1 1 UDP 2130706431 192.0.2.1 52718 typ host
a=ice-ufrag:9uB6

a=ice-pwd:YH75Fviy6338Vbrhrlp8Yh
a=max-message-size:1024

a=sctp-port:5002

a=setup:passive

a=fingerprint:SHA-1 5B:AD:67:B1:3E:82:AC:3B:90:02:B1:DF:12:5D:CA:6B:3F:E5:54:FA

a=tls-id: dcb3ae65cddef0532d42

a=dcmap:110 subprotocol="http"

Figure 6.2.10.1-3 in clause 6.2.10.1 may be used as illustration also to the example in Table A.17.5, in which case UE A in Figure 6.2.10.1-3 would send the offer in Table A.17.3, and the SDP answer sent back to UE A from the network would be the one in Table A.17.5.

In the SDP answer in Table A.17.5 sent from UE A’s (local) network, it is accepting stream ID 10 that would be used by UE A to receive its own, chosen data channel application, corresponding to the data channel application sent to UE B in stream ID 110 based on the SDP answer in Table A.17.4 such that both UEs can use the same application. That application is however received through different stream IDs for UE A and UE B, as shown in Figure 6.2.10.1-3.

Table A.17.5: Example network SDP answer choosing a single data channel application source

SDP answer

a=ice-options:ice2
a=ice-lite

m=application 52718 UDP/DTLS/SCTP webrtc-datachannel

c=IN IP4 192.0.2.1

b=AS:500

a=candidate:1 1 UDP 2130706431 192.0.2.1 52718 typ host
a=ice-ufrag:9uB6

a=ice-pwd:YH75Fviy6338Vbrhrlp8Yh
a=max-message-size:1024

a=sctp-port:5010

a=setup:active

a=fingerprint:SHA-1 BC:8A:99:A0:E3:28:CA:B3:09:20:1B:FD:21:D5:AC:B6:F3:5E:45:AF

a=tls-id: cd3bea56dced0f35d224

a=dcmap:10 subprotocol="http"

Table A.17.6 demonstrates an example SDP (re-)offer that adds two non-bootstrap data channel streams used by the data channel application in the bootstrap data channel in Table A.17.5. The data channel application streams (two in this example) desire specific loss and latency characteristics indicated by the "a=3gpp-qos-hint" line (see also Annex A.16). and are offered as a separate m= line due to having different QoS requirements and different destination (e.g. a peer UE) than the bootstrap data channel The stream with ID 38754 has a strict latency requirement and data older than 150 ms will not be transmitted or re-transmitted. The stream with ID 7216 requires lower loss but can accept somewhat higher latency than stream ID 38754 and therefore allows at most 5 SCTP-level retransmissions.

Table A.17.6: Example SDP offer with data channel application streams

SDP offer

c=IN IP4 192.0.2.156
a=ice-options:ice2

a=ice-lite

m=application 52718 UDP/DTLS/SCTP webrtc-datachannel

b=AS:500

a=candidate:1 1 UDP 2130706431 192.0.2.156 52718 typ host
a=ice-ufrag:8hhY

a=ice-pwd:asd88fgpdd777uzjYhagZg
a=max-message-size:1024

a=sctp-port:5000

a=setup: actpass

a=fingerprint:SHA-1 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB

a=tls-id: abc3de65cddef001be82

a=dcmap:10 subprotocol="http"

m=application 52720 UDP/DTLS/SCTP webrtc-datachannel

b=AS:1000

a=candidate:1 1 UDP 2130706431 192.0.2.156 52720 typ host
a=ice-ufrag:9uB6

a=ice-pwd: YH75Fviy6338Vbrhrlp8Yh
a=max-message-size:1024

a=sctp-port:5000

a=setup: actpass

a=fingerprint:SHA-1 BC:8A:99:A0:E3:28:CA:B3:09:20:1B:FD:21:D5:AC:B6:F3:5E:45:AF

a=tls-id: cd3bea56dced0f35d224

a=dcmap:38754 max-time=150;label="low latency"

a=dcmap:7216 max-retr=5;label="low loss"

a=3gpp-qos-hint:loss=0.01;latency=100