Restore Dial, Queue, and FollowMe 'I' option support.
authorRichard Mudgett <rmudgett@digium.com>
Fri, 13 Sep 2013 22:19:23 +0000 (22:19 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Fri, 13 Sep 2013 22:19:23 +0000 (22:19 +0000)
commit2a371cd80bfb88552d2f42545718da2489e1a5ba
tree188cc0f08f5ef185f215cf2d07ea59f5164311f0
parent03c7857375b475883a81141da05ca2d2376bf066
Restore Dial, Queue, and FollowMe 'I' option support.

The Dial, Queue, and FollowMe applications need to inhibit the bridging
initial connected line exchange in order to support the 'I' option.

* Replaced the pass_reference flag on ast_bridge_join() with a flags
parameter to pass other flags defined by enum ast_bridge_join_flags.

* Replaced the independent flag on ast_bridge_impart() with a flags
parameter to pass other flags defined by enum ast_bridge_impart_flags.

* Since the Dial, Queue, and FollowMe applications are now the only
callers of ast_bridge_call() and ast_bridge_call_with_flags(), changed the
calling contract to require the initial COLP exchange to already have been
done by the caller.

* Made all callers of ast_bridge_impart() check the return value.  It is
important.  As a precaution, I also made the compiler complain now if it
is not checked.

* Did some cleanup in parking_tests.c as a result of checking the
ast_bridge_impart() return value.

An independent, but associated change is:
* Reduce stack usage in ast_indicate_data() and add a dropping redundant
connected line verbose message.

(closes issue ASTERISK-22072)
Reported by: Joshua Colp

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

Merged revisions 399136 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@399138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
20 files changed:
apps/app_agent_pool.c
apps/confbridge/conf_chan_announce.c
channels/chan_sip.c
include/asterisk/bridge.h
include/asterisk/bridge_channel.h
include/asterisk/features.h
main/bridge.c
main/bridge_basic.c
main/bridge_channel.c
main/channel.c
main/core_local.c
main/core_unreal.c
main/features.c
res/parking/parking_applications.c
res/parking/parking_bridge_features.c
res/parking/parking_tests.c
res/res_pjsip_refer.c
res/stasis/control.c
tests/test_cdr.c
tests/test_cel.c