Subject: [rtcweb] Syntax issues in draft-ietf-rtcweb-sdp

From: Adam Roach <[email-masked]>
Date: Fri, 1 Dec 2017 21:47:10 -0600

[as an individual]

I wrote a script that extracts the SDP from the XML source of 
draft-ietf-rtcweb-sdp-08 and does some very basic syntax checks on it. 
I'm posting the results here as feedback on the document to assist in 
correcting the examples. Note that I have *not* performed any semantic 
verification of the SDP itself, only the syntax.

Total error count: 152

==============================================================================
5.2.1 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio
a=ice-options:trickle
a=identity:eyJpZHAiOnsiZG9tYWluIjoibmlpZi5odSIsInByb3RvY29sIjoiaWRwLmh0bWwifSwiYXNzZXJ0a 
W9uIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklrcFhVeUo5LmV5SmpiMjUwWlc1MGN5STZleUptYVc1b 
lpYSndjbWx1ZENJNlczc2lZV3huYjNKcGRHaHRJam9pYzJoaExUSTFOaUlzSW1ScFoyVnpkQ0k2SWprek9rTXdPa 
kl6T2pKR09rRXlPakF3T2pBd09qQkVPalV4T2tGRE9rUXlPalUwT2pZMU9rWTBPak5DT2pkRU9qa3lPa1JET2pnN 
E9qTXpPalV4T2pJek9qUXdPamN5T2preE9qZ3pPalZDT2pBeE9qSkdPalV3T2pjNE9qTkdJbjFkZlN3aWFXUmxib 
lJwZEhraU9pSnRhWE5wUUc1cGFXWXVhSFVpZlEuSTVQdGhKNFFDT05TOFVXd25OOUh3MEdaTDl3d0RBVGRrTWtFW 
llmdlNVTTJ6Umd5R09WSGgzRmpnc2FPZklkRnFsNUx6azBFbndVOTNQOUlCQ0xZOWtia3V1c0V1S25YRGVNLTNIN 
WFmdTJvZl9CTlZjUnB3MmdBdlNBbVR6SlltcEpqMFEtdmV0TmtVT1huZE9HLUIzT3ZGb3QwZVNENlZSNUdhb2wyc 
GduS3FSTktOd3dacEZ1eUZZbFRodHJIdGNiT19WV3o4QnZpTThKS25OdExWd1JxNUhMX2ZLTlRCNzFDYkoyWmh5W 
XU1UEdwWDhXcXJMWC1ybm5YSFY3RnhoTTh5OHdrLWd5cnRZazVnbFlZeUFrcTVqZklSXzRzWER5d19Qc1BWTW1aZ 
XltenVGV3BQTzVFWlJYR0ZpRjFET0o4Q0Q3Z3Zta2dUdlBXSWpkemtBIn0=

*** ERROR: invalid syntax for 'identity'
*** Note: Removing errant spaces fixes this problem.

m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp:60065 IN IP4 203.0.113.141
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2122194687 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:0 2 UDP  2122194687 192.0.2.4 61667 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 2 UDP  1685987071 203.0.113.141 60065 typ srflx raddr 
192.0.2.4 rport 61667

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates

==============================================================================
5.2.1 SDP Answer
==============================================================================
v=0
o=-  16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio
a=ice-options:trickle
a=identity:ew0KICAiaWRwIjp7DQogICAgImRvbWFpbiI6ICJjaXNjb3NwYXJrLmNvbSIsDQogICAg 
InByb3RvY29sIjogImRlZmF1bHQiDQogIH0sDQogICJhc3NlcnRpb24iOiAibEp3WkVocmFVOXBTblJo 
V0U1d1VVYzFjR0ZYV1hWaFNGVnBabEV1U1RWUWRHaEtORkZEVDA1VE9GVlhkMjVPT1VoM01FZGFURGwz 
ZDBSQlZHUnJUV3RGVw0KICAgICAgICAgICAgICBsbG1kbE5WVFRKNlVtZDVSMDlXU0dnelJtcG5jMkZQ 
Wmtsa1JuRnNOVXg2YXpCRmJuZFZPVE5RT1VsQ1EweFpPV3RpYTNWMWMwVjFTMjVZUkdWTkxUTklODQog 
ICAgICAgICAgICAgIFdGbWRUSnZabDlDVGxaalVuQjNNbWRCZGxOQmJWUjZTbGx0Y0VwcU1GRXRkbVYw 
VG10VlQxaHVaRTlITFVJelQzWkdiM1F3WlZORU5sWlNOVWRoYjJ3eWMNCiAgICAgICAgICAgICAgR2R1 
UzNGU1RrdE9kM2RhY0VaMWVVWlpiRlJvZEhKSWRHTmlUMTlXVjNvNFFuWnBUVGhLUzI1T2RFeFdkMUp4 
TlVoTVgyWkxUbFJDTnpGRFlrb3lXbWg1VyINCn0=

*** ERROR: invalid syntax for 'identity'
*** Note: Removing errant spaces fixes this problem.

m=audio 49203 UDP/TLS/RTP/SAVPF 109 0 8
c=IN IP4 203.0.113.77
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=maxptime:120
a=ice-ufrag:05067423
a=ice-pwd:1747d1ee3474a28a397a4c3f3af08a068
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 2122194687 198.51.100.7 51556 typ host
a=candidate:1 1 UDP 1685987071 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556
a=end-of-candidates

