With generate-RTCP set, rtpengine unconditionally generates and sends
its own RTCP SR packets, with embedded RR sections for each SSRC
received. Any SR or RR it receives from remote clients are consumed and
not forwarded. The values used in RRs that rtpengine sends (i.e. jitter,
packet loss, etc) are values that it measures itself, and not values
that are reported by remote clients. This logically splits the RTP flow
A <> B into two separate legs, A <> rtpengine <> B.
MOS calculation depends on the latency being known, which in turn
depends on SRs and RRs reliably going both ways. If one side doesn't
correctly send SRs and RRs then latency is unknown and so no MOS can be
calculated. At least this is true for MOS-CQ: In newer versions of
rtpengine (not in 9.5 I believe) we have an option to switch to MOS-LQ,
which doesn't take latency into account, and so with MOS-LQ the MOS can
be provided even if the remote clients aren't sending RTCP.
Cheers