From edd7ae85e8adfe18b401fbb0e975f389f02d88fd Mon Sep 17 00:00:00 2001 From: Matt Jordan Date: Mon, 14 Nov 2016 15:57:08 -0600 Subject: pjproject: Use a much higher limit for PJ_ICE_MAX_CHECKS The PJ_ICE_MAX_CHECKS constant is used by pjproject to determine how many pairs of local/remote candidates will be made. If for some reason we reach this upper bound, ICE will generally fail and no media will flow between the browser and Asterisk. This patch makes PJ_ICE_MAX_CHECKS set to the total possible number of pairs of candidates we'd theoretically allow, which is PJ_ICE_MAX_CAND^2. Prior to this patch, we simply multiplied PJ_ICE_MAX_CAND by two; on systems with multiple interfaces (I blame Docker), this is far too low to allow WebRTC calls to succeed. Setting this to be PJ_ICE_MAX_CAND^2 allowed WebRTC calls to succeed even when the system Asterisk was running on had quite a few virtual interfaces. Change-Id: Icd4f17de0ac9d3a83dddfc8bf1cb7616bc107d55 --- third-party/pjproject/patches/config_site.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'third-party/pjproject') diff --git a/third-party/pjproject/patches/config_site.h b/third-party/pjproject/patches/config_site.h index 564959d84..1a48695bf 100644 --- a/third-party/pjproject/patches/config_site.h +++ b/third-party/pjproject/patches/config_site.h @@ -56,7 +56,7 @@ /* Defaults too low for WebRTC */ #define PJ_ICE_MAX_CAND 32 -#define PJ_ICE_MAX_CHECKS (PJ_ICE_MAX_CAND * 2) +#define PJ_ICE_MAX_CHECKS (PJ_ICE_MAX_CAND * PJ_ICE_MAX_CAND) /* Increase limits to allow more formats */ #define PJMEDIA_MAX_SDP_FMT 64 -- cgit v1.2.3