On 2018-02-13 06:16 PM, Alex Balashov wrote:
...
A functional call ordinarily consists of an inbound
and outbound RTP
stream direction relative to the endpoints on both sides of RTPEngine.
Inbound A --> server --> Outbound A
Outbound B <-- server <--- Inbound B
Where do the "global" stats situate themselves in relation to all this?
It's the min, max, and average between the two call legs (and other
contributing sources that may have been involved in the call).
2. I am given to understand that the statistics for
the "A" and "B"
sides of a bidirectional RTP stream can be separated based on an
arbitrary label, using these PVs:
https://kamailio.org/docs/modules/5.1.x/modules/rtpengine.html#rtpengine.p.…
https://kamailio.org/docs/modules/5.1.x/modules/rtpengine.html#rtpengine.p.…
How do I use it properly?
My intuition was to try something like this:
rtpengine_offer("replace-origin replace-session-connection ICE=remove
label=outbound");
And in the answer/manage handler on the SDP answer:
rtpengine_answer("replace-origin replace-session-connection ICE=remove
label=inbound");
Later, when processing a BYE and obtaining subsequent media statistics,
I tried this:
if(check_route_param("proxy_media=yes")) {
$avp(rtpengine_a_label) = 'outbound';
$avp(rtpengine_b_label) = 'inbound';
rtpengine_delete();
route(LOG_RTPENGINE_STATS);
}
That should actually work. You can check the actual data returned from
rtpengine to Kamailio by running rtpengine with log level 7, or use the
included rtpengine-ng-client script to run a "query" command against
rtpengine for a running call and see what comes out of it.
Cheers