==============================================================================
5.2.2.1 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video
a=group:LS audio video
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04: 
BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2122194687 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 54609 UDP/TLS/RTP/SAVPF 99 120
c=IN IP4 203.0.113.141
a=mid:video
a=msid:ma tb
a=sendrecv
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=4d0028;packetization-mode=1
a=rtpmap:120 VP8/90000
a=rtcp-fb:99 nack
a=rtcp-fb:99 nack pli
a=rtcp-fb:99 ccm fir
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.2.2.1 SDP Answer
==============================================================================
v=0
o=-  16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video
a=group:LS audio video
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 3618095783 198.51.100.7 49203 typ host
a=candidate:1 1 UDP 565689203 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556
a=end-of-candidates
m=video 49203 UDP/TLS/RTP/SAVPF 99
c=IN IP4 203.0.113.77
a=mid:video
a=msid:ma tb
a=sendrecv
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=4d0028;packetization-mode=1
a=rtcp-fb:99 nack
a=rtcp-fb:99 nack pli
a=rtcp-fb:99 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.2.2.2 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video
a=group:LS audio video
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04: 
BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2122194687 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:0 1 UDP  2122194687 2001:DB8:8101:3a55:4858:a2a9:22ff:99b9 
61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 54609 UDP/TLS/RTP/SAVPF 99 120
c=IN IP4 203.0.113.141
a=mid:video
a=msid:ma tb
a=sendrecv
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=4d0028;packetization-mode=1
a=rtpmap:120 VP8/90000
a=rtcp-fb:99 nack
a=rtcp-fb:99 nack pli
a=rtcp-fb:99 ccm fir
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.2.2.2 SDP Answer
==============================================================================
v=0
o=-  16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video
a=group:LS audio video
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 3618095783 198.51.100.7 49203 typ host
a=candidate:0 1 UDP 3618095783 2001:DB8:30c:1266:5916:3779:22f6:77f7 
49203 typ host
a=end-of-candidates
m=video 49203 UDP/TLS/RTP/SAVPF 99
c=IN IP4 203.0.113.77
a=mid:video
a=msid:ma tb
a=sendrecv
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=4d0028;packetization-mode=1
a=rtcp-fb:99 nack
a=rtcp-fb:99 nack pli
a=rtcp-fb:99 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.2.3 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE data
a=ice-options:trickle
m=application 54609 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 203.0.113.141
a=mid:data
a=sendrecv
a=sctp-port:5000
a=max-message-size:100000
a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host
a=candidate:1 1 UDP 1694302207 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665
a=end-of-candidates

==============================================================================
5.2.3 SDP Answer
==============================================================================
v=0
o=-  16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE data
m=application 49203 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 203.0.113.77
a=mid:data
a=sendrecv
a=sctp-port:5000
a=max-message-size:100000
a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host
a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556
a=end-of-candidates

==============================================================================
5.2.4 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2113667327 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates

==============================================================================
5.2.4 SDP Answer
==============================================================================
v=0
o=-  16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=mid:audio
a=msid:ma ta
a=inactive
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2113667327 198.51.100.7 51556 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  1685987071 203.0.113.141 49203 typ srflx raddr 
198.51.100.7 rport 51556

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates

==============================================================================
5.2.5 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio dtmf
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2122194687 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=audio 54609 UDP/TLS/RTP/SAVPF 126
c=IN IP4 203.0.113.141
a=mid:dtmf
a=msid:ma tb
a=sendonly
a=rtpmap:126 telephone-event/8000
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.2.5 SDP Answer
==============================================================================
v=0
o=-  16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio dtmf
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 2122194687 198.51.100.7 51556 typ host
a=candidate:1 1 UDP 1685987071 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556
a=end-of-candidates
m=audio 49203 UDP/TLS/RTP/SAVPF 126
c=IN IP4 203.0.113.77
a=mid:dtmf
a=msid:ma tb
a=recvonly
a=rtpmap:126 telephone-event/8000
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.2.6 SDP Offer
==============================================================================
v=0
o=- 20519 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video
a=group:LS audio video
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendonly
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2122194687 203.0.113.141 54609 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 54609 UDP/TLS/RTP/SAVPF 120
c=IN IP4 203.0.113.141
a=mid:video
a=msid:ma tb
a=sendonly
a=rtpmap:120 VP8/90000
a=content:slides
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.2.6 SDP Answer
==============================================================================
v=0
o=- 16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video
a=group:LS audio video
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=mid:audio
a=msid:ma ta
a=recvonly
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 2113667327 203.0.113.77 49203 typ host
a=end-of-candidates
m=video 49203 UDP/TLS/RTP/SAVPF 120
c=IN IP4 203.0.113.77
a=mid:video
a=msid:ma tb
a=recvonly
a=rtpmap:120 VP8/90000
a=content:slides
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.2.7 SDP Offer w/BUNDLE
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video
a=group:LS audio video
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp:54610 IN IP4 203.0.113.141
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2122194687 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:0 2 UDP 2122194687 192.0.2.4 61666 typ host
a=candidate:1 2 UDP  1685987071 203.0.113.141 54610 typ srflx raddr 
192.0.2.4 rport 61666

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

