I am adding tracks to my peer and the first time onnegotiationneeded is triggered just fine. However, upon adding more tracks onnegotiationneeded is not triggered therefore the new tracks are not showing any effect. This is the main part of the code I am working with : Answer It turns out that onnegotiationneeded only fires once at removeTrack or addTrack