Queue Pause/Unpause hints State:Unavailable

Environment

Debian Squeeze
Asterisk 11.22.0
Freepbx 2.11.0.24

Feature code *46 pauses/Unpause the agent but status never change and stay “State:Unavailable”.

I would like to configure BLF key to change colors when the agents are paused instead of using the DND button.

Tried with Asterisk 13 Freepbx 13 , same problem on Debian Wheezy.

CLI> core show hints

-= Registered Asterisk Dial Plan Hints =-
           *[email protected]        : Custom:DEVCF5004      State:Idle            Watchers  0
            *[email protected]    : Custom:FOLLOWME5004   State:Unavailable     Watchers  0
       *455004*[email protected]          : Custom:QUEUE5004*500  State:InUse           Watchers  0
      *46*5004*[email protected]          : qpause:5002:Local/50  State:Unavailable     Watchers  0
                  [email protected]          : park:[email protected]    State:Idle            Watchers  0
                  [email protected]          : park:[email protected]    State:Idle            Watchers  0
                  [email protected]          : park:[email protected]    State:Idle            Watchers  0
            *[email protected]           : ccss:SIP/5004         State:Unavailable     Watchers  0
            *[email protected]          : Custom:PARK5004       State:Idle            Watchers  0
           *46*[email protected]          : qpause:5002:Local/50  State:Unavailable     Watchers  0
               [email protected]           : SIP/5004&Custom:DND5  State:Idle            Watchers  0
            *[email protected]       : Custom:DEVDND5004     State:Idle            Watchers  0
           *45*[email protected]          : Custom:QUEUE5004*500  State:InUse           Watchers  0
                *[email protected]          : park:@parkedcalls&pa  State:Idle            Watchers  0

extension_additional.conf ( Partial )

[app-queue-pause-toggle]

include => app-queue-pause-toggle-custom
exten => s,1(start),Answer
exten => s,n,Wait(1)
exten => s,n,Macro(user-callerid,)
exten => s,n,Set(MEMBR=Local/${AMPUSER}@from-queue/n)
exten => s,n,Set(PAUSE_STATE=${QUEUE_MEMBER(${ARG1},paused,${MEMBR})})
exten => s,n,Set(QUEUE_MEMBER(${ARG1},paused,${MEMBR})=${IF($[${PAUSE_STATE}]?0:1)})
exten => s,n,Playback(dictate/pause&${IF($[${PAUSE_STATE}]?de-activated:activated)})
exten => s,n,ExecIf($[${ARG2}]?Return())
exten => s,n,Macro(hangupcall,)

;--== end of [app-queue-pause-toggle] ==--;

