Merged revisions 97093 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Tue, 8 Jan 2008 18:42:39 +0000 (18:42 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 8 Jan 2008 18:42:39 +0000 (18:42 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97093 | file | 2008-01-08 14:36:40 -0400 (Tue, 08 Jan 2008) | 4 lines

Make app_queue calls work with directed pickup.
(closes issue #11700)
Reported by: jbauer

........

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

apps/app_queue.c

index 472e211..1185b36 100644 (file)
@@ -2100,6 +2100,16 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies
        /* Presense of ADSI CPE on outgoing channel follows ours */
        tmp->chan->adsicpe = qe->chan->adsicpe;
 
+       /* Inherit context and extension */
+       if (!ast_strlen_zero(qe->chan->macrocontext))
+               ast_copy_string(tmp->chan->dialcontext, qe->chan->macrocontext, sizeof(tmp->chan->dialcontext));
+       else
+               ast_copy_string(tmp->chan->dialcontext, qe->chan->context, sizeof(tmp->chan->dialcontext));
+       if (!ast_strlen_zero(qe->chan->macroexten))
+               ast_copy_string(tmp->chan->exten, qe->chan->macroexten, sizeof(tmp->chan->exten));
+       else
+               ast_copy_string(tmp->chan->exten, qe->chan->exten, sizeof(tmp->chan->exten));
+
        /* Place the call, but don't wait on the answer */
        if ((res = ast_call(tmp->chan, location, 0))) {
                /* Again, keep going even if there's an error */