diff options
author | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-03 17:09:27 +0000 |
---|---|---|
committer | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-03 17:09:27 +0000 |
commit | 24c72c5608eab8f03079c6e21494ef2590444194 (patch) | |
tree | cd543018e71a0b11b22f837e13af14e88cc2df6d /apps | |
parent | d8d0dacb2380c3b5210e86f57c26e4964650e819 (diff) |
Merged revisions 160555 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r160555 | mmichelson | 2008-12-03 11:07:09 -0600 (Wed, 03 Dec 2008) | 11 lines
When investigating issue #13548, I found that gosub
handling in app_queue was just completely wrong, mostly
because the channel operations being performed were being
done on the incorrect channel.
With this set of changes, a gosub will correctly run on
the answering queue member's channel. There are still crash
issues which occur if there are dialplan syntax errors, so
I cannot yet close the referenced issue.
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@160556 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_queue.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index 04f522c91..80579a11e 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -3760,9 +3760,9 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce char *gosub_args, *gosub_argstart; /* Set where we came from */ - ast_copy_string(qe->chan->context, "app_dial_gosub_virtual_context", sizeof(qe->chan->context)); - ast_copy_string(qe->chan->exten, "s", sizeof(qe->chan->exten)); - qe->chan->priority = 0; + ast_copy_string(peer->context, "app_queue_gosub_virtual_context", sizeof(peer->context)); + ast_copy_string(peer->exten, "s", sizeof(peer->exten)); + peer->priority = 0; gosub_argstart = strchr(gosubexec, ','); if (gosub_argstart) { @@ -3779,8 +3779,8 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce } } if (gosub_args) { - res = pbx_exec(qe->chan, app, gosub_args); - ast_pbx_run(qe->chan); + res = pbx_exec(peer, app, gosub_args); + ast_pbx_run(peer); free(gosub_args); if (option_debug) ast_log(LOG_DEBUG, "Gosub exited with status %d\n", res); |