These changes submitted by moy via bug 6992, to add a Dial 'End' event to asterisk...
authorSteve Murphy <murf@digium.com>
Mon, 30 Oct 2006 23:11:55 +0000 (23:11 +0000)
committerSteve Murphy <murf@digium.com>
Mon, 30 Oct 2006 23:11:55 +0000 (23:11 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46541 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_dial.c
utils/astman.c

index 95bbc4d..a09d848 100644 (file)
@@ -374,6 +374,7 @@ static const char *get_cid_name(char *name, int namelen, struct ast_channel *cha
 static void senddialevent(struct ast_channel *src, struct ast_channel *dst)
 {
        manager_event(EVENT_FLAG_CALL, "Dial", 
+                          "SubEvent: Begin\r\n"
                           "Source: %s\r\n"
                           "Destination: %s\r\n"
                           "CallerIDNum: %s\r\n"
@@ -385,6 +386,15 @@ static void senddialevent(struct ast_channel *src, struct ast_channel *dst)
                           dst->uniqueid);
 }
 
+static void senddialendevent(const struct ast_channel *src, const char *dialstatus)
+{
+       manager_event(EVENT_FLAG_CALL, "Dial",
+                                       "SubEvent: End\r\n"
+                                       "Channel: %s\r\n"
+                                       "DialStatus: %s\r\n",
+                                       src->name, dialstatus);
+}      
+
 static struct ast_channel *wait_for_answer(struct ast_channel *in, struct dial_localuser *outgoing, int *to, struct ast_flags *peerflags, int *sentringing, char *status, size_t statussize, int busystart, int nochanstart, int congestionstart, int priority_jump, int *result)
 {
        int numbusy = busystart;
@@ -1635,6 +1645,7 @@ out:
        ast_channel_early_bridge(chan, NULL);
        hanguptree(outgoing, NULL);
        pbx_builtin_setvar_helper(chan, "DIALSTATUS", status);
+       senddialendevent(chan, status);
        if (option_debug)
                ast_log(LOG_DEBUG, "Exiting with DIALSTATUS=%s.\n", status);
        
index 5ce0d15..d3bbef8 100644 (file)
@@ -226,6 +226,8 @@ static struct event {
        { "Unlink", event_ignore },
        { "StatusComplete", event_ignore },
        { "Dial", event_ignore },
+       { "PeerStatus", event_ignore },
+       { "MessageWaiting", event_ignore },
        { "Newcallerid", event_ignore }
 };