m=video 62537 UDP/TLS/RTP/SAVPF 120
c=IN IP4 203.0.113.141
a=mid:video
a=msid:ma tb
a=sendrecv
a=rtpmap:120 VP8/90000
a=ice-ufrag:6550074c
a=ice-pwd:74af08a068a28a397a4c3f31747d1ee34
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:2

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp:62538 IN IP4 203.0.113.141
a=rtcp-rsize
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2122194687 192.0.2.4 61886 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  1685987071 203.0.113.141 62537 typ srflx raddr 
192.0.2.4 rport 61886

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:0 2 2122194687 192.0.2.4 61888 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Adding 'UDP' fixes this problem.

a=candidate:1 2 UDP 1685987071 203.0.113.141 62538 typ srflx raddr 
192.0.2.4 rport 61888

==============================================================================
5.2.8 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video data
a=group:LS audio video
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.141
a=msid:ma ta
a=mid:audio
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2122194687 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 54609 UDP/TLS/RTP/SAVPF 120
c=IN IP4 203.0.113.141
a=mid:video
a=msid:ma tb
a=sendrecv
a=rtpmap:120 VP8/90000
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
m=application 54609 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 203.0.113.141
a=mid:data
a=sctp-port:5000
a=max-message-size:100000
a=sendrecv

==============================================================================
5.2.8 SDP Answer
==============================================================================
v=0
o=- 16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video data
a=group:LS audio video
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=msid:ma ta
a=mid:audio
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 2122194687 198.51.100.7 51556 typ host
a=candidate:1 1 UDP 1685987071 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556
a=end-of-candidates
m=video 49203 UDP/TLS/RTP/SAVPF 120
c=IN IP4 203.0.113.77
a=mid:video
a=msid:ma tb
a=sendrecv
a=rtpmap:120 VP8/90000
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
m=application 49203 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 203.0.113.77
a=mid:data
a=sctp-port:5000
a=max-message-size:100000
a=sendrecv

==============================================================================
5.2.10 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video
a=group:LS audio video
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2113667327 192.0.2.4 54609 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 54609 UDP/TLS/RTP/SAVPF 120
c=IN IP4 203.0.113.141
a=mid:video
a=msid:ma tb
a=sendrecv
a=rtpmap:120 VP8/90000
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
m=application 10000 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 203.0.113.141
a=mid:data
a=sctp-port:5000
a=max-message-size:100000
a=sendrecv
a=setup:actpass
a=ice-ufrag:89819013
a=ice-pwd:1747d1ee3474af08a068a28a397a4c3f3
a=fingerprint:sha-256 29:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04: 
BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=candidate:0 1 UDP  2113667327 192.0.2.4 10000 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates

==============================================================================
5.2.10 SDP Answer
==============================================================================
v=0
o=-  16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video
a=group:LS audio video
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 2113667327 198.51.100.7 49203 typ host
a=end-of-candidates
m=video 49203 UDP/TLS/RTP/SAVPF 120
c=IN IP4 203.0.113.77
a=mid:video
a=msid:ma tb
a=sendrecv
a=rtpmap:120 VP8/90000
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
m=application 20000 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 203.0.113.77
a=mid:data
a=sctp-port:5000
a=max-message-size:100000
a=setup:active
a=sendrecv
a=ice-ufrag:991Ca2a5e
a=ice-pwd:921d5d47efbabd9a2de4e99bd291c325
a=fingerprint:sha-256 7B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35: 
DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=candidate:0 1 UDP 2113667327 198.51.100.7 20000 typ host
a=end-of-candidates

==============================================================================
5.2.11 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2113667327 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates

==============================================================================
5.2.10 SDP Answer
==============================================================================
v=0
o=-  16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host
a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556
a=end-of-candidates

==============================================================================
5.2.11 SDP Updated Offer
==============================================================================
v=0
o=- 20518 1 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video
a=group:LS audio video
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2113667327 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 54609 UDP/TLS/RTP/SAVPF 120
c=IN IP4 203.0.113.141
a=mid:video
a=msid:ma tb
a=sendrecv
a=rtpmap:120 VP8/90000
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.2.11 SDP Updated Answer
==============================================================================
v=0
o=-  16833 1 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio video
a=group:LS audio video
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host
a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556
a=end-of-candidates
m=video 49203 UDP/TLS/RTP/SAVPF 120
c=IN IP4 203.0.113.77
a=mid:video
a=msid:ma tb
a=sendrecv
a=rtpmap:120 VP8/90000
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.3.1 SDP Offer
==============================================================================
v=0
o=- 20519 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE m0 m1 m2
a=group:LS m0 m1
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.141
a=mid:m0
a=msid:ma ta
a=sendonly
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2113667327 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 0 UDP/TLS/RTP/SAVPF 98 100
c=IN IP4 203.0.113.141
a=bundle-only
a=mid:m1
a=msid:ma tb
a=sendonly
a=rtpmap:98 VP8/90000
a=fmtp:98 max-fr=30
a=rtpmap:100 VP8/90000
a=fmtp:100 max-fr=15
a=rtcp-fb:* nack
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:3 a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

*** ERROR: invalid syntax for 'extmap'
*** Note: Removing duplicate 'a=' fixes this.

a=rid:1 send pt=98;max-width=1280;max-height=720;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=rid:2 send pt=100;max-width=640;max-height=480;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=simulcast:send 1;~2
m=video 0 UDP/TLS/RTP/SAVPF 101 102
c=IN IP4 203.0.113.141
a=bundle-only
a=mid:m2
a=msid:ma tc
a=sendonly
a=rtpmap:101 H264/90000
a=rtpmap:102 H264/90000
a=fmtp:101 profile-level-id=42401f;packetization-mode=0;max-fr=30
a=fmtp:102 profile-level-id=42401f;packetization-mode=1;max-fr=15
a=rtcp-fb:* nack
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:3 a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

