]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
rtp: Don't negotiate dynamic codecs using payload.
authorJoshua Colp <jcolp@digium.com>
Tue, 5 Jun 2018 09:36:35 +0000 (09:36 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 5 Jun 2018 09:36:35 +0000 (09:36 +0000)
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

main/rtp_engine.c

index 44f5104112493a43697bac0364dbb80a59bae33b..5a7ec824db8f14c6e9a973344352bf6f39cafecd 100644 (file)
@@ -1281,7 +1281,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;
        }