[OpenSIPS-Users] Mediaproxy: closing expired call when one party stops sending RTP
Dan Pascu
dan at ag-projects.com
Mon Sep 20 09:42:49 CEST 2010
On 20 Sep 2010, at 00:14, Richard Revels wrote:
> Media relay uses linux connection tracking. The rules are bi-
> directional. If packets are still coming from the called party side
> back to the (no longer there) calling party side then the packet
> counters are still incrementing.
Not only conntrack rules are bidirectional and won't timeout if they
receive packets from at least one endpoint, but mediaproxy was made to
behave this way by design. Consider the case where one party uses
voice activation and doesn't say anything for a few minutes. How can
you distinguish between this valid case and the case where one
endpoint just died?
> There might also be a way to poll the conntrack packet count
> externally and compare them against dialogs via the MI interface.
The relay is not necessarily on the same host as opensips, so it may
not be able to inspect the MI interface. Plus, it wouldn't even help
since the dialogs are still there. If one endpoint dies, it won't send
a BYE to close the dialog, because in that case it would close the
media as well and there wouldn't be a problem anymore.
IMO this cannot be solved within the context of mediaproxy alone,
since it's not just a media issue. Itg also involves signaling and the
ability to distinguish between a dead endpoint and a silent one.
--
Dan
More information about the Users
mailing list