<HTML>
<HEAD>
<TITLE>Re: [asterisk-users] Macro arguments on app_queue</TITLE>
</HEAD>
<BODY>
<FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'>Here is what I do:<BR>
<BR>
[macro-cfmc_queue_private]<BR>
; Due to a change around version 1.6.0.8 MEMBERINTERFACE and MEMBERNAME are not set but CHANNEL has the agent we are connected with.<BR>
; We need to look for Agent/&lt;number&gt; is either CHANNEL or MEMBERINTERFACE and it will be in one or the other<BR>
exten =&gt; s,1,UserEvent(DidQueue,ActionID:${Local_CfMC_ActionID} &amp; ${UNIQUEID} &amp; ${CHANNEL} &amp; ${Local_CfMC_AgentToUse} &amp; ${Local_CfMC_DialInfo} &amp; ${Local_CfMC_QueueToUse} &amp; ${MEMBERINTERFACE} &amp; ${MEMBERNAME})<BR>
<BR>
<BR>
<BR>
exten =&gt; queue_answer,1,Answer()<BR>
exten =&gt; queue_answer,n,Set(CfMC_AMDValue=&quot;NotChecked&quot;)<BR>
exten =&gt; queue_answer,n,GotoIf($[&quot;${CfMC_DoAMD}&quot;!=&quot;Yes&quot;]?NoAMD)<BR>
exten =&gt; queue_answer,n,AMD()<BR>
; AMDSTATUS - MACHINE HUMAN NOTSURE HANGUP<BR>
exten =&gt; queue_answer,n,Set(CfMC_AMDValue=&quot;${AMDSTATUS}&quot;)<BR>
exten =&gt; queue_answer,n(NoAMD),Wait(0.3)<BR>
exten =&gt; queue_answer,n,UserEvent(BeforeQueue,ActionID:${CfMC_ActionID} &amp; ${UNIQUEID} &amp; ${CHANNEL} &amp; ${CfMC_AgentToUse} &amp; ${CfMC_DialInfo} &amp; ${CfMC_QueueToUse} &amp; ${CfMC_AMDValue} &amp; ${AMDCAUSE})<BR>
exten =&gt; queue_answer,n,GotoIf($[${CfMC_AMDValue} &amp; &quot;NotChecked&quot;]?QueueIt)<BR>
exten =&gt; queue_answer,n,GotoIf($[${CfMC_AMDValue}!=&quot;HUMAN&quot;]?ForceHangUp)<BR>
; Some time around version 1.6.0.8 * hangs up a channel before it used to so the channel pointed at macro cfmc_queue_private is not the same one.<BR>
; This causes us to be looking at a different channel thus some of our variables were not there. We need to propogate them upward so do Set().<BR>
exten =&gt; queue_answer,n(QueueIt),Set(_Local_CfMC_ActionID=${CfMC_ActionID})<BR>
exten =&gt; queue_answer,n,Set(_Local_CfMC_AgentToUse=${CfMC_AgentToUse})<BR>
exten =&gt; queue_answer,n,Set(_Local_CfMC_DialInfo=${CfMC_DialInfo})<BR>
exten =&gt; queue_answer,n,Set(_Local_CfMC_QueueToUse=${CfMC_QueueToUse})<BR>
exten =&gt; queue_answer,n,Queue(${CfMC_QueueToUse},cn,,,20,,cfmc_queue_private)<BR>
; QUEUESTATUS - TIMEOUT FULL JOINEMPTY LEAVEEMPTY JOINUNAVAIL LEAVEUNAVAIL CONTINUE<BR>
exten =&gt; queue_answer,n,UserEvent(AfterQueue,ActionID:${CfMC_ActionID} &amp; ${UNIQUEID} &amp; ${CHANNEL} &amp; ${CfMC_AgentToUse} &amp; ${CfMC_DialInfo} &amp; ${CfMC_QueueToUse} &amp; ${QUEUESTATUS})<BR>
exten =&gt; queue_answer,n(ForceHangUp),Hangup()<BR>
<BR>
-- <BR>
Jim Dickenson<BR>
<a href="mailto:dickenson@cfmc.com">mailto:dickenson@cfmc.com</a><BR>
<BR>
CfMC<BR>
<a href="http://www.cfmc.com/">http://www.cfmc.com/</a><BR>
<BR>
<BR>
<BR>
<FONT COLOR="#0000FF">&gt; From: &lt;cesar@codinet.com.mx&gt;<BR>
&gt; Reply-To: Asterisk Users Mailing List - Non-Commercial Discussion <BR>
&gt; &lt;asterisk-users@lists.digium.com&gt;<BR>
&gt; Date: Thu, 07 May 2009 13:20:02 -0500<BR>
&gt; To: &lt;asterisk-users@lists.digium.com&gt;<BR>
&gt; Subject: [asterisk-users] Macro arguments on app_queue<BR>
&gt; <BR>
&gt; hi list, i have a question about the args of queue:<BR>
&gt; <BR>
&gt; when we use Queue() app, there are some arguments than can use. help from<BR>
&gt; CLI:<BR>
&gt; <BR>
&gt; Queue(queuename[,options[,URL[,announceoverride[,timeout[,AGI[,macro[,gosub[,r<BR>
&gt; ule]]]]]]]])<BR>
&gt; <BR>
&gt; well.. i'm trying to identify who has taken the call on a queue, and, when<BR>
&gt; agent conected, launch a macro with some args based on who takes the call<BR>
&gt; <BR>
&gt; i do:<BR>
&gt; <BR>
&gt; exten =&gt; s,1,answer()<BR>
&gt; exten =&gt; s,1,Queue(myQueue,,,,,,myMacro)<BR>
&gt; <BR>
&gt; but, there is no arguments there, right?<BR>
&gt; <BR>
&gt; what about use<BR>
&gt; <BR>
&gt; <BR>
&gt; exten =&gt; s,1,answer()<BR>
&gt; exten =&gt; s,1,Queue(myQueue,,,,,,myMacro,arg1)<BR>
&gt; <BR>
&gt; (remember that macro works like exten =&gt; s,n,Macro(myMacro,myArg1,myArg2),<BR>
&gt; that means, concatenate args after macro name, separate with comas.<BR>
&gt; <BR>
&gt; but....<BR>
&gt; <BR>
&gt; Queue takes that thing after comas like other arguments OF QUEUE, not<BR>
&gt; subargs of args. this is, my second example says,<BR>
&gt; Queue(myQueue,,,,,,myMacro,arg1), but &quot;arg1&quot; is taken like queue argument<BR>
&gt; means Gosub entry...<BR>
&gt; <BR>
&gt; there is way of call that macro into queue, but with macro arguments ???<BR>
&gt; <BR>
&gt; in the queues.conf <BR>
&gt; <BR>
&gt; if i put<BR>
&gt; <BR>
&gt; membermacro=myMacro,myArgument<BR>
&gt; <BR>
&gt; works fine.. except that, i can't use<BR>
&gt; <BR>
&gt; membermacro=myMacro,${MYVAR}<BR>
&gt; <BR>
&gt; because ${MYVAR} is taken like String, not the var value<BR>
&gt; <BR>
&gt; help mee!! please<BR>
&gt; <BR>
&gt; sorry for my very bad english<BR>
&gt; <BR>
&gt; _______________________________________________<BR>
&gt; -- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com">http://www.api-digital.com</a> --<BR>
&gt; <BR>
&gt; asterisk-users mailing list<BR>
&gt; To UNSUBSCRIBE or update options visit:<BR>
&gt; &nbsp;&nbsp;&nbsp;<a href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users</a><BR>
</FONT></SPAN></FONT>
</BODY>
</HTML>