Reimplement bridging and DTMF features related channel variables in the bridging...
authorRichard Mudgett <rmudgett@digium.com>
Thu, 6 Jun 2013 22:46:54 +0000 (22:46 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 6 Jun 2013 22:46:54 +0000 (22:46 +0000)
commitbad8caa8c65ac1937ae1c85a0c5fb45f3e8a7fe4
treed077d5d84638645d10508c15bb6f00538e8e1f64
parent2dc8a060064f359a17f5ebcd515d85fe5203c019
Reimplement bridging and DTMF features related channel variables in the bridging core.

* The channel variable ATTENDED_TRANSFER_COMPLETE_SOUND is no longer
channel driver specific.  If the channel variable is set on the
transferrer channel, the sound will be played to the target of an attended
transfer.

* The channel variable BRIDGEPEER becomes a comma separated list of peers
in a multi-party bridge.  The BRIDGEPEER value can have a maximum of 10
peers listed.  Any more peers in the bridge will not be included in the
list.  BRIDGEPEER is not valid in holding bridges like parking since those
channels do not talk to each other even though they are in a bridge.

* The channel variable BRIDGEPVTCALLID is only valid for two party bridges
and will contain a value if the BRIDGEPEER's channel driver supports it.

* The channel variable DYNAMIC_PEERNAME is redundant with BRIDGEPEER and
is removed.  The more useful DYNAMIC_WHO_ACTIVATED gives the channel name
that activated the dynamic feature.

* The channel variables DYNAMIC_FEATURENAME and DYNAMIC_WHO_ACTIVATED are
set only on the channel executing the dynamic feature.  Executing a
dynamic feature on the bridge peer in a multi-party bridge will execute it
on all peers of the activating channel.

(closes issue ASTERISK-21555)
Reported by: Matt Jordan

Review: https://reviewboard.asterisk.org/r/2582/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@390771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
CHANGES
UPGRADE.txt
bridges/bridge_builtin_features.c
configs/chan_dahdi.conf.sample
configs/iax.conf.sample
configs/sip.conf.sample
configs/skinny.conf.sample
include/asterisk/bridging.h
include/asterisk/bridging_features.h
main/bridging.c
main/features.c