*** ERROR: invalid syntax for 'extmap'
*** Note: Removing duplicate 'a=' fixes this.

a=rid:3 send pt=101;max-width=1280;max-height=720;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=rid:4 send pt=102;max-width=640;max-height=360;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=simulcast:send 3;4

==============================================================================
5.3.1 SDP Answer
==============================================================================
v=0
o=- 20519 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE m0 m1 m2
a=group:LS m0 m1
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=mid:m0
a=msid:ma ta
a=recvonly
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2113667327 198.51.100.7 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  694302207 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 49203 UDP/TLS/RTP/SAVPF 98 100
c=IN IP4 203.0.113.77
a=mid:m1
a=msid:ma tb
a=recvonly
a=rtpmap:98 VP8/90000
a=rtpmap:100 VP8/90000
a=fmtp:98 max-fr=30
a=fmtp:100 max-fr=15
a=rtcp-fb:* nack
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:3 a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

*** ERROR: invalid syntax for 'extmap'
*** Note: Removing duplicate 'a=' fixes this.

a=rid:1 recv pt=98;max-width=1280;max-height=720;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=rid:2 recv pt=100;max-width=640;max-height=480;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=simulcast:recv 1;2
m=video 49203 UDP/TLS/RTP/SAVPF 101 102
c=IN IP4 203.0.113.77
a=mid:m2
a=msid:ma tc
a=recvonly
a=rtpmap:101 H264/90000
a=rtpmap:102 H264/90000
a=fmtp:101 profile-level-id=42401f;packetization-mode=1;max-fr=30
a=fmtp:102 profile-level-id=42401f;packetization-mode=1;max-fr=15
a=rtcp-fb:* nack
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:3 a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

*** ERROR: invalid syntax for 'extmap'
*** Note: Removing duplicate 'a=' fixes this.

a=rid:3 recv pt=101;max-width=1280;max-height=720;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=rid:4 recv pt=102;max-width=640;max-height=360;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=simulcast:recv 3;4

==============================================================================
5.3.2 SDP Offer with SVC
==============================================================================
v=0
o=- 20519 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE m0 m1
a=group:LS m0 m1
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.141
a=mid:m0
a=msid:ma ta
a=sendonly
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2113667327 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 0 UDP/TLS/RTP/SAVPF 96 97 100
c=IN IP4 203.0.113.141
a=bundle-only
a=mid:m1
a=msid:ma tb
a=sendonly
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=4d0028; 
packetization-mode=1;max-fr=30;max-fs=8040
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=4d0028;packetization-mode=1; 
max-fr=15;max-fs=1200
a=rtpmap:100 H264-SVC/90000
a=fmtp:100 profile-level-id=4d0028;packetization-mode=1; 
max-fr=30;max-fs=8040
a=depend:100 lay m1:96,97
a=rtcp-fb:* nack
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.3.2 SDP Answer with SVC
==============================================================================
v=0
o=- 20519 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE m0 m1
a=group:LS m0 m1
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=mid:m0
a=msid:ma ta
a=recvonly
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 2113667326 198.51.100.7 51556 typ host
a=candidate:1 1 UDP  1694302206 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 49203 UDP/TLS/RTP/SAVPF 96 100
c=IN IP4 203.0.113.77
a=mid:m1
a=msid:ma tb
a=recvonly
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=4d0028;packetization-mode=1; 
max-fr=30;max-fs=8040
a=rtpmap:100 H264-SVC/90000
a=fmtp:100 profile-level-id=4d0028;packetization-mode=1; 
max-fr=30;max-fs=8040
a=depend:100 lay m1:96
a=rtcp-fb:* nack
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid

==============================================================================
5.3.5 SDP Offer
==============================================================================
v=0
o=- 20519 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE m0 m1
a=group:LS m0 m1
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.141
a=mid:m0
a=msid:ma ta
a=sendonly
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=rtcp-mux
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2113667327 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 0 UDP/TLS/RTP/SAVPF 98 100 101 103
c=IN IP4 203.0.113.141
a=bundle-only
a=mid:m1
a=msid:ma tb
a=sendonly
a=rtpmap:98 VP8/90000
a=rtpmap:100 VP8/90000
a=rtpmap:101 flexfec/90000
a=rtpmap:103 flexfec/90000
a=fmtp:98 max-fr=30;max-fs=8040
a=fmtp:100 max-fr=15;max-fs=1200
a=fmtp:101 L=5; D=10; ToP=2; repair-window=200000
a=fmtp:103 L=5; D=10; ToP=2; repair-window=200000
a=rtcp-fb:* nack
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:3 a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

*** ERROR: invalid syntax for 'extmap'
*** Note: Removing duplicate 'a=' fixes this.

a=rid:1 send pt=98;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=rid:2 send pt=100;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=simulcast:send 1;2

