This is because RTPEngine, in response to a very rich and noisy RTCP environment, tries to compile labouriously articulated MOS score time series into the `delete` response. Combined with certain long-running calls' unusually large number of SSRC pivots, this leads to a stupefyingly large payload -- stuff like this, of course rendered as JSON from the bencoded payload, for readability:
Is it just a large number of SSRCs that you are seeing? Or is it the number of MOS report blocks per SSRC?
AFAICR the number of tracked SSRC is limited, but I think the number of report blocks might not be.
As far as I can tell, there's no actual way to suppress these giant QoS payloads using any NG protocol flag or RTPEngine CLI option. I've looked at `--measure-rtp` and `--mos` and there just doesn't seem to be a way to turn these things off.
Yeah, that's because at the moment the `delete` is done, we don't yet know if Kamailio wants to see/use the stats later on.
I'll add a flag to the delete handling to tell rtpengine that the stats won't be needed.
That leaves switching to WebSocket as the control socket transport for RTPEngine, and that's what we're going to do. As far as I can tell, UDP and WS[S] are the only supported NG listeners and the only transports supported by the Kamailio RTPEngine module, in any case. This second part is a little unclear: it also seems that it supports UNIX domain socket, but I assume that's for the legacy protocol?
No, Unix sockets are not supported for any protocol. I guess the control module supports them, as a legacy holdover from the original (rtpproxy) code base, but rtpengine itself doesn't.
And you shouldn't have to switch protocols just for this, so if we can determine what exactly it is that makes the payload grow so large, then we can fix it.
Cheers
Thank you for looking into this and for your thoughts. The answer seems to be both: relatively large number of SSRCs and huge MOS blocks. Here's the complete JSON rendering of the bencoded delete response that illustrates this problem: https://gist.github.com/abalashov/e6132db3e381fa2a4f2520c12454373d
The most obvious angle of attack would be to eliminate the duplication between the per-media statistics and the global "SSRC" hash/list. That should reduce the size considerably.
But this will have to be an option, as some users may depend on the statistics being in one place or the other. Kamailio for example still requires the global list. With the default being to retain existing behaviour, this can then be backported to LTS branches.
There are more improvements that can be made here, but this should fix the immediate problem.
I'll also add a new flag to completely skip returning of the stats in case they're not needed.
Cheers
On Jun 25, 2026, at 11:54 AM, 'Richard Fuchs' via Sipwise rtpengine <rtpe...@googlegroups.com> wrote:
--
You received this message because you are subscribed to the Google Groups "Sipwise rtpengine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtpengine+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/rtpengine/f8782c8e-1297-4bbe-9f85-e7c0b0efcc86%40sipwise.com.