Add pickup event to AMI. Also, fix AMI documentation.
[asterisk/asterisk.git] / apps / app_directed_pickup.c
index bc25def..92e2938 100644 (file)
@@ -40,6 +40,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/lock.h"
 #include "asterisk/app.h"
 #include "asterisk/features.h"
+#include "asterisk/manager.h"
 #include "asterisk/callerid.h"
 #include "asterisk/cel.h"
 
@@ -94,6 +95,7 @@ static int pickup_do(struct ast_channel *chan, struct ast_channel *target)
 {
        int res = 0;
        struct ast_party_connected_line connected_caller;
+       struct ast_channel *chans[2] = { chan, target };
 
        ast_debug(1, "Call pickup on '%s' by '%s'\n", target->name, chan->name);
        ast_cel_report_event(target, AST_CEL_PICKUP, NULL, NULL, chan);
@@ -128,6 +130,10 @@ static int pickup_do(struct ast_channel *chan, struct ast_channel *target)
                return -1;
        }
 
+       /* 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, target->name);
+
        return res;
 }