SSRCs from a RTCP FB FIR packet is not propagated upstream
When an RTCP FB FIR is handled in rtp_session_process_fir() it will generate a GstForceKeyUnit event with the property "ssrc" set to the contents of "media source" within the RTCP FB packet. However, as described in RFC5104 (section 4.3.1.2) the "media source" field is not used and SHALL be set to 0 and that's exactly what is done in session_fir() on the sender side. Instead of using "media source" as SSRC the SSRCs of the media senders are added in the fci data and there may be several.
The GstForceKeyUnit event is propagated from rtpbin upstream until it reaches rtpfunnel. rtpfunnel tries to match the ssrc that is 0 with one its pads but the lookup fails because there is no pad that matches ssrc=0. Consequently the event never reaches its upstream producer elements.
Somehow we have to pass on the SSRCs we get from the RTCP FB fci data into one or several GstForceKeyUnit event so that events are passed to all senders matching one of the SSRCs. If I look at just this specfic setup I think the ideal thing would be to pass an array of SSRCs within the GstKeyForceUnit (omitting that I don't have a clue how to pass an array in a GstStructure). As long as there is logic in rtpfunnel to handle the SSRCs and match them to the correct upstream branch this should work. However, there may be other setups where there is no rtpfunnel or the corresponding required logic.