sipsorcery icon indicating copy to clipboard operation
sipsorcery copied to clipboard

SDP parser introduces an rtcp-fb that does not exist in the content

Open SteveAyre opened this issue 1 year ago • 1 comments

Commit 1c1ca9f2b7 introduced a a=rtcp-fb:PT goog-remb attribute when parsing SDP that does not exist in the SDP content being parsed.

This appears to be because it adds a SupportedRtcpFeedbackMessages list which is initialised with a constant value rather than being sourced from the parsed content.

This incorrectly indicates to the calling code that the other UA supports a feature that it does not.

SteveAyre avatar Jun 12 '24 22:06 SteveAyre

I'm working on RTP Header extension - see https://github.com/sipsorcery-org/sipsorcery/pull/1084 Once finished, it will be possible to set, by MediaStreamTrack, extension to use or not. So you will have no more this problem.

ChristopheI avatar Sep 04 '24 09:09 ChristopheI

I agree with @SteveAyre and did notice the same thing. It's wrong to add non-existent attributes when parsing an SDP payload. For SDP being produced it's also a very crude mechanism that is adding the feedback attribute for every media format even when it does not make sense. For example in the payload below it's being added for DTMF events which can't benefit from it.

I've commented out the code that's adding the attribute and added a note for it, see #1221.

v=0
o=- 12937 0 IN IP4 127.0.0.1
s=sipsorcery
t=0 0
a=group:BUNDLE 0 1
m=audio 9 UDP/TLS/RTP/SAVP 0 8 9 18 101
c=IN IP4 0.0.0.0
a=ice-ufrag:URIH
a=ice-pwd:AHGYPHMEGYONVYWZZTVBWNFZ
a=fingerprint:sha-256 70:D0:A6:24:20:66:AD:5C:3C:87:4A:FF:E1:AE:28:F6:10:CE:A2:6D:0C:C7:94:A6:3B:F8:82:0B:37:8F:B9:E5
a=setup:actpass
a=candidate:2229676562 1 udp 2113937663 192.168.1.123 50840 typ host generation 0
a=candidate:4036834772 1 udp 2113940223 fdec:d98b:83d0:4340:78ae:21c8:64c1:cd4d 50840 typ host generation 0
a=candidate:1409276569 1 udp 2113940223 fdec:d98b:83d0:4340:f810:be6a:94d6:a579 50840 typ host generation 0
a=mid:0
a=rtpmap:0 PCMU/8000
a=rtcp-fb:0 goog-remb
a=rtpmap:8 PCMA/8000
a=rtcp-fb:8 goog-remb
a=rtpmap:9 G722/8000
a=rtcp-fb:9 goog-remb
a=rtpmap:18 G729/8000
a=rtcp-fb:18 goog-remb
a=rtpmap:101 telephone-event/8000
a=rtcp-fb:101 goog-remb
a=fmtp:101 0-16
a=ice-options:ice2,trickle
a=rtcp-fb:0 goog-remb
a=rtcp-fb:8 goog-remb
a=rtcp-fb:9 goog-remb
a=rtcp-fb:18 goog-remb
a=rtcp-fb:101 goog-remb
a=rtcp-mux
a=rtcp:9 IN IP4 0.0.0.0
a=sendrecv
a=ssrc:72824865 cname:5682c623-50c9-4d03-b0f4-180d012a0d10
m=video 9 UDP/TLS/RTP/SAVP 96
c=IN IP4 0.0.0.0
a=ice-ufrag:URIH
a=ice-pwd:AHGYPHMEGYONVYWZZTVBWNFZ
a=fingerprint:sha-256 70:D0:A6:24:20:66:AD:5C:3C:87:4A:FF:E1:AE:28:F6:10:CE:A2:6D:0C:C7:94:A6:3B:F8:82:0B:37:8F:B9:E5
a=setup:actpass
a=mid:1
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=ice-options:ice2,trickle
a=rtcp-fb:96 goog-remb
a=rtcp-mux
a=rtcp:9 IN IP4 0.0.0.0
a=sendrecv
a=ssrc:1605188937 cname:618bc0ea-b5aa-4edc-ae07-4541257f361c

sipsorcery avatar Nov 07 '24 21:11 sipsorcery