summaryrefslogtreecommitdiff
path: root/main/features.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/features.c')
-rw-r--r--main/features.c21
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);