diff options
Diffstat (limited to 'main/features.c')
-rw-r--r-- | main/features.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/main/features.c b/main/features.c index b96cbd68c..ea4a55baa 100644 --- a/main/features.c +++ b/main/features.c @@ -64,7 +64,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/cli.h" #include "asterisk/manager.h" #include "asterisk/utils.h" -#include "asterisk/adsi.h" #include "asterisk/devicestate.h" #include "asterisk/audiohook.h" #include "asterisk/global_datastores.h" @@ -203,6 +202,11 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") </variable> </variablelist> </description> + <see-also> + <ref type="manager">Bridge</ref> + <ref type="managerEvent">BridgeCreate</ref> + <ref type="managerEvent">BridgeEnter</ref> + </see-also> </application> <manager name="Bridge" language="en_US"> <synopsis> @@ -229,6 +233,15 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") <description> <para>Bridge together two channels already in the PBX.</para> </description> + <see-also> + <ref type="application">Bridge</ref> + <ref type="managerEvent">BridgeCreate</ref> + <ref type="managerEvent">BridgeEnter</ref> + <ref type="manager">BridgeDestroy</ref> + <ref type="manager">BridgeInfo</ref> + <ref type="manager">BridgeKick</ref> + <ref type="manager">BridgeList</ref> + </see-also> </manager> ***/ @@ -767,8 +780,8 @@ static int action_bridge(struct mansession *s, const struct message *m) astman_send_error(s, m, buf); return 0; } - xfer_cfg_a = ast_get_chan_features_xfer_config(chana); ast_channel_lock(chana); + xfer_cfg_a = ast_get_chan_features_xfer_config(chana); chana_exten = ast_strdupa(ast_channel_exten(chana)); chana_context = ast_strdupa(ast_channel_context(chana)); chana_priority = ast_channel_priority(chana); @@ -783,8 +796,8 @@ static int action_bridge(struct mansession *s, const struct message *m) astman_send_error(s, m, buf); return 0; } - xfer_cfg_b = ast_get_chan_features_xfer_config(chanb); ast_channel_lock(chanb); + xfer_cfg_b = ast_get_chan_features_xfer_config(chanb); chanb_exten = ast_strdupa(ast_channel_exten(chanb)); chanb_context = ast_strdupa(ast_channel_context(chanb)); chanb_priority = ast_channel_priority(chanb); @@ -1098,7 +1111,9 @@ static int bridge_exec(struct ast_channel *chan, const char *data) goto done; } + ast_channel_lock(current_dest_chan); xfer_cfg = ast_get_chan_features_xfer_config(current_dest_chan); + ast_channel_unlock(current_dest_chan); bridge_add_failed = ast_bridge_add_channel(bridge, current_dest_chan, peer_features, ast_test_flag(&opts, BRIDGE_OPT_PLAYTONE), xfer_cfg ? xfer_cfg->xfersound : NULL); |