summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorTilghman Lesher <tilghman@meg.abyt.es>2010-01-15 21:04:34 +0000
committerTilghman Lesher <tilghman@meg.abyt.es>2010-01-15 21:04:34 +0000
commite8a6d2995e95e8b27aba9551c3da025e7b9bfa6d (patch)
treef39f3de7c5f67ba6dea50afeea26c65d73e1d654 /main
parentfe72baf06b3ea785a6ddc919025363e39cf6ced5 (diff)
Add pickup event to AMI. Also, fix AMI documentation.
(closes issue #16431) Reported by: syspert Patches: 20100112__issue16431.diff.txt uploaded by tilghman (license 14) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@240421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r--main/features.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/main/features.c b/main/features.c
index 68f2f858a..3e8255de6 100644
--- a/main/features.c
+++ b/main/features.c
@@ -4734,7 +4734,7 @@ static int find_channel_by_group(void *obj, void *arg, void *data, int flags)
*/
int ast_pickup_call(struct ast_channel *chan)
{
- struct ast_channel *cur;
+ struct ast_channel *cur, *chans[2] = { chan, };
struct ast_party_connected_line connected_caller;
int res;
const char *chan_name;
@@ -4748,6 +4748,8 @@ int ast_pickup_call(struct ast_channel *chan)
return -1;
}
+ chans[1] = cur;
+
ast_channel_lock_both(cur, chan);
cur_name = ast_strdupa(cur->name);
@@ -4784,6 +4786,10 @@ int ast_pickup_call(struct ast_channel *chan)
ast_stream_and_wait(cur, pickupsound, "");
}
+ /* If you want UniqueIDs, set channelvars in manager.conf to CHANNEL(uniqueid) */
+ ast_manager_event_multichan(EVENT_FLAG_CALL, "Pickup", 2, chans,
+ "Channel: %s\r\nTargetChannel: %s\r\n", chan->name, cur->name);
+
cur = ast_channel_unref(cur);
return res;