Confbridge Video Mode: sfu

Some feedback from the field:

In testing this feature, I have found that Chrome, Edge and Firefox support both bundle and non-bundle offers. Because of the way Asterisk is structured (that is it always a back-to-back user agent in a WebRTC setup), setting the PeerConnection in Javascript has little effect on the offer. This is consistent with what is documented about the PeerConnection - its default is to have wide compatibility.

With bundle off, there is a new port number and ICE negotiates for each stream - making the process much slower and consuming many more ports.

In both bundle and non-bundle, Asterisk appears limited to 15 other stream beside the “self” stream (that is empty). I was testing this with StreamEcho, but was not able to test more than 15 participants on a conference… I would assume the same limitation would apply.

Otherwise the sfu feature works well.

PJSIP itself has a build time limit[1] of how many streams the SDP support will handle.

[1] asterisk/config_site.h at master · asterisk/asterisk · GitHub

I see that… is 15 enough though? Zoom, Meet etc all seem to do up to 100

It depends on what you’re trying to do? Scaling to large numbers of participants is not something things were explicitly written for and is different. Lots of bandwidth usage, lots of packets per second. Same goes for a webinar style format, that’s different too - although less so than large numbers of participants.

Large conferences are dreadful to manage in the first place… most people would say its ridiculous to have so many people in one conference in any case. You would certainly want everyone to have their microphones muted. Talker detection or marked user, would be a better strategy at the higher numbers.

Just food for thought really.

Good Progress so far: this is a ConfBridge with 3 participants; PC with Firefox, Huawei Tablet (Chrome), and a Kindle Fire (Silk). The CallerIDs are captured with the in-dialog messages, and displayed. The talker detection messages cause the videos to be highlighted (a little red border appears on the talking videos.)

It still has the Asterisk/PJSIP limit of 15 participants, but that really is a lot… It’s probably a better strategy to use a “follow_talker” approach, after about 14/15 members in any case. Its just a pity you cant start on SFU, and switch to follow_talker at some kind of menu button (or some trigger… it could even do it automatically)