[asterisk-users] Macro arguments on app_queue

Jim Dickenson dickenson at cfmc.com
Thu May 7 13:25:09 CDT 2009


Here is what I do:

[macro-cfmc_queue_private]
; 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.
; We need to look for Agent/<number> is either CHANNEL or MEMBERINTERFACE
and it will be in one or the other
exten => s,1,UserEvent(DidQueue,ActionID:${Local_CfMC_ActionID} &
${UNIQUEID} & ${CHANNEL} & ${Local_CfMC_AgentToUse} & ${Local_CfMC_DialInfo}
& ${Local_CfMC_QueueToUse} & ${MEMBERINTERFACE} & ${MEMBERNAME})



exten => queue_answer,1,Answer()
exten => queue_answer,n,Set(CfMC_AMDValue="NotChecked")
exten => queue_answer,n,GotoIf($["${CfMC_DoAMD}"!="Yes"]?NoAMD)
exten => queue_answer,n,AMD()
; AMDSTATUS - MACHINE HUMAN NOTSURE HANGUP
exten => queue_answer,n,Set(CfMC_AMDValue="${AMDSTATUS}")
exten => queue_answer,n(NoAMD),Wait(0.3)
exten => queue_answer,n,UserEvent(BeforeQueue,ActionID:${CfMC_ActionID} &
${UNIQUEID} & ${CHANNEL} & ${CfMC_AgentToUse} & ${CfMC_DialInfo} &
${CfMC_QueueToUse} & ${CfMC_AMDValue} & ${AMDCAUSE})
exten => queue_answer,n,GotoIf($[${CfMC_AMDValue} & "NotChecked"]?QueueIt)
exten => queue_answer,n,GotoIf($[${CfMC_AMDValue}!="HUMAN"]?ForceHangUp)
; 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.
; 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().
exten => queue_answer,n(QueueIt),Set(_Local_CfMC_ActionID=${CfMC_ActionID})
exten => queue_answer,n,Set(_Local_CfMC_AgentToUse=${CfMC_AgentToUse})
exten => queue_answer,n,Set(_Local_CfMC_DialInfo=${CfMC_DialInfo})
exten => queue_answer,n,Set(_Local_CfMC_QueueToUse=${CfMC_QueueToUse})
exten => 
queue_answer,n,Queue(${CfMC_QueueToUse},cn,,,20,,cfmc_queue_private)
; QUEUESTATUS - TIMEOUT FULL JOINEMPTY LEAVEEMPTY JOINUNAVAIL LEAVEUNAVAIL
CONTINUE
exten => queue_answer,n,UserEvent(AfterQueue,ActionID:${CfMC_ActionID} &
${UNIQUEID} & ${CHANNEL} & ${CfMC_AgentToUse} & ${CfMC_DialInfo} &
${CfMC_QueueToUse} & ${QUEUESTATUS})
exten => queue_answer,n(ForceHangUp),Hangup()

-- 
Jim Dickenson
mailto:dickenson at cfmc.com

CfMC
http://www.cfmc.com/



> From: <cesar at codinet.com.mx>
> Reply-To: Asterisk Users Mailing List - Non-Commercial Discussion
> <asterisk-users at lists.digium.com>
> Date: Thu, 07 May 2009 13:20:02 -0500
> To: <asterisk-users at lists.digium.com>
> Subject: [asterisk-users] Macro arguments on app_queue
> 
> hi list, i have a question about the args of queue:
> 
> when we use Queue() app, there are some arguments than can use. help from
> CLI:
> 
> Queue(queuename[,options[,URL[,announceoverride[,timeout[,AGI[,macro[,gosub[,r
> ule]]]]]]]])
> 
> well.. i'm trying to identify who has taken the call on a queue, and, when
> agent conected, launch a macro with some args based on who takes the call
> 
> i do:
> 
> exten => s,1,answer()
> exten => s,1,Queue(myQueue,,,,,,myMacro)
> 
> but, there is no arguments there, right?
> 
> what about use
> 
> 
> exten => s,1,answer()
> exten => s,1,Queue(myQueue,,,,,,myMacro,arg1)
> 
> (remember that macro works like exten => s,n,Macro(myMacro,myArg1,myArg2),
> that means, concatenate args after macro name, separate with comas.
> 
> but....
> 
> Queue takes that thing after comas like other arguments OF QUEUE, not
> subargs of args. this is, my second example says,
> Queue(myQueue,,,,,,myMacro,arg1), but "arg1" is taken like queue argument
> means Gosub entry...
> 
> there is way of call that macro into queue, but with macro arguments ???
> 
> in the queues.conf
> 
> if i put
> 
> membermacro=myMacro,myArgument
> 
> works fine.. except that, i can't use
> 
> membermacro=myMacro,${MYVAR}
> 
> because ${MYVAR} is taken like String, not the var value
> 
> help mee!! please
> 
> sorry for my very bad english
> 
> _______________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> 
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20090507/4e43c699/attachment.htm 


More information about the asterisk-users mailing list