From: Joshua Colp Date: Tue, 5 Jun 2018 09:36:35 +0000 (+0000) Subject: rtp: Don't negotiate dynamic codecs using payload. X-Git-Tag: 16.0.0-rc1~107^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=41175caee0196a3a0a8247e91d4a1ac0506297ff;p=thirdparty%2Fasterisk.git rtp: Don't negotiate dynamic codecs using payload. In Asterisk there are some dynamic codecs that have a fixed payload number. This number was being improperly used to negotiate the codec, instead of using the name and sample rate. This could result in the wrong payload number being negotiated for a codec. This change makes it so that only static payloads will be negotiated using their payload number. ASTERISK-27848 Change-Id: Ia865830170fd3f808cdb33104f3d4c4ffdc77570 --- diff --git a/main/rtp_engine.c b/main/rtp_engine.c index c11027af2f..3d507745d3 100644 --- a/main/rtp_engine.c +++ b/main/rtp_engine.c @@ -1287,7 +1287,7 @@ void ast_rtp_codecs_payloads_set_m_type(struct ast_rtp_codecs *codecs, struct as { struct ast_rtp_payload_type *new_type; - if (payload < 0 || payload >= AST_RTP_MAX_PT) { + if (payload < 0 || payload >= AST_RTP_MAX_PT || payload > AST_RTP_PT_LAST_STATIC) { return; }