diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-02-02 20:35:35 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-02-02 20:35:35 +0000 |
commit | 765b5ae40a1a40bc46bcc64814526d636a2ac85b (patch) | |
tree | 29434dbd3602461bbb45b988153b10a30e051e05 /apps | |
parent | 5a3a71e21d74d2cd23738a5d2c9c07171f530dbc (diff) |
Merged revisions 244393 via svnmerge from
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: http://svn.digium.com/svn/asterisk/branches/1.6.1@244394 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_dial.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c index 21f4100cb..b587698ca 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -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); |