==============================================================================
5.3.5 SDP Answer
==============================================================================
v=0
o=- 20519 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE m0 m1
a=group:LS m0 m1
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.77
a=mid:m0
a=msid:ma ta
a=recvonly
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 2113667326 198.51.100.7 51556 typ host
a=candidate:1 1 UDP  1694302206 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates
m=video 49203 UDP/TLS/RTP/SAVPF 98 100 101 103
c=IN IP4 203.0.113.77
a=mid:m1
a=msid:ma tb
a=recvonly
a=rtpmap:98 VP8/90000
a=rtpmap:100 VP8/90000
a=rtpmap:101 flexfec/90000
a=rtpmap:103 flexfec/90000
a=fmtp:98 max-fr=30;max-fs=8040
a=fmtp:100 max-fr=15;max-fs=1200
a=fmtp:101 L=5; D=10; ToP=2; repair-window=200000
a=fmtp:103 L=5; D=10; ToP=2; repair-window=200000
a=rtcp-fb:* nack
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:3 a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

*** ERROR: invalid syntax for 'extmap'
*** Note: Removing duplicate 'a=' fixes this.

a=rid:1 recv pt=98;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=rid:2 recv pt=100;

*** ERROR: invalid syntax for 'rid'
*** Note: Removing trailing semicolon fixes this.

a=simulcast:recv 1;2

==============================================================================
5.4.1 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-rsize
a=rtcp-fb:* nack
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2113667327 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates

==============================================================================
5.4.1 SDP Answer
==============================================================================
v=0
o=-  16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109 0 98
c=IN IP4 203.0.113.77
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=rtpmap:0 PCMU/8000
a=rtpmap:0 PCMA/8000
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-rsize
a=rtcp-fb:* nack
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host
a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556
a=end-of-candidates

==============================================================================
5.4.2 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio
a=ice-options:trickle
m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8
c=IN IP4 203.0.113.141
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=rtpmap:0 PCMU/8000
a=rtpmap:0 PCMA/8000
a=maxptime:120
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:actpass
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-rsize
a=rtcp-fb:* nack
a=extmap:1/recvonly urn:ietf:params:rtp-hdrext:csrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP  2113667327 192.0.2.4 61665 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 
192.0.2.4 rport 61665

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=end-of-candidates

==============================================================================
5.4.2 SDP Answer
==============================================================================
v=0
o=-  16833 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE audio
a=ice-options:trickle
m=audio 49203 UDP/TLS/RTP/SAVPF 109 0 98
c=IN IP4 203.0.113.77
a=mid:audio
a=msid:ma ta
a=sendrecv
a=rtpmap:109 opus/48000/2
a=rtpmap:0 PCMU/8000
a=rtpmap:0 PCMA/8000
a=maxptime:120
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=tls-id:1

*** ERROR: invalid syntax for 'tls-id'
*** Note: tls-id must be 20 chars or longer.

a=rtcp-mux
a=rtcp-rsize
a=rtcp-fb:* nack
a=extmap:1/sendonly urn:ietf:params:rtp-hdrext:csrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host
a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556
a=end-of-candidates

==============================================================================
5.4.3 SDP Answer
==============================================================================
v=0
o=- 20519 0 IN IP4 0.0.0.0
s=-
t=0 0
m=audio 49203 UDP/TLS/RTP/SAVPF 109
c=IN IP4 203.0.113.141
a=rtcp:60065 IN IP4 203.0.113.141
a=sendrecv
a=rtpmap:109 opus/48000/2
a=maxptime:120
a=ice-ufrag:ufrag:c300d85b

*** ERROR: invalid syntax for 'ice-ufrag'
*** Note: Removing errant 'ufrag:' fixes this.

a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 
:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=setup:active
a=rtcp-rsize
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=candidate:0 1 UDP  2113667327 198.51.100.7 51556 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  694302207 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 51556

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:0 2 UDP 2113667326 198.51.100.7 51558 typ host
a=candidate:1 2 UDP  1694302206 203.0.113.77 60065 typ srflx raddr 
198.51.100.7 rport 51558

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

m=video 0 UDP/TLS/RTP/SAVPF 98 100
m=video 0 UDP/TLS/RTP/SAVPF 98 100

==============================================================================
5.4.5 SDP Offer
==============================================================================
v=0
o=- 20518 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-ufrag:074c6550
a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068
a=rtcp-rsize
m=audio 54732 RTP/AVP 109

*** ERROR: invalid syntax for 'm'
*** Note: Using the correct transport value fixes this.

c=IN IP4 203.0.113.141
a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 
:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=rtpmap:109 opus/48000
a=ptime:20
a=sendrecv
a=rtcp-mux
a=rtcp:64678 IN IP4 203.0.113.141
a=candidate:0 1 UDP  2113667327 192.0.2.4 54732 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  694302207 203.0.113.141 54732 typ srflx raddr 
192.0.2.4 rport 54732

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:0 2 UDP 2113667326 192.0.2.4 64678 typ host
a=candidate:1 2 UDP  1694302206 203.0.113.141 64678 typ srflx raddr 
192.0.2.4 rport 64678

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

m=video 62445 RTP/AVP 120

*** ERROR: invalid syntax for 'm'
*** Note: Using the correct transport value fixes this.

c=IN IP4 203.0.113.141
a=fingerprint:sha-256 DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08 
:6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=rtpmap:120 VP8/90000
a=sendrecv
a=rtcp-mux
a=rtcp:54721 IN IP4 203.0.113.141
a=candidate:0 1 UDP  2113667327 192.0.2.4 62445 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:1 1 UDP  1694302207 203.0.113.141 62537 typ srflx raddr 
192.0.2.4 rport 62445

*** ERROR: invalid syntax for 'candidate'
*** Note: Removing errant spaces fixes this problem.

a=candidate:0 2 2113667326 192.0.2.4 54721 typ host

*** ERROR: invalid syntax for 'candidate'
*** Note: Adding 'UDP' fixes this problem.

