res_rtp_asterisk.c: Increase strictrtp learning timeout time.
authorRichard Mudgett <rmudgett@digium.com>
Thu, 30 Nov 2017 18:50:58 +0000 (12:50 -0600)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 4 Dec 2017 16:45:01 +0000 (10:45 -0600)
More complicated direct media reinvite negotiations can result in longer
delays before direct media flows.  The strictrtp learning timeout time
was too short.  One log showed that the first RTP packet came in just
after three seconds.

* Increase the strictrtp learning timeout time from 1.5 to 5 seconds.

ASTERISK-27453

Change-Id: Ic5e711164cbb91b4d1c1e40c83697755640f138c

res/res_rtp_asterisk.c

index 2730611..5aeb791 100644 (file)
@@ -140,7 +140,14 @@ enum strict_rtp_state {
        STRICT_RTP_CLOSED,   /*! Drop all RTP packets not coming from source that was learned */
 };
 
-#define STRICT_RTP_LEARN_TIMEOUT       1500    /*!< milliseconds */
+/*!
+ * \brief Strict RTP learning timeout time in milliseconds
+ *
+ * \note Set to 5 seconds to allow reinvite chains for direct media
+ * to settle before media actually starts to arrive.  There may be a
+ * reinvite collision involved on the other leg.
+ */
+#define STRICT_RTP_LEARN_TIMEOUT       5000
 
 #define DEFAULT_STRICT_RTP -1  /*!< Enabled */
 #define DEFAULT_ICESUPPORT 1