Asterisk 13 Regression in Queue Pause BLF Functionality?

FreePBX Distro, v13.0.111, Queues v13.0.21. I have a queue, 501, with two members, extensions 301 and 302, assigned to Yealink T46G devices. Generate Device Hints is set to ‘Yes’. Along with the line on button 1 on the phones, I have a pause BLF, ‘46line1Ext*501’. On Asterisk v11.21.2, I have working BLFs, toggling properly on pause state, red/green. core show hints gives

[root@freepbx ~]# asterisk -Rx "core show hints" | sort | grep pause
            *46*301*501@ext-queues          : qpause:501:Local/301  State:InUse           Watchers  1
                *46*301@ext-queues          : qpause:501:Local/301  State:InUse           Watchers  1
            *46*302*501@ext-queues          : qpause:501:Local/302  State:Idle            Watchers  1
                *46*302@ext-queues          : qpause:501:Local/302  State:Idle            Watchers  1

On Asterisk 13.8.2, however, BLF state never changes on the phone, staying green on pause toggle. On the console, I have

[root@freepbx ~]# asterisk -Rx "core show hints" | sort | grep pause
*46*301*501@ext-queu: qpause:501:Local/301  State:Unavailable     Presence:not_set         Watchers  2
*46*301@ext-queues  : qpause:501:Local/301  State:Unavailable     Presence:not_set         Watchers  1
*46*302*501@ext-queu: qpause:501:Local/302  State:Unavailable     Presence:not_set         Watchers  2
*46*302@ext-queues  : qpause:501:Local/302  State:Unavailable     Presence:not_set         Watchers  1

Functionality appears to have regressed between Asterisk versions. Can anyone else confirm this behavior? Have I misconfigured something?

Thanks,

Justin

Just discovered this yesterday, but didn’t test with 11 so was not aware it was related to Asterisk version. Track issue here:
http://issues.freepbx.org/browse/FREEPBX-12185

Having the same issue after upgrading from FreePBX Distro 6.12.65-32 to FreePBX Distro 10.13.66-19

asterisk -Rx “core show hints” | sort | grep pause

            *46*252@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  1
        *46*253*603@ext-queues          : qpause:253:Local/253  State:Unavailable     Watchers  1
        *46*254*603@ext-queues          : qpause:254:Local/254  State:Unavailable     Watchers  1
        *46*255*603@ext-queues          : qpause:255:Local/255  State:Unavailable     Watchers  1
            *46*304@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  1
            *46*322@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  1
            *46*380@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  1
       _*46*XXX*600@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  0
       _*46*XXX*601@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  0
       _*46*XXX*602@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  0
       _*46*XXX*603@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  0
       _*46*XXX*604@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  0
       _*46*XXX*605@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  0
       _*46*XXX*608@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  0
       _*46*XXX*660@ext-queues          : qpause:${EXTEN:4:3}:  State:Unavailable     Watchers  0

I can confirm that this is still an issue in…

FreePBX Version: 13.0.191.10
Asterisk Version: 13.14.0
Distro Version: 10.13.66-19
Distro: FreePBX Distro

Dialing…

*46*ext*queue

…successfully (un)pauses you from the queue but the BLF hint is never set nor updated.

Here are what I can find as the relevant lines in extensions_additional.conf

exten => *46,1,Goto(app-all-queue-pause-toggle,s,1)

exten => _*46*X.,1,Goto(app-all-queue-pause-toggle,s,1)
exten => _*46*X.,hint,${DB(AMPUSER/${EXTEN:4}/pausequeuehint)}

exten => _*46*XXX*8181,1,Gosub(app-queue-pause-toggle,s,1(8181,${EXTEN:4:3}))
exten => _*46*XXX*8181,hint,Queue:${EXTEN:4:3}_pause_Local/${DB(DEVICE/${EXTEN:4:3}/user)}@from-queue/n

And here are the relevant hints from “core show hints”:

_*46*X.@ext-queues  : ${DB(AMPUSER/${EXTEN  State:Unavailable     Presence:                Watchers  0
_*46*XXX*8199@ext-qu: Queue:${EXTEN:4:3}_p  State:Unavailable     Presence:                Watchers  0
*46*921*8181@ext-que: Queue:921_pause_Loca  State:Unavailable     Presence:not_set         Watchers  1
_*46*XXX*8181@ext-qu: Queue:${EXTEN:4:3}_p  State:Unavailable     Presence:                Watchers  0
*46*921@ext-queues  : Queue:${EXTEN:4:3}_p  State:Unavailable     Presence:not_set         Watchers  1

We are aware of this issue. No ETA on fixes.

https://issues.freepbx.org/browse/FREEPBX-15350

Andrew,

I just read through that issue and all the comments and descrption Lorne Gaetz gives states that he thinks its related to the database values not being there however on this test system that I’ve posted from my database values do seem to be there.

Relevant database results:

...
/AMPUSER/921/cidname                              : Darren H.                
/AMPUSER/921/cidnum                               : 921                      
...
/AMPUSER/921/hint                                 : SIP/921&Custom:DND921,CustomPresence:921
...
/AMPUSER/921/pausequeuehint                       : Queue:${EXTEN:4:3}_pause_Local/${DB(DEVICE/${EXTEN:4:3}/user)}@from-queue/n&Queue:${EXTEN:4:3}_pause_Local/${DB(DEVICE/${EXTEN:4:3}/user)}@from-queue/n&Queue:${EXTEN:4:3}_pause_Local/${DB(DEVICE/${EXTEN:4:3}/user)}@from-queue/n&Queue:${EXTEN:4:3}_pause_Local/${DB(DEVICE/${EXTEN:4:3}/user)}@from-queue/n
/AMPUSER/921/queuehint                            : Custom:QUEUE921*8181     
/AMPUSER/921/queues/qnostate                      : usestate                 

48 results found.

Do you think that it’s possibly not the same issue or am I confused?

I’d be willing to fork and work on the issue then do a pull request if I understand the basic nature of the issue.

Its the same issue. They aren’t being added/updated. They were at some point. Now they are not.

In case anyone else cares about getting this working I solved with a work around by adding the following to my sip_extensions_custom.conf

[ext-queues-custom]
exten => _*48*XXX*XXXX,1,Gosub(app-queue-pause-toggle,s,1(${EXTEN:8},${EXTEN:4:3}))
exten => _*48*XXX*XXXX,hint,Queue:${EXTEN:8}_pause_Local/${EXTEN:4:3}@from-queue/n

In my example the first set of three X’s (XXX) represents our extensions and the second set of four X’s (XXXX) represents our queues. You could modify this for your purposes.

We use these as BLF’s on our phones so, for example, you could setup a BLF on your favorite phone to something like

*48*101*6000

Where your extension is 101 and your queue is 6000. The button would then hint if you’re paused in that queue and pressing the button would toggle you on/off of pause.

3 Likes