Closed Bug 1401540 Opened 7 years ago Closed 7 years ago

InvalidSessionDescriptionError: "Empty BUNDLE group"

Categories

(Core :: WebRTC: Signaling, defect, P3)

55 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox58 --- fixed

People

(Reporter: sancane, Assigned: dminor)

Details

Attachments

(2 files)

Attached file SDP.txt
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0
Build ID: 20170816210634

Steps to reproduce:

Firefox negotiates audio and video using max-bundle policy using PCMU codec for audio and H264 for video. The remote end only supports OPUS and VP8.


Actual results:

Firefox raises an error when processing the answer because the remote side rejects all m-lines moving out all mids from BUNDLE group:
InvalidSessionDescriptionError: "Empty BUNDLE group"


Expected results:

Media should be rejected, no media should flow between both ends but no errors should be raise in Firefox because according to rfc5888 section 8, groups with zero identification-tags are valid ones:
"
...
A SIP entity that receives an offer that contains an "a=group" line
with semantics that are understood MUST return an answer that
contains an "a=group" line with the same semantics. The
identification-tags contained in this "a=group" line MUST be the same
as those received in the offer, or a subset of them (zero
dentification-tags is a valid subset). When the identification-tags
in the answer are a subset, the "group" value to be used in the
session MUST be the one present in the answer.
...
"

draft-ietf-mmusic-sdp-bundle-negotiation-39 and JSEP refers to RFC5888 to negotiate BUNDLE groups:
"
...
If "a=group" attributes with semantics of "BUNDLE" are offered,
corresponding session-level "a=group" attributes MUST be added as
specified in RFC5888. These attributes MUST have semantics
"BUNDLE", and MUST include the all mid identifiers from the offered
bundle groups that have not been rejected
...
"

So it seems there is a bug dealing with stuff when managing bundle groups when all medias are rejected. Here you have attached the SDPs interchanged during the negotiation
Component: Untriaged → Audio/Video
Product: Firefox → Core
Can you check if this is a real bug?
Component: Audio/Video → WebRTC: Signaling
Flags: needinfo?(drno)
Whiteboard: [need info drno 2016-09-22]
Yeah, we should probably just let "a=group:BUNDLE" with no tags slide.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(drno)
Looks to me like we should be able to just put a |continue;| here http://searchfox.org/mozilla-central/rev/15ce5cb2db0c85abbabe39a962b0e697c9ef098f/media/webrtc/signaling/src/sdp/SdpHelper.cpp#210
All the callers look like they can handle an empty result set. But I guess we should have a test for this as well.
Assignee: nobody → dminor
Rank: 25
Priority: -- → P3
Whiteboard: [need info drno 2016-09-22]
Comment on attachment 8913814 [details]
Bug 1401540 - Allow empty BUNDLE groups;

https://reviewboard.mozilla.org/r/185196/#review190238
Attachment #8913814 - Flags: review?(docfaraday) → review+
https://hg.mozilla.org/mozilla-central/rev/609e770178c1
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: