[asterisk-dev] WebRTC SFU: support add video track dynamically

Joshua C. Colp jcolp at digium.com
Wed May 8 04:14:05 CDT 2019

On Wed, May 8, 2019, at 12:07 AM, Xiemin Chen wrote:
> Hi there,
> *Problem*
> In a WebRTC conference, participant A & B join with only one video 
> track, then B add another video track with the SDP renegotiate, A 
> cannot see B's two video tracks.
> *Root Cause*
> *
> *
> After work through the source code, the problem may caused by the 
> sdp_requires_deferral() in res_pjsip_session.c:
> It does not take of the situation of the new creation of the video 
> track.
> *Solution*
> Can I use the handle_incoming_sdp() to replace the 
> sdp_requires_deferal() ? handle_incoming_sdp() function is called 
> during the init of the session, it does the track initial progress.

The sdp_requires_deferral function and its functionality has to continue to exist, or T.38 fax will be non-functional. The sdp_requires_deferral function would need to be examined based on your scenario and adjusted accordingly however it makes sense. Looking at the function I'm also not sure why it would cause any problems with your scenario, as it should just result in some things being set up and that's pretty much it but I have not looked into it deeply or reproduced the problem.

Joshua C. Colp
Digium - A Sangoma Company | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - US
Check us out at: www.digium.com & www.asterisk.org

More information about the asterisk-dev mailing list