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