a=candidate:1 2 UDP 1694302206 203.0.113.141 54721 typ srflx raddr 
192.0.2.4 rport 54721
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir

==============================================================================
5.4.5 SDP Answer
==============================================================================
v=0
o=-  16833 0 IN IP4 0.0.0.0
s=-
t=0 0
m=audio 49203 RTP/AVP 109

*** ERROR: invalid syntax for 'm'
*** Note: Using the correct transport value fixes this.

c=IN IP4 203.0.113.77
a=rtpmap:109 opus/48000
a=ptime:20
a=sendrecv
a=ice-ufrag:c300d85b
a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2
a=fingerprint:sha-256 BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2 
:19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04

*** ERROR: invalid syntax for 'fingerprint'
*** Note: Removing errant spaces fixes this problem.

a=rtcp-mux
a=candidate:0 1 UDP 2113667327 198.51.100.7 49203 typ host
a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 
198.51.100.7 rport 49203
m=video  63130 RTP/SAVP 120

*** ERROR: invalid syntax for 'm'
*** Note: Using the correct transport value fixes this.

c=IN IP4 203.0.113.77
a=rtpmap:120 VP8/90000
a=sendrecv
a=ice-ufrag:e39091na
a=ice-pwd:dbc325921d5dd29e4e99147efbabd9a2
a=fingerprint:sha-256 BB:0A9:0E:05:E9:26:33:E8:70:88:A25:2F:70:9F:04: 
:19:E2:1C:3B:4B:9F:81:5:2F:70:9F:04::F4:A5:A8:D8:

*** ERROR: invalid syntax for 'fingerprint' (there's too much wrong here 
to enumerate)

a=rtcp-mux
a=candidate:0 1 UDP 2113667327 198.51.100.7 63130 typ host
a=candidate:1 1 UDP 1694302207 203.0.113.77 63130 typ srflx raddr 
198.51.100.7 rport 63130
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir

/a

---

From: Christer Holmberg <[email-masked]>
Date: Sat, 2 Dec 2017 10:01:28 +0000

Hi,

In addition to the comments given by Adam, the examples also need to be updated in order to reflect the latest version of BUNDLE: apart from the initial offer (read: before the bundle group has been created), the port is ONLY assigned to the bundled m- section represented by the BUNDLE-tag. All other m- sections (both in offers and answers) have a zero port value and an SDP bundle-only attribute.

Regards,

Christer

-----Original Message-----
From: rtcweb [mailto:[email-masked]] On Behalf Of Adam Roach
Sent: 02 December 2017 05:47
To: [email-masked]
Cc: [email-masked]
Subject: [rtcweb] Syntax issues in draft-ietf-rtcweb-sdp

[as an individual]

Total error count: 152

a=setup:actpass
a=tls-id:1

a=rtcp-mux

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-rsize

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=ice-ufrag:074c6550

a=ice-ufrag:c300d85b

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=end-of-candidates

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only

a=setup:actpass
a=tls-id:1

a=rtcp-mux

a=setup:actpass
a=tls-id:2

a=rtcp-mux

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=end-of-candidates

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-mux-only
a=rtcp-rsize

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-rsize

a=end-of-candidates

a=simulcast:send 1;~2

a=simulcast:send 3;4

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-rsize

a=end-of-candidates

a=simulcast:recv 1;2

a=simulcast:recv 3;4

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-rsize

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-rsize

a=end-of-candidates

a=setup:actpass
a=rtcp-mux
a=tls-id:1

a=rtcp-rsize

a=end-of-candidates

a=rid:1 send pt=98;

a=rid:2 send pt=100;

a=simulcast:send 1;2

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-rsize

a=end-of-candidates

a=rid:1 recv pt=98;

a=rid:2 recv pt=100;

a=simulcast:recv 1;2

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-rsize
a=rtcp-fb:* nack

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-rsize
a=rtcp-fb:* nack

a=setup:actpass
a=tls-id:1

a=rtcp-mux
a=rtcp-rsize
a=rtcp-fb:* nack

a=end-of-candidates

a=setup:active
a=tls-id:1

a=rtcp-mux
a=rtcp-rsize
a=rtcp-fb:* nack

a=setup:active
a=rtcp-rsize

c=IN IP4 203.0.113.141

a=rtpmap:109 opus/48000
a=ptime:20
a=sendrecv
a=rtcp-mux

c=IN IP4 203.0.113.141

a=rtpmap:120 VP8/90000
a=sendrecv
a=rtcp-mux

c=IN IP4 203.0.113.77
a=rtpmap:109 opus/48000
a=ptime:20
a=sendrecv
a=ice-ufrag:c300d85b

a=rtcp-mux

c=IN IP4 203.0.113.77
a=rtpmap:120 VP8/90000
a=sendrecv
a=ice-ufrag:e39091na

a=rtcp-mux

/a

_______________________________________________
rtcweb mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/rtcweb

---

From: Cullen Jennings <[email-masked]>
Date: Sun, 3 Dec 2017 08:24:33 -0700

That's great thank you. Could you please create issues in github (and only need one for fingerprint is broken, not every occurrence of it). 

> On Dec 1, 2017, at 8:47 PM, Adam Roach <[email-masked]> wrote:
> 
> [as an individual]
> 
> I wrote a script that extracts the SDP from the XML source of draft-ietf-rtcweb-sdp-08 and does some very basic syntax checks on it. I'm posting the results here as feedback on the document to assist in correcting the examples. Note that I have *not* performed any semantic verification of the SDP itself, only the syntax.
> 
> Total error count: 152
> 
> a=identity:eyJpZHAiOnsiZG9tYWluIjoibmlpZi5odSIsInByb3RvY29sIjoiaWRwLmh0bWwifSwiYXNzZXJ0a W9uIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklrcFhVeUo5LmV5SmpiMjUwWlc1MGN5STZleUptYVc1b lpYSndjbWx1ZENJNlczc2lZV3huYjNKcGRHaHRJam9pYzJoaExUSTFOaUlzSW1ScFoyVnpkQ0k2SWprek9rTXdPa kl6T2pKR09rRXlPakF3T2pBd09qQkVPalV4T2tGRE9rUXlPalUwT2pZMU9rWTBPak5DT2pkRU9qa3lPa1JET2pnN E9qTXpPalV4T2pJek9qUXdPamN5T2preE9qZ3pPalZDT2pBeE9qSkdPalV3T2pjNE9qTkdJbjFkZlN3aWFXUmxib lJwZEhraU9pSnRhWE5wUUc1cGFXWXVhSFVpZlEuSTVQdGhKNFFDT05TOFVXd25OOUh3MEdaTDl3d0RBVGRrTWtFW llmdlNVTTJ6Umd5R09WSGgzRmpnc2FPZklkRnFsNUx6azBFbndVOTNQOUlCQ0xZOWtia3V1c0V1S25YRGVNLTNIN WFmdTJvZl9CTlZjUnB3MmdBdlNBbVR6SlltcEpqMFEtdmV0TmtVT1huZE9HLUIzT3ZGb3QwZVNENlZSNUdhb2wyc GduS3FSTktOd3dacEZ1eUZZbFRodHJIdGNiT19WV3o4QnZpTThKS25OdExWd1JxNUhMX2ZLTlRCNzFDYkoyWmh5W XU1UEdwWDhXcXJMWC1ybm5YSFY3RnhoTTh5OHdrLWd5cnRZazVnbFlZeUFrcTVqZklSXzRzWER5d19Qc1BWTW1aZ XltenVGV3BQTzVFWlJYR0ZpRjFET0o4Q0Q3Z3Zta2dUdlBXSWpkemtBIn0=
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=candidate:1 2 UDP  1685987071 203.0.113.141 60065 typ srflx raddr 192.0.2.4 rport 61667
> 
> a=identity:ew0KICAiaWRwIjp7DQogICAgImRvbWFpbiI6ICJjaXNjb3NwYXJrLmNvbSIsDQogICAg InByb3RvY29sIjogImRlZmF1bHQiDQogIH0sDQogICJhc3NlcnRpb24iOiAibEp3WkVocmFVOXBTblJo V0U1d1VVYzFjR0ZYV1hWaFNGVnBabEV1U1RWUWRHaEtORkZEVDA1VE9GVlhkMjVPT1VoM01FZGFURGwz ZDBSQlZHUnJUV3RGVw0KICAgICAgICAgICAgICBsbG1kbE5WVFRKNlVtZDVSMDlXU0dnelJtcG5jMkZQ Wmtsa1JuRnNOVXg2YXpCRmJuZFZPVE5RT1VsQ1EweFpPV3RpYTNWMWMwVjFTMjVZUkdWTkxUTklODQog ICAgICAgICAgICAgIFdGbWRUSnZabDlDVGxaalVuQjNNbWRCZGxOQmJWUjZTbGx0Y0VwcU1GRXRkbVYw VG10VlQxaHVaRTlITFVJelQzWkdiM1F3WlZORU5sWlNOVWRoYjJ3eWMNCiAgICAgICAgICAgICAgR2R1 UzNGU1RrdE9kM2RhY0VaMWVVWlpiRlJvZEhKSWRHTmlUMTlXVjNvNFFuWnBUVGhLUzI1T2RFeFdkMUp4 TlVoTVgyWkxUbFJDTnpGRFlrb3lXbWg1VyINCn0=
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP 1685987071 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> a=end-of-candidates
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04: BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP 565689203 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> a=end-of-candidates
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04: BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:0 1 UDP  2122194687 2001:DB8:8101:3a55:4858:a2a9:22ff:99b9 61665 typ host
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:0 1 UDP 3618095783 2001:DB8:30c:1266:5916:3779:22f6:77f7 49203 typ host
> a=end-of-candidates
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP 1694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> a=end-of-candidates
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> a=end-of-candidates
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP  1685987071 203.0.113.141 49203 typ srflx raddr 198.51.100.7 rport 51556
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP 1685987071 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> a=end-of-candidates
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=candidate:1 2 UDP  1685987071 203.0.113.141 54610 typ srflx raddr 192.0.2.4 rport 61666
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  1685987071 203.0.113.141 62537 typ srflx raddr 192.0.2.4 rport 61886
> 
> a=candidate:1 2 UDP 1685987071 203.0.113.141 62538 typ srflx raddr 192.0.2.4 rport 61888
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP 1685987071 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> a=end-of-candidates
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=fingerprint:sha-256 29:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04: BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=fingerprint:sha-256 7B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35: DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> a=end-of-candidates
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> a=end-of-candidates
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP  694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 61665
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=fmtp:96 profile-level-id=4d0028; packetization-mode=1;max-fr=30;max-fs=8040
> a=rtpmap:97 H264/90000
> a=fmtp:97 profile-level-id=4d0028;packetization-mode=1; max-fr=15;max-fs=1200
> a=fmtp:100 profile-level-id=4d0028;packetization-mode=1; max-fr=30;max-fs=8040
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP  1694302206 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> 
> a=fmtp:96 profile-level-id=4d0028;packetization-mode=1; max-fr=30;max-fs=8040
> a=fmtp:100 profile-level-id=4d0028;packetization-mode=1; max-fr=30;max-fs=8040
> a=depend:100 lay m1:96
> a=rtcp-fb:* nack
> a=rtcp-fb:* nack pli
> a=rtcp-fb:* ccm fir
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP  1694302206 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> a=end-of-candidates
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> a=end-of-candidates
> 
> a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08
> 
> a=candidate:1 1 UDP  694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556
> 
> a=candidate:1 2 UDP  1694302206 203.0.113.77 60065 typ srflx raddr 198.51.100.7 rport 51558
> 
> a=fingerprint:sha-256 19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
> 
> a=candidate:1 1 UDP  694302207 203.0.113.141 54732 typ srflx raddr 192.0.2.4 rport 54732
> 
> a=candidate:1 2 UDP  1694302206 203.0.113.141 64678 typ srflx raddr 192.0.2.4 rport 64678
> 
> a=fingerprint:sha-256 DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08 :6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35
> 
> a=candidate:1 1 UDP  1694302207 203.0.113.141 62537 typ srflx raddr 192.0.2.4 rport 62445
> 
> a=candidate:1 2 UDP 1694302206 203.0.113.141 54721 typ srflx raddr 192.0.2.4 rport 54721
> a=rtcp-fb:120 nack pli
> a=rtcp-fb:120 ccm fir
> 
> a=fingerprint:sha-256 BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2 :19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04
> 
> a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 49203
> a=fingerprint:sha-256 BB:0A9:0E:05:E9:26:33:E8:70:88:A25:2F:70:9F:04: :19:E2:1C:3B:4B:9F:81:5:2F:70:9F:04::F4:A5:A8:D8:
> 
> *** ERROR: invalid syntax for 'fingerprint' (there's too much wrong here to enumerate)
> 
> a=rtcp-mux
> a=candidate:1 1 UDP 1694302207 203.0.113.77 63130 typ srflx raddr 198.51.100.7 rport 63130
> a=rtcp-fb:120 nack pli
> a=rtcp-fb:120 ccm fir
> 
> /a
>

---

From: Christer Holmberg <[email-masked]>
Date: Sun, 3 Dec 2017 18:04:41 +0000

Do you have the link to the GitHub repo?

Regards,

Christer

---

From: Harald Alvestrand <[email-masked]>
Date: Sun, 3 Dec 2017 21:22:42 +0100

Great to see attention on this!

Nils Ohlmeier also wrote an extraction script
(https://github.com/nils-ohlmeier/sdpextractor - I have suggested a PR
that changes the file name format), do you want to publish yours too?

One of my "really want to do this some day" projects is to extract the
SDP examples and throw them at Chrome to see that at least the parser
doesn't blow up on them.

Harald

---

From: Adam Roach <[email-masked]>
Date: Sun, 3 Dec 2017 14:40:35 -0600

> that changes the file name format), do you want to publish yours too?