[ext-queues]
include => ext-queues-custom
exten => 5002,1,Macro(user-callerid,)
exten => 5002,n,Answer
exten => 5002,n,Macro(blkvm-set,reset)
exten => 5002,n,ExecIf($["${REGEX("(M[(]auto-blkvm[)])" ${DIAL_OPTIONS})}" != "1"]?Set(DIALOPTIONS=${DIAL_OPTIONS}M(auto-blkvm)))
exten => 5002,n,Set(__NODEST=${EXTEN})
exten => 5002,n,Set(QCIDPP=${IF($[${LEN(${VQ_CIDPP})}>0]?${VQ_CIDPP}: )})
exten => 5002,n,Set(VQ_CIDPP=)
exten => 5002,n,ExecIf($["${QCIDPP}"!=""]?Macro(prepend-cid,${QCIDPP}))
exten => 5002,n,Set(QAINFO=${IF($[${LEN(${VQ_AINFO})}>0]?${VQ_AINFO}: )})
exten => 5002,n,Set(VQ_AINFO=)
exten => 5002,n,ExecIf($["${QAINFO}"!=""]?Set(_ALERTINFO=${QAINFO}))
exten => 5002,n,Set(QJOINMSG=${IF($[${LEN(${VQ_JOINMSG})}>0]?${IF($["${VQ_JOINMSG}"!="0"]?${VQ_JOINMSG}: )}:custom/NESMSUPPORT)})
exten => 5002,n,Set(VQ_JOINMSG=)
exten => 5002,n,Set(QMOH=${IF($["${VQ_MOH}"!=""]?${VQ_MOH}: )})
exten => 5002,n,Set(VQ_MOH=)
exten => 5002,n,ExecIf($["${QMOH}"!=""]?Set(__MOHCLASS=${QMOH}))
exten => 5002,n,ExecIf($["${MOHCLASS}"!=""]?Set(CHANNEL(musicclass)=${MOHCLASS}))
exten => 5002,n,Set(QCANCELMISSED=C)
exten => 5002,n,Set(QRETRY=${IF($[${LEN(${VQ_RETRY})}>0]?${VQ_RETRY}: )})
exten => 5002,n,Set(VQ_RETRY=)
exten => 5002,n(qoptions),Set(QOPTIONS=${IF($[${LEN(${VQ_OPTIONS})}>0]?${VQ_OPTIONS}:t)}${QCANCELMISSED}${QRINGOPTS}${QRETRY})
exten => 5002,n,Set(VQ_OPTIONS=)
exten => 5002,n(qgosub),Set(QGOSUB=${IF($[${LEN(${VQ_GOSUB})}>0]?${VQ_GOSUB}:${QGOSUB})})
exten => 5002,n,Set(VQ_GOSUB=)
exten => 5002,n(qagi),Set(QAGI=${IF($[${LEN(${VQ_AGI})}>0]?${VQ_AGI}:${QAGI})})
exten => 5002,n,Set(VQ_AGI=)
exten => 5002,n(qrule),Set(QRULE=${IF($[${LEN(${VQ_RULE})}>0]?${IF($["${VQ_RULE}"!="0"]?${VQ_RULE}: )}:${QRULE})})
exten => 5002,n,Set(VQ_RULE=)
exten => 5002,n(qposition),Set(QPOSITION=${IF($[${LEN(${VQ_POSITION})}>0]?${VQ_POSITION}:${QPOSITION})})
exten => 5002,n,Set(VQ_POSITION=)
exten => 5002,n,Gosub(sub-record-check,s,1(q,5002,dontcare))
exten => 5002,n,Set(__CWIGNORE=TRUE)
exten => 5002,n,ExecIf($["${QJOINMSG}"!="" && ${QUEUE_MEMBER(5002,ready)}<1]?Playback(${QJOINMSG}, ))
exten => 5002,n,QueueLog(5002,${UNIQUEID},NONE,DID,${FROM_DID})
exten => 5002,n,Set(QAANNOUNCE=${IF($[${LEN(${VQ_AANNOUNCE})}>0]?${IF($["${VQ_AANNOUNCE}"!="0"]?${VQ_AANNOUNCE}: )}: )})
exten => 5002,n,Set(VQ_AANNOUNCE=)
exten => 5002,n,Set(QMAXWAIT=${IF($[${LEN(${VQ_MAXWAIT})}>0]?${VQ_MAXWAIT}: )})
exten => 5002,n,Set(VQ_MAXWAIT=)
exten => 5002,n(qcall),Queue(5002,${QOPTIONS},,${QAANNOUNCE},${QMAXWAIT},${QAGI},,${QGOSUB},${QRULE},${QPOSITION})
exten => 5002,n,Macro(blkvm-clr,)
exten => 5002,n,Gosub(sub-record-cancel,s,1())
exten => 5002,n,Set(__NODEST=)
exten => 5002,n,Set(QUEUEPRIO=0)
exten => 5002,n,Set(__CWIGNORE=)
exten => 5002,n,Set(QDEST=${VQ_DEST})
exten => 5002,n,Set(VQ_DEST=)
exten => 5002,n(gotodest),GotoIf($["${QDEST}"=""]?:${CUT(QDEST,^,1)},${CUT(QDEST,^,2)},${CUT(QDEST,^,3)})
exten => 5002*,1,Macro(agent-add,5002,)
exten => 5002**,1,Macro(agent-del,5002)
exten => *455002,1,Set(QUEUENO=5002)
exten => *455002,n,Goto(app-queue-toggle,s,start)
exten => *465002,1,Gosub(app-queue-pause-toggle,s,1(5002))
exten => *45,1,Goto(app-all-queue-toggle,s,start)
exten => _45X.,1,Goto(app-all-queue-toggle,s,start)
exten => 455004,1,Goto(app-all-queue-toggle,s,start)
exten => 455004,hint,Custom:QUEUE5004*5002
exten => *46,1,Goto(app-all-queue-pause-toggle,s,1)
exten => _46X.,1,Goto(app-all-queue-pause-toggle,s,1)
exten => 465004*5002,1,Gosub(app-queue-pause-toggle,s,1(5002))
exten => 465004*5002,hint,qpause:5002:Local/[email protected]/n
exten => 465004,1,Goto(app-all-queue-pause-toggle,s,1)
exten => 465004,hint,qpause:5002:Local/[email protected]/n
exten => h,1,Macro(hangupcall,)
;--== end of [ext-queues] ==--;

sip.conf

vmexten=*97
context=from-sip-external
callerid=Unknown
notifyringing=yes
notifyhold=yes
tos_sip=cs3
tos_audio=ef
tos_video=af41
alwaysauthreject=yes
useragent=FPBX-2.11.0(11.22.0)
disallow=all
allow=g722
allow=ulaw
allow=alaw
allow=gsm
allow=h261
allow=h263
allow=h264
allow=h263p
callevents=yes
jbenable=no
registerattempts=0
maxexpiry=3600
minexpiry=60
defaultexpiry=120
registertimeout=20
notifyhold=yes
notifyringing=yes
allowguest=no
g726nonstandard=no
videosupport=yes
maxcallbitrate=512
canreinvite=no
rtpholdtimeout=300
rtpkeepalive=0
srvlookup=no
checkmwi=10
rtptimeout=30
nat=route
externip=172.16.1.2
localnet=192.168.106.0/255.255.255.0
localnet=192.168.0.0/255.255.255.0

Thanks in advanced

FreePBX 2.11 is end of life.

I believe that queue pause hints work properly with FreePBX 12 and Asterisk 11.

There are issues with FreePBX 13 and pause hints. Watch this ticket for more info:
http://issues.freepbx.org/browse/FREEPBX-12185