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
This commit is contained in:
Tilghman Lesher
2010-01-15 21:04:34 +00:00
parent fe72baf06b
commit e8a6d2995e
3 changed files with 15 additions and 3 deletions

View File

@@ -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;