Make conn-timeout compatible with LCLS
In #3429, a watchdog was implemented. The watchdog gets kicked whenever RTP traffic or a MDCX (MGCP) message arrives.
It is incompatible with LCLS (Local Call Local Switch), because the connections get allocated, but no RTP traffic flows through it. Hence it will hit the timeout sooner or later.
The best solution so far seems to be sending keep-alive messages while doing LCLS, that kicks the watchdog, as neels wrote:
We could also tell the MGW that the endpoint is still in use by sending no-op MDCX to the MGW once a minute;
or investigate for some other keep-alive message in MGCP.
#6 Updated by osmith about 1 year ago
- % Done changed from 0 to 30
I found out, that there is already a keep-alive mechanism, "rtp keep-alive". It was initially made for NAT connections, but it should equally keep connections alive where the conn-timeout watchdog is configured. To make sure that this is the case, I'm writing a TTCN3 test for MGW, where conn-timeout is set and rtp keep-alive packages are sent.
#7 Updated by osmith about 1 year ago
- % Done changed from 30 to 90
Test case submitted for "conn-timeout", which shows that the connection stays active as long as RTP traffic is flowing in. This does not send specific keep alive packets like I've planned earlier, but that would require major changes in RTP_Emulation.ttcn, which don't seem feasible right now.
I've also updated the description of the conn-timeout option. Instead of saying that it does not work with LCLS, it says now, that keep-alive needs to be enabled when used with LCLS.