]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Add status for async manager originate (including ActionID) (bug #2434)
authorMark Spencer <markster@digium.com>
Tue, 14 Sep 2004 22:15:50 +0000 (22:15 +0000)
committerMark Spencer <markster@digium.com>
Tue, 14 Sep 2004 22:15:50 +0000 (22:15 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3776 65c4cc65-6c06-0410-ace0-fbb531ad65f3

manager.c

index 168a2e26fc5128050b8fa2ca72be0131ab81698d..df59ea30120abd8a80397343fa2f7bcd18e498ce 100755 (executable)
--- a/manager.c
+++ b/manager.c
@@ -51,6 +51,7 @@ struct fast_originate_helper
        char account[256];
        char context[256];
        char exten[256];
+       char idtext[256];
        int priority;
 };
 
@@ -813,6 +814,23 @@ static void *fast_originate(void *data)
        } else {
                res = ast_pbx_outgoing_exten(in->tech, AST_FORMAT_SLINEAR, in->data, in->timeout, in->context, in->exten, in->priority, &reason, 1, !ast_strlen_zero(in->callerid) ? in->callerid : NULL, in->variable, in->account);
        }   
+        if(!res)
+            manager_event(EVENT_FLAG_CALL,
+                "OriginateSuccess",
+                               "%s"
+                "Channel: %s/%s\r\n"
+                "Context: %s\r\n"
+                "Exten: %s\r\n",
+                in->tech, in->data, in->idtext, in->context, in->exten);
+        else
+            manager_event(EVENT_FLAG_CALL,
+                "OriginateFailure",
+                               "%s"
+                "Channel: %s/%s\r\n"
+                "Context: %s\r\n"
+                "Exten: %s\r\n",
+                in->tech, in->data, in->idtext, in->context, in->exten);
+
        free(in);
        return NULL;
 }
@@ -846,6 +864,7 @@ static int action_originate(struct mansession *s, struct message *m)
        char *app = astman_get_header(m, "Application");
        char *appdata = astman_get_header(m, "Data");
        char *async = astman_get_header(m, "Async");
+       char *id = astman_get_header(m, "ActionID");
        char *tech, *data;
        int pi = 0;
        int res;
@@ -885,6 +904,8 @@ static int action_originate(struct mansession *s, struct message *m)
                else
                {
                        memset(fast, 0, sizeof(struct fast_originate_helper));
+                       if (id && !ast_strlen_zero(id))
+                               snprintf(fast->idtext, sizeof(fast->idtext), "ActionID: %s\r\n", id);
                        strncpy(fast->tech, tech, sizeof(fast->tech) - 1);
                        strncpy(fast->data, data, sizeof(fast->data) - 1);
                        strncpy(fast->app, app, sizeof(fast->app) - 1);