]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Here lies the fixes that killed bug 8423 -- OriginateSuccess and OriginateError incom...
authorSteve Murphy <murf@digium.com>
Thu, 7 Dec 2006 15:33:32 +0000 (15:33 +0000)
committerSteve Murphy <murf@digium.com>
Thu, 7 Dec 2006 15:33:32 +0000 (15:33 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48349 65c4cc65-6c06-0410-ace0-fbb531ad65f3

CHANGES
UPGRADE.txt
main/manager.c

diff --git a/CHANGES b/CHANGES
index dca675a32dbf5a55b598dfaa9939d18d80afe12f..faa18550775f324b77c7aaa59b854efec2355817 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -337,3 +337,5 @@ Changes since Asterisk 1.2:
          2. chan_modem_* and related modules are gone because the kernel support for those interfaces is old, buggy and unsupported
     * New Utils:
          1. aelparse -- compile .ael files outside of asterisk
+    * New manager events:
+         1. OriginateResponse event comes to replace OriginateSuccess and OriginateFailure
index 741f8111a0b5804196d1e2717414dc849efda41b..2f90be4296349bdfa7ad078e11bd3198232aaaf4 100644 (file)
@@ -247,6 +247,10 @@ Manager:
   also been deprecated in favor of the already existing MeetmeTalking event
   with a "Status" of "on" or "off" added.
 
+* OriginateFailure and OriginateSuccess events were replaced by event
+  OriginateResponse with a header named "Response" to indicate success or
+  failure
+
 Variables:
 
 * The builtin variables ${CALLERID}, ${CALLERIDNAME}, ${CALLERIDNUM},
index 10dca04e69b74d073b754b2db8a9869227176cd5..7a3270de9ba97ed90f8dc59c8335d5dedb7d6580 100644 (file)
@@ -1567,6 +1567,7 @@ static void *fast_originate(void *data)
        int res;
        int reason = 0;
        struct ast_channel *chan = NULL;
+       char requested_channel[AST_CHANNEL_NAME];
 
        if (!ast_strlen_zero(in->app)) {
                res = ast_pbx_outgoing_app(in->tech, AST_FORMAT_SLINEAR, in->data, in->timeout, in->app, in->appdata, &reason, 1, 
@@ -1578,13 +1579,15 @@ static void *fast_originate(void *data)
                        S_OR(in->cid_num, NULL), 
                        S_OR(in->cid_name, NULL),
                        in->vars, in->account, &chan);
-       }   
-       
+       }
+
+       if (!chan)
+               snprintf(requested_channel, AST_CHANNEL_NAME, "%s/%s", in->tech, in->data);     
        /* Tell the manager what happened with the channel */
-       manager_event(EVENT_FLAG_CALL,
-               res ? "OriginateFailure" : "OriginateSuccess",
+       manager_event(EVENT_FLAG_CALL, "OriginateResponse",
                "%s"
-               "Channel: %s/%s\r\n"
+               "Response: %s\r\n"
+               "Channel: %s\r\n"
                "Context: %s\r\n"
                "Exten: %s\r\n"
                "Reason: %d\r\n"
@@ -1592,7 +1595,7 @@ static void *fast_originate(void *data)
                "CallerID: %s\r\n"              /* This parameter is deprecated and will be removed post-1.4 */
                "CallerIDNum: %s\r\n"
                "CallerIDName: %s\r\n",
-               in->idtext, in->tech, in->data, in->context, in->exten, reason, 
+               in->idtext, res ? "Failure" : "Success", chan ? chan->name : requested_channel, in->context, in->exten, reason, 
                chan ? chan->uniqueid : "<null>",
                S_OR(in->cid_num, "<unknown>"),
                S_OR(in->cid_num, "<unknown>"),