From be83b74be972900c6376b8c9bce88a8929dbec8f Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Tue, 8 Jan 2008 18:36:40 +0000 Subject: [PATCH] Make app_queue calls work with directed pickup. (closes issue #11700) Reported by: jbauer git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@97093 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_queue.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/app_queue.c b/apps/app_queue.c index 2be4d03dcf..ac8845ce11 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -1861,6 +1861,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 */