What I wrote was mostly done for the purpose of validating, so 
extraction is a very small part of it. It's also a bit fragile, in that 
it heavily relies on the exact format of the -08 XML source. With those 
caveats (and the warning that it's written in perl), the relevant 
portion of my script is:

#!/usr/bin/perl

my $source = 'draft-ietf-rtcweb-sdp-08.xml';

open(S, $source) || die $!;
$xml = join ('',<S>);
close (S);
$xml =~ s/<!--.*?-->//gos;

while ($xml =~ /<texttable anchor="[^"]*" 
title="([^"]*)">(.*?)<\/texttable>/gos) {
   my $title = $1;
   my $body = $2;
   my $column = 0;
   my $sdp = '';
   while ($body =~ /<c>(.*?)<\/c>/gos) {
     if ($column == 0){
       my $line = $1;
       $line =~ s/[ \t]*[\r\n]+[ \t]*/ /gos;
       if ($line !~ /\*\*/) {
         $sdp .= "$line\n";
       }
     }
     $column = 1 - $column;
   }
   &process($title, $sdp);
}

You'll have to write your own "process" subroutine to do whatever you 
want to happen with the extracted SDP.

/a

---

From: Adam Roach <[email-masked]>
Date: Mon, 4 Dec 2017 17:55:12 -0600

Christer --

I filed mine at <https://github.com/fluffy/ietf/issues>, which I hope is 
the right location.

/a

---

From: Suhas Nandakumar <[email-masked]>
Date: Mon, 4 Dec 2017 16:36:41 -0800

Thanks a lot Adam for filing the issues. The link you have used is the
right one. I haven't looked at all the issues but would like to bring one
point to notice. The extra spaces sneaked in during the attempt to improve
the readability.
We will take a look at the issues and get back

Cheers
Suhas

On Mon, Dec 4, 2017 at 3:55 PM, Adam Roach <[email-masked]> wrote:

>> That's great thank you. Could you please create issues in github (and
>> only need one for fingerprint is broken, not every occurrence of it).
>>
>>
>>> draft-ietf-rtcweb-sdp-08 and does some very basic syntax checks on it. I'm
>>> posting the results here as feedback on the document to assist in