diff options
author | Richard Mudgett <rmudgett@digium.com> | 2014-04-18 16:44:48 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2014-04-18 16:44:48 +0000 |
commit | 51b6c49681c17d260aebc67e618f996b9a7f1176 (patch) | |
tree | ec16e0af53fbf5ae405439c8ff08d8404f756a39 /apps | |
parent | cbe7f656749f5cf7e4d8321ef74a99c9281a2284 (diff) |
Originated calls: Fix several originate call problems.
* Restore the reason value set by pbx_outgoing_attempt() to use
AST_CONTROL_xxx values as all the consumers were expecting rather than
cause codes.
* Fixed the dial routines to set cause codes for more than just
ast_request() so pbx_outgoing_attempt() reason codes will function.
* Fix inconsistent locked_channel return status in pbx_outgoing_attempt().
The chanel may not have been locked or the channel may have been a stale
pointer.
* Fixed the OutgoingSpoolFailed channel to run dialplan whenever the
dialing fails for an originate exten and 1 < synchronous.
* Fix incorrect ast_cond_wait() usage in pbx_outgoing_attempt().
Indroduced by issue ASTERISK-22212 patch.
* Made struct pbx_outgoing use the ao2 lock instead of its own lock for
the cond wait mutex. No sense in having two locks associated with the
same struct when only one is needed.
Review: https://reviewboard.asterisk.org/r/3421/
........
Merged revisions 412581 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@412583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_originate.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/apps/app_originate.c b/apps/app_originate.c index b196194e4..9fceb0849 100644 --- a/apps/app_originate.c +++ b/apps/app_originate.c @@ -177,14 +177,14 @@ static int originate_exec(struct ast_channel *chan, const char *data) chantech, chandata, args.arg1, exten, priority); ast_pbx_outgoing_exten(chantech, cap_slin, chandata, - timeout * 1000, args.arg1, exten, priority, &outgoing_status, 0, NULL, + timeout * 1000, args.arg1, exten, priority, &outgoing_status, 1, NULL, NULL, NULL, NULL, NULL, 0, NULL); } else if (!strcasecmp(args.type, "app")) { ast_debug(1, "Originating call to '%s/%s' and connecting them to %s(%s)\n", chantech, chandata, args.arg1, S_OR(args.arg2, "")); ast_pbx_outgoing_app(chantech, cap_slin, chandata, - timeout * 1000, args.arg1, args.arg2, &outgoing_status, 0, NULL, + timeout * 1000, args.arg1, args.arg2, &outgoing_status, 1, NULL, NULL, NULL, NULL, NULL, NULL); } else { ast_log(LOG_ERROR, "Incorrect type, it should be 'exten' or 'app': %s\n", |