It might be some kind of manager permission issue, or some obscure agent name issue, as the feature works pretty well on any system that I tried. In order to debug you will need to capture fop2_server traffic with debug level set to 511 while you pause and unpause a queue member. The log will be huge, so you will want to capture just for a brief moment when you do that. A debug level 15 is less verbose and might also help. You also need to tell us if you are using freepbx or not, autoconfiguration or not, if you use manual configuration parts of your buttons.cfg definition. etc..
Set the poll_interval to 60 and it changes correctly every minute.
Here is some of the fop2 debug:
192.168.4.120 <= <msg data="QUEUE/VOIP|queuepause|Local/5001@ael-druid-originate/n|20c0b629d5ec95ddb6177162cbcdaf30" />
-- PROCESS_FLASH_COMMAND origen QUEUE/VOIP accion queuepause destino Local/5001@ael-druid-originate/n
-- PROCESS_FLASH_COMMAND password 20c0b629d5ec95ddb6177162cbcdaf30
VALIDAR USUARIO 5001
Validation ok, have all permissions
127.0.0.1 -> Action: QueuePause
127.0.0.1 -> Interface: Local/5001@ael-druid-originate/n
127.0.0.1 -> Paused: 1
** MAIN End of block from localhost
127.0.0.1 <- Response: Success
127.0.0.1 <- Message: Interface paused successfully
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN No 'Event' nor 'End'. Erasing block...
Response: Success
Message: Interface paused successfully
Server: 0
** MAIN End of block from localhost
127.0.0.1 <- Event: QueueMemberPaused
127.0.0.1 <- Privilege: agent,all
127.0.0.1 <- Queue: voip2
127.0.0.1 <- Location: Local/5001@ael-druid-originate/n
127.0.0.1 <- MemberName: Local/5001@ael-druid-originate/n
127.0.0.1 <- Paused: 1
127.0.0.1 <- Status: 1
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN There's an 'Event' in the event block
** MAIN Event detected block_count = 0
** MAIN There are 0 blocks for processing
** MAIN Answer block cleared
** DIGEST_EVENT: start
** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
Not a reference at all
** MAIN End of block from localhost
127.0.0.1 <- Event: QueueMemberPaused
127.0.0.1 <- Privilege: agent,all
127.0.0.1 <- Queue: voip
127.0.0.1 <- Location: Local/5001@ael-druid-originate/n
127.0.0.1 <- MemberName: Local/5001@ael-druid-originate/n
127.0.0.1 <- Paused: 1
127.0.0.1 <- Status: 1
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN There's an 'Event' in the event block
** MAIN Event detected block_count = 0
** MAIN There are 0 blocks for processing
** MAIN Answer block cleared
** DIGEST_EVENT: start
** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
Not a reference at all
** MAIN AMI event received...
** MAIN Processing command received from flash clients...
192.168.4.120 <= <msg data="QUEUE/VOIP|queueunpause|Local/5001@ael-druid-originate/n|20c0b629d5ec95ddb6177162cbcdaf30" />
-- PROCESS_FLASH_COMMAND origen QUEUE/VOIP accion queueunpause destino Local/5001@ael-druid-originate/n
-- PROCESS_FLASH_COMMAND password 20c0b629d5ec95ddb6177162cbcdaf30
VALIDAR USUARIO 5001
Validation ok, have all permissions
127.0.0.1 -> Action: QueuePause
127.0.0.1 -> Interface: Local/5001@ael-druid-originate/n
127.0.0.1 -> Paused: 0
** MAIN End of block from localhost
127.0.0.1 <- Response: Success
127.0.0.1 <- Message: Interface unpaused successfully
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN No 'Event' nor 'End'. Erasing block...
Response: Success
Message: Interface unpaused successfully
Server: 0
** MAIN End of block from localhost
127.0.0.1 <- Event: QueueMemberPaused
127.0.0.1 <- Privilege: agent,all
127.0.0.1 <- Queue: voip2
127.0.0.1 <- Location: Local/5001@ael-druid-originate/n
127.0.0.1 <- MemberName: Local/5001@ael-druid-originate/n
127.0.0.1 <- Paused: 0
127.0.0.1 <- Status: 1
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN There's an 'Event' in the event block
** MAIN Event detected block_count = 0
** MAIN There are 0 blocks for processing
** MAIN Answer block cleared
** DIGEST_EVENT: start
** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
Not a reference at all
** MAIN End of block from localhost
127.0.0.1 <- Event: QueueMemberPaused
127.0.0.1 <- Privilege: agent,all
127.0.0.1 <- Queue: voip
127.0.0.1 <- Location: Local/5001@ael-druid-originate/n
127.0.0.1 <- MemberName: Local/5001@ael-druid-originate/n
127.0.0.1 <- Paused: 0
127.0.0.1 <- Status: 1
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN There's an 'Event' in the event block
** MAIN Event detected block_count = 0
** MAIN There are 0 blocks for processing
** MAIN Answer block cleared
** DIGEST_EVENT: start
** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
Not a reference at all
** MAIN AMI event received...
** MAIN Processing command received from flash clients...
192.168.4.120 <= <msg data="1|ping||" />
-- PROCESS_FLASH_COMMAND origen 1 accion ping destino
-- PROCESS_FLASH_COMMAND password
192.168.4.120 => { 'btn': '0', 'cmd': 'pong', 'data': '0', 'slot': '' }
I am not sure as I do not see your button config file, but the queue member is this one:
Local/5001@ael-druid-originate/n
If you want a regular type=extension button to match that member, you will have to configure it so extension=5001 and context=ael-druid-originate . Maybe you are using a different context? Can you paste a snippet of your button configuration?
When I pause someone in a queue, their state icon doesn't change to show as paused until the 60 seconds are up for what I have it set for poll_interval.
Agents shown fine on queue button after being added with FOP2.
Agents get paused by FOP2, but won't show as paused on the buttons.
Show queues on the CLI and FOP2 in debug level shows agents getting correctly paused/unpaused.
Another issue is that if I enable a low Intervall_poll (for example =60), as soon as the interval is hit, the agent disapears from the queue button, while still being registered in the queue.
Tried a variety of configs without success.
I've upgraded from FOP in order to have agent login/logout but I'm really stuck.
System is Asterisk 1.4.8 build on a Slackware 11.0
Follows some key parts from my config files and a debug dump from FOP2.
From buttons.cfg:
[Zap/32]
queuechannel=Zap/32
channel=Zap/32
group=Atendimento
type=extension
label=Thaynara
extension=201
context=ramais
-- PROCESS_FLASH_COMMAND origen accion queuepause destino 1
-- PROCESS_FLASH_COMMAND password c6673f9b5f85b330f239234aaeb2a60e
VALIDAR USUARIO 221
Validation ok, have queueagent permissions
127.0.0.1 -> Action: QueuePause
127.0.0.1 -> Interface: Zap/32
127.0.0.1 -> Paused: 1
** MAIN End of block from 127.0.0.1
127.0.0.1 <- Response: Success
127.0.0.1 <- Message: Interface paused successfully
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN No 'Event' nor 'End'. Erasing block...
Response: Success^M
Message: Interface paused successfully^M
Server: 0
** MAIN End of block from 127.0.0.1
127.0.0.1 <- Event: QueueMemberPaused
127.0.0.1 <- Privilege: agent,all
127.0.0.1 <- Queue: 101
127.0.0.1 <- Location: Zap/32
127.0.0.1 <- MemberName: Zap/32
127.0.0.1 <- Paused: 1
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN There's an 'Event' in the event block
** MAIN Event detected block_count = 0
** MAIN There are 0 blocks for processing
** MAIN Answer block cleared
** DIGEST_EVENT: start
** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
Callback amiCommand not defined
Not a reference at all
** QUEUE MEMBER LIST start
** QUEUE MEMBER LIST devuelve <div class='memberready myclick' id='qm!QUEUE/101!Zap/32'></div><span>Thaynara</span><br class='clear'/>
2xx.1xx.1xx.1 => { 'btn': '16@GENERAL', 'cmd': 'queuemembers', 'data': 'PGRpdiBjbGFzcz0nbWVtYmVycmVhZHkgbXljbGljaycgaWQ9J3FtIVFVRVVFLzEwMSFaYXAvMzInPjwvZGl2
** MAIN AMI event received...
** MAIN Processing command received from flash clients...
xxx.xxx.xxx.xxx <= <msg data="|queuepause|2|c6673f9b5f85b330f239234aaeb2a60e" />^M
-- PROCESS_FLASH_COMMAND origen accion queuepause destino 2
-- PROCESS_FLASH_COMMAND password c6673f9b5f85b330f239234aaeb2a60e
VALIDAR USUARIO 221
Validation ok, have queueagent permissions
127.0.0.1 -> Action: QueuePause
127.0.0.1 -> Interface: Zap/33
127.0.0.1 -> Paused: 1
** MAIN End of block from 127.0.0.1
127.0.0.1 <- Response: Success
127.0.0.1 <- Message: Interface paused successfully
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN No 'Event' nor 'End'. Erasing block...
Response: Success^M
Message: Interface paused successfully^M
Server: 0
** MAIN End of block from 127.0.0.1
127.0.0.1 <- Event: QueueMemberPaused
127.0.0.1 <- Privilege: agent,all
127.0.0.1 <- Queue: 101
127.0.0.1 <- Location: Zap/33
127.0.0.1 <- MemberName: Zap/33
127.0.0.1 <- Paused: 1
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN There's an 'Event' in the event block
** MAIN Event detected block_count = 0
** MAIN There are 0 blocks for processing
** MAIN Answer block cleared
** DIGEST_EVENT: start
** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
Callback amiCommand not defined
Not a reference at all
** QUEUE MEMBER LIST start
** QUEUE MEMBER LIST devuelve <div class='memberready myclick' id='qm!QUEUE/101!Zap/33'></div><span>Kely</span><br class='clear'/><div class='memberready mycl
xxx.xxx.xxx.xxx => { 'btn': '16@GENERAL', 'cmd': 'queuemembers', 'data': 'PGRpdiBjbGFzcz0nbWVtYmVycmVhZHkgbXljbGljaycgaWQ9J3FtIVFVRVVFLzEwMSFaYXAvMzMnPjwvZGl2
** MAIN AMI event received...
** MAIN Processing command received from flash clients...
xxx.xxx.xxx.xxx <= <msg data="1|ping||" />^M
-- PROCESS_FLASH_COMMAND origen 1 accion ping destino
-- PROCESS_FLASH_COMMAND password
xxx.xxx.xxx.xxx => { 'btn': '0', 'cmd': 'pong', 'data': '0', 'slot': '' }
** MAIN AMI event received...
** MAIN Processing command received from flash clients...
xxx.xxx.xxx.xxx <= <msg data="QUEUE/101|queuepause|Zap/33|c6673f9b5f85b330f239234aaeb2a60e" />^M
-- PROCESS_FLASH_COMMAND origen QUEUE/101 accion queuepause destino Zap/33
-- PROCESS_FLASH_COMMAND password c6673f9b5f85b330f239234aaeb2a60e
VALIDAR USUARIO 221
Validation ok, have queueagent permissions
127.0.0.1 -> Action: QueuePause
127.0.0.1 -> Interface: Zap/33
127.0.0.1 -> Paused: 1
** MAIN End of block from 127.0.0.1
127.0.0.1 <- Response: Success
127.0.0.1 <- Message: Interface paused successfully
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN No 'Event' nor 'End'. Erasing block...
Response: Success^M
Message: Interface paused successfully^M
Server: 0
** MAIN End of block from 127.0.0.1
127.0.0.1 <- Event: QueueMemberPaused
127.0.0.1 <- Privilege: agent,all
127.0.0.1 <- Queue: 101
127.0.0.1 <- Location: Zap/33
127.0.0.1 <- MemberName: Zap/33
127.0.0.1 <- Paused: 1
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN There's an 'Event' in the event block
** MAIN Event detected block_count = 0
** MAIN There are 0 blocks for processing
** MAIN Answer block cleared
** DIGEST_EVENT: start
** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
Callback amiCommand not defined
Not a reference at all
** QUEUE MEMBER LIST start
** QUEUE MEMBER LIST devuelve <div class='memberready myclick' id='qm!QUEUE/101!Zap/33'></div><span>Kely</span><br class='clear'/><div class='memberready mycl
xxx.xxx.xxx.xxx => { 'btn': '16@GENERAL', 'cmd': 'queuemembers', 'data': 'PGRpdiBjbGFzcz0nbWVtYmVycmVhZHkgbXljbGljaycgaWQ9J3FtIVFVRVVFLzEwMSFaYXAvMzMnPjwvZGl2
** MAIN AMI event received...
** MAIN Processing command received from flash clients...
xxx.xxx.xxx.xxx <= <msg data="QUEUE/101|queueunpause|Zap/33|c6673f9b5f85b330f239234aaeb2a60e" />^M
-- PROCESS_FLASH_COMMAND origen QUEUE/101 accion queueunpause destino Zap/33
-- PROCESS_FLASH_COMMAND password c6673f9b5f85b330f239234aaeb2a60e
VALIDAR USUARIO 221
Validation ok, have queueagent permissions
127.0.0.1 -> Action: QueuePause
127.0.0.1 -> Interface: Zap/33
127.0.0.1 -> Paused: 0
** MAIN End of block from 127.0.0.1
127.0.0.1 <- Response: Success
127.0.0.1 <- Message: Interface unpaused successfully
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN No 'Event' nor 'End'. Erasing block...
Response: Success^M
Message: Interface unpaused successfully^M
Server: 0
** MAIN End of block from 127.0.0.1
127.0.0.1 <- Event: QueueMemberPaused
127.0.0.1 <- Privilege: agent,all
127.0.0.1 <- Queue: 101
127.0.0.1 <- Location: Zap/33
127.0.0.1 <- MemberName: Zap/33
127.0.0.1 <- Paused: 0
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN There's an 'Event' in the event block
** MAIN Event detected block_count = 0
** MAIN There are 0 blocks for processing
** MAIN Answer block cleared
** DIGEST_EVENT: start
** PROCESA_BLOQUE QUEUEMEMBERPAUSED 0
Callback amiCommand not defined
Not a reference at all
** QUEUE MEMBER LIST start
** QUEUE MEMBER LIST devuelve <div class='memberready myclick' id='qm!QUEUE/101!Zap/33'></div><span>Kely</span><br class='clear'/><div class='memberready mycl
xxx.xxx.xxx.xxx => { 'btn': '16@GENERAL', 'cmd': 'queuemembers', 'data': 'PGRpdiBjbGFzcz0nbWVtYmVycmVhZHkgbXljbGljaycgaWQ9J3FtIVFVRVVFLzEwMSFaYXAvMzMnPjwvZGl2
** MAIN AMI event received...
** MAIN Processing command received from flash clients...
xxx.xxx.xxx.xxx <= <msg data="QUEUE/101|queueunpause|Zap/32|c6673f9b5f85b330f239234aaeb2a60e" />^M
-- PROCESS_FLASH_COMMAND origen QUEUE/101 accion queueunpause destino Zap/32
-- PROCESS_FLASH_COMMAND password c6673f9b5f85b330f239234aaeb2a60e
VALIDAR USUARIO 221
Validation ok, have queueagent permissions
127.0.0.1 -> Action: QueuePause
127.0.0.1 -> Interface: Zap/32
127.0.0.1 -> Paused: 0
** MAIN End of block from 127.0.0.1
127.0.0.1 <- Response: Success
127.0.0.1 <- Message: Interface unpaused successfully
127.0.0.1 <- Server: 0
** MAIN AMI event received...
** MAIN No 'Event' nor 'End'. Erasing block...
Response: Success^M
Message: Interface unpaused successfully^M
Server: 0
Comments
Here is some of the fop2 debug:
Local/5001@ael-druid-originate/n
If you want a regular type=extension button to match that member, you will have to configure it so extension=5001 and context=ael-druid-originate . Maybe you are using a different context? Can you paste a snippet of your button configuration?
type=extension
extension=5001
context=druid-default
label="David"
mailbox=5001@druid-default
extenvoicemail=5001@vm
queuecontext=ael-druid-originate
queuechannel=Local/5001@ael-druid-originate/n
originatechannel=Local/5001@ael-druid-originate
email=dave@sollos.com
#privacy=all
group=sales
I just tried it with context =ael-druid-originate, but still not changing the button state.
Agents shown fine on queue button after being added with FOP2.
Agents get paused by FOP2, but won't show as paused on the buttons.
Show queues on the CLI and FOP2 in debug level shows agents getting correctly paused/unpaused.
Another issue is that if I enable a low Intervall_poll (for example =60), as soon as the interval is hit, the agent disapears from the queue button, while still being registered in the queue.
Tried a variety of configs without success.
I've upgraded from FOP in order to have agent login/logout but I'm really stuck.
System is Asterisk 1.4.8 build on a Slackware 11.0
Follows some key parts from my config files and a debug dump from FOP2.
From buttons.cfg:
[Zap/32]
queuechannel=Zap/32
channel=Zap/32
group=Atendimento
type=extension
label=Thaynara
extension=201
context=ramais
[Zap/33]
queuechannel=Zap/33
group=Atendimento
type=extension
label=Kely
extension=202
context=ramais
[QUEUE/101]
type=queue
label=Fila Atendimento
extension=
From manager.conf
[xxx]
secret=xxx
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config
From fop2.cfg
[general]
manager_host=127.0.0.1
manager_port=5038
manager_user=XXX
manager_secret=XXX
listen_port = 4446
web_dir = /usr/local/apache2/htdocs/fop2
poll_interval = 86400
poll_voicemail = 0
monitor_ipaddress = 0
blind_transfer = 1
master_key = XXXX
monitor_filename=g${DEST_EXTENSION}-${UNIQUEID}
monitor_format=wav
monitor_mix=true
user=221:XXX:queueagent,pickup,transfer,queuemanager,hangup,meetme,record,phonebook,dial,whisper,spy
buttonfile=buttons.cfg
From queues.conf
; Fila Atendimento
[101]
eventwhencalled=yes
announce-frequency = 45
periodic-announce-frequency = 45
announce-holdtime=yes
announce-round-seconds=10
reportholdtime=yes
periodic-announce = queue-callswaiting
monitor-type = MixMonitor
joinempty=strict
music = default
strategy = ringall
timeout = 40
retry = 0
wrapuptime = 0
maxlen = 1
From fop2-server --debuglevel 511