rtp_engine: allocate RTP dynamic payloads per session
authorKevin Harwell <kharwell@digium.com>
Mon, 20 Mar 2017 18:27:31 +0000 (13:27 -0500)
committerKevin Harwell <kharwell@digium.com>
Wed, 22 Mar 2017 20:43:33 +0000 (15:43 -0500)
commit9b103e7bea40c300f89de67cc23c1015fc03db76
tree16716cafa1b2b8e8fc2c8d70ff72fd0f63be75f0
parent06c996660865e5a5d87aa130b066d214a407b286
rtp_engine: allocate RTP dynamic payloads per session

Dynamic payload types were statically defined in Asterisk. This unfortunately
limited the number of dynamic payloads that could be registered. With this patch
dynamic payload type numbers are now assigned dynamically and per RTP instance.
However, in order to limit any issues where some clients expect the old
statically defined value this patch makes it so the value Asterisk used to pre-
designate is used for the dynamic assignment if available.

An option, "rtp_use_dynamic", has also been added (can be set in asterisk.conf)
that turns the new dynamic behavior on or off. When off it reverts back to using
statically defined payload values. This option defaults to "yes" in Asterisk 15.

ASTERISK-26515 #close
patches:
  ASTERISK-26515.diff submitted by jcolp (license 5000

Change-Id: I7653465c5ebeaf968f1a1cc8f3f4f5c4321da7fc
CHANGES
configs/samples/asterisk.conf.sample
include/asterisk/options.h
main/asterisk.c
main/rtp_engine.c