]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 244393 via svnmerge from
authorTilghman Lesher <tilghman@meg.abyt.es>
Tue, 2 Feb 2010 20:35:35 +0000 (20:35 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Tue, 2 Feb 2010 20:35:35 +0000 (20:35 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

........
  r244393 | tilghman | 2010-02-02 14:32:29 -0600 (Tue, 02 Feb 2010) | 18 lines

  Properly respect GOSUB_RESULT as to what to do with the master channel.

  Previously, we would parse GOSUB_RESULT, but not actually do anything with it.

  (closes issue #16686)
   Reported by: bklang
   Patches:
         app_dial-respect-gosub_result.patch uploaded by bklang (license 919)
         (with modifications)
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@244394 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_dial.c

index 21f4100cb7bb5235352771108eabddcb300fba54..b587698ca9eca13b0cf04c6cc1c00ee3671a4c56 100644 (file)
@@ -1950,23 +1950,23 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
                                if (!strcasecmp(gosub_result, "BUSY")) {
                                        ast_copy_string(pa.status, gosub_result, sizeof(pa.status));
                                        ast_set_flag64(peerflags, OPT_GO_ON);
-                                       res9 = -1;
+                                       res = -1;
                                } else if (!strcasecmp(gosub_result, "CONGESTION") || !strcasecmp(gosub_result, "CHANUNAVAIL")) {
                                        ast_copy_string(pa.status, gosub_result, sizeof(pa.status));
                                        ast_set_flag64(peerflags, OPT_GO_ON);
-                                       res9 = -1;
+                                       res = -1;
                                } else if (!strcasecmp(gosub_result, "CONTINUE")) {
                                        /* hangup peer and keep chan alive assuming the macro has changed
                                           the context / exten / priority or perhaps
                                           the next priority in the current exten is desired.
                                        */
                                        ast_set_flag64(peerflags, OPT_GO_ON);
-                                       res9 = -1;
+                                       res = -1;
                                } else if (!strcasecmp(gosub_result, "ABORT")) {
                                        /* Hangup both ends unless the caller has the g flag */
-                                       res9 = -1;
+                                       res = -1;
                                } else if (!strncasecmp(gosub_result, "GOTO:", 5) && (gosub_transfer_dest = ast_strdupa(gosub_result + 5))) {
-                                       res9 = -1;
+                                       res = -1;
                                        /* perform a transfer to a new extension */
                                        if (strchr(gosub_transfer_dest, '^')) { /* context^exten^priority*/
                                                replace_macro_delimiter(gosub_transfer_dest);