mgcp: Send RTP keepalive dummy packets to net
So far, a single dummy packet has been sent immediately after the
reception of a MDCX message. There is no dedicated keep alive
mechanism (it just worked because the audio from the MS has always
been forwarded to the NAT until the 'mgcp: Set output_enabled flags
based on the MGCP mode' patch).
This patch adds explicit, timer based keep alive handling that can be
enable per trunk. A VTY command 'rtp keep-alive' command is added for
configuration which can be used to set the interval in seconds, to
send a single packet after the reception of a CRCX/MDCX when RTP data
from the net is expected ('once'), or to disable the feature
completely ('no rtp keep-alive'). In 'send-recv' connections, only
the initial packet is sent if enabled (even when an interval has been
configured). The default is 'once'.
Note that this removes the mgcp_change_cb() from mgcp_main.c.
Sponsored-by: On-Waves ehf
diff --git a/openbsc/tests/mgcp/mgcp_test.ok b/openbsc/tests/mgcp/mgcp_test.ok
index 6db7226..7e8aa5c 100644
--- a/openbsc/tests/mgcp/mgcp_test.ok
+++ b/openbsc/tests/mgcp/mgcp_test.ok
@@ -16,6 +16,7 @@
Testing MDCX1
Testing MDCX2
Testing CRCX
+Dummy packets: 1
Detected packet duration: 40
Requested packetetization period: 20-20
Connection mode: 1, BTS output enabled, NET output disabled
@@ -24,18 +25,22 @@
Requested packetization period not set
Connection mode not set
Testing MDCX4
+Dummy packets: 1
Detected packet duration: 40
Requested packetetization period: 20-20
Connection mode: 3, BTS output enabled, NET output enabled
Testing MDCX4_PT1
+Dummy packets: 1
Detected packet duration: 40
Requested packetetization period: 20-40
Connection mode: 3, BTS output enabled, NET output enabled
Testing MDCX4_PT2
+Dummy packets: 1
Detected packet duration: 40
Requested packetetization period: 20-20
Connection mode: 3, BTS output enabled, NET output enabled
Testing MDCX4_PT3
+Dummy packets: 1
Detected packet duration: 40
Requested packetization period not set
Connection mode: 3, BTS output enabled, NET output enabled
@@ -48,6 +53,7 @@
Requested packetization period not set
Connection mode: 0, BTS output enabled, NET output enabled
Testing CRCX_ZYN
+Dummy packets: 1
Packet duration not set
Requested packetization period not set
Connection mode: 1, BTS output enabled, NET output disabled