As pointed out in bug 1087551 our current implementation of PeerConnectionImpl::AddIceCandidate https://dxr.mozilla.org/mozilla-central/source/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp?from=PeerConnectionImpl.cpp:1790 defaults a missing Index value to zero as the nullable webidl apparently gets translated into a zero. To be able to create and pass in RTCIceCandidates with just a Mid set, but no Index set, the index needs to become optional.
As noted, the identified signature is incapable of expressing the absence of the aMid or aLevel parameters. This logic should be moved to JsepSessionImpl, where the m-line can be correctly identified. PeerConnectionMedia::AddIceCandidate doesn't use the mid, so once JsepSessionImpl works out where the candidate belongs, it should return that value so that it can be passed to PCM.
Mass change P2->P3 to align with new Mozilla triage process.