PQMSTATUS is set only after you run the application PauseQueueMember(). Thanks, --Warren Selby, dCAP
On May 5, 2011, at 2:11 PM, Louis Carreiro <[email protected]> wrote: > Hey all! > > I'm trying to do a bit of logic here so that a user only has to dial one code > to pause/unpause in a queue (e.g. *0 will (un)pause depending on the users's > state). My logic looks fine to me but every time ${PQMSTATUS} shows up empty. > > Here's the extensions.conf part.... > > exten => *0,1,NoOp(${PQMSTATUS}) > exten => *0,n,Macro(user-callerid,SKIPTTL,) > exten => > *0,n,Set(CALLBACKNUM=${IF($[${LEN(${AMPUSER})}=0]?${CALLERID(number)}:${AMPUSER})}) > exten => *0,n,GotoIf($["${PQMSTATUS}" = "PAUSED"]?unpause,1:pause,1) > > ; Pause ourselves in one or more queues > exten => pause,1,NoOp() > exten => pause,n,PauseQueueMember(,Local/${CALLBACKNUM}@from-queue/n) > exten => pause,n,PauseQueueMember(,Local/${CALLBACKNUM}@from-internal/n) > exten => > pause,n,GoSub(changePauseStatus,start,1(PQMSTATUS,PAUSED,unavailable)) > exten => pause,n,Hangup() > > ; Unpause ourselves from one or more queues > exten => unpause,1,NoOp() > exten => unpause,n,PauseQueueMember(,Local/${CALLBACKNUM}@from-queue/n) > exten => unpause,n,PauseQueueMember(,Local/${CALLBACKNUM}@from-internal/n) > > ; that queue, otherwise, we'll unpause in > > ; in all queues > exten => > unpause,n,GoSub(changePauseStatus,start,1(UPQMSTATUS,UNPAUSED,available)) > ; use the changePauseStatus subroutine and > > ; pass the values for: variable to check, > > ; value to check for, and file to play > exten => unpause,n,Hangup() > > ; ### Subroutine we use to check pausing and unpausing status ### > [changePauseStatus] > ; ARG1: variable name to check, such as PQMSTATUS and UPQMSTATUS > (PauseQueueMemberStatus / UnpauseQueueMemberStatus) > ; ARG2: value to check for, such as PAUSED or UNPAUSED > ; ARG3: file to play back if our variable value matched the value to check > for > ; > exten => start,1,NoOp() > exten => start,n,Playback(silence/1) > ; Please note that ${ARG1} is wrapped in ${ } in order to expand the value > of ${ARG1} into > ; the variable we want to retrieve the value from, i.e. ${${ARG1}} turns > into ${PQMSTATUS} > exten => start,n,Playback(${IF($["${${ARG1}}" = > "${ARG2}"]?${ARG3}:not-yet-connected)}) > ;exten => start,n,GotoIf($[${ISNULL(${xtn})}]?end) ; if ${xtn} is null, > then just Return() > exten => start,n,Playback(in-the-queue) ; if not null, then > playback "in the queue" > ;exten => start,n,SayNumber(${xtn}) ; and the queue > number that we (un)paused from > exten => start,n(end),Return() ; return from were we > came > > > v/r, > Me > > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > New to Asterisk? Join us for a live introductory webinar every Thurs: > http://www.asterisk.org/hello > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
