Receiver Reports missing from AMI Events

The AMI will report 200 (SR) but not 201 (RR) or 202 (Unknown)

This makes jitter impossible to work with on the AMI alone, since the SR isn’t what’s important in RTCP.

For some reason all of the phones we work with use 202 (Unknown) to report their received jitter, instead of RR.

A RR is only sent when that particular RTP stream is merely receiving audio, and not transmitting it. An SR contains the same report block information as a RR, along with the sender information. There is no loss of information. Quoting RFC 3550, Section 6.4:

RTP receivers provide reception quality feedback using RTCP report
packets which may take one of two forms depending upon whether or not
the receiver is also a sender. The only difference between the
sender report (SR) and receiver report (RR) forms, besides the packet
type code, is that the sender report includes a 20-byte sender
information section for use by active senders. The SR is issued if a
site has sent any data packets during the interval since issuing the
last report or the previous one, otherwise the RR is issued.

You can see this in the RTCPReceived and RTCPSent events, which both contain the ReportX fields, regardless of the RTCP packet type being an RR or SR.

That makes sense.

So the actual issue is this: The jitter reported is not correct. If you turn on RTCP stats on the CLI (or use sip show channelstats) the jitter reported is very, very different from the ReportX jitter in the AMI events.

Can you provide the version of Asterisk you’re using, along with both CLI capture and the related events?