Closed Bug 1507413 Opened Last year Closed Last year

Only 32 transceivers active simultaneously


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

63 Branch



Tracking Status
firefox65 --- fixed


(Reporter: sergio.garcia.murillo, Assigned: dminor)



(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36

Steps to reproduce:

I create 34 transceivers send only with tracks from canvas/audio context, negotiate SDP  O/A with my server.

Actual results:

The first 32 transceivers work, the 33rd (mid=32) and 34 (mid=33) does't.

The local description after the SDP O/A shows that only the first 32 are added to the bundle group (and have a non cero port) while the mid=32 and 33 are missing from the bundle group and the port is 0. There is no data sent in that transceivers.

If I stop any of the transcivers (mid<31) and perform an SDP O/A then the next mid is added to the group.

Note that the sdp created by the createOffer has all the mids in the bundle group and ports = 0, and after the SLD is where the mids are removed and the ports changed.

Here is a sample (with dummy o/a so you don't have to rely on my server) to reproduce the issue. It creates all the transceivers and do the sdp o/a and prints the local description in html.

Expected results:

All 34 transceivers are enabled
Dan, this is the bug we briefly talked about. Could you please have a look if you have free cycles?
Assignee: nobody → dminor
Ever confirmed: true
Priority: -- → P2
Hi Nils,

Could you please also assign a component to this issue as you seem familiar with the subject? Thank you!
Flags: needinfo?(drno)
Rank: 15
Component: Untriaged → WebRTC: Signaling
Flags: needinfo?(drno)
Product: Firefox → Core
It turns out that there is a limit on the media streams allowed by the C sdp parser here [1] which is enforced while parsing attribute groups here [2] which prevents the last two transceivers from being added to the bundle group. Increasing that from 32 to say 64 allows for more transceivers. There also appears to be a limit on the maximum line length allowed by the sdp parser at [2] which will presumably also cause problems at some point.

As far as I can tell, the rust sdp parser does not have any limit on the number of groups or a maximum line length.

:bwc, do you see any harm in increasing the constants at [1] (and maybe [3])? Thanks!

Flags: needinfo?(docfaraday)
I think that would be fine.
Flags: needinfo?(docfaraday)
This also removes SDP_MAX_LINE_LEN which is unused.
Pushed by
Increase number of media streams supported by sipcc; r=bwc
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
You need to log in before you can comment on or make changes to this bug.