[asterisk-commits] mmichelson: trunk r160555 - /trunk/apps/app_queue.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Dec 3 11:07:09 CST 2008


Author: mmichelson
Date: Wed Dec  3 11:07:09 2008
New Revision: 160555

URL: http://svn.digium.com/view/asterisk?view=rev&rev=160555
Log:
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.


Modified:
    trunk/apps/app_queue.c

Modified: trunk/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_queue.c?view=diff&rev=160555&r1=160554&r2=160555
==============================================================================
--- trunk/apps/app_queue.c (original)
+++ trunk/apps/app_queue.c Wed Dec  3 11:07:09 2008
@@ -3971,9 +3971,9 @@
 				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) {
@@ -3990,8 +3990,8 @@
 					}
 				}
 				if (gosub_args) {
-					res = pbx_exec(qe->chan, application, gosub_args);
-					ast_pbx_run(qe->chan);
+					res = pbx_exec(peer, application, gosub_args);
+					ast_pbx_run(peer);
 					free(gosub_args);
 					ast_debug(1, "Gosub exited with status %d\n", res);
 				} else




More information about the asterisk-commits mailing list