Customize One Feature Code to Monitor&Login/Logout Queue Dynamic Agents

In the call centers, the supervisor may want to Login/Logout dynamic agents and monitor the status on one key. Right now you need to configure 2 keys: one feature code to login/logout (*75+queue) and the other one (*75+dynamic agent extension+*queue) to monitor the dynamic agent status. This wastes lots of  BLF keys on the phones. Therefore, this article provides a solution for this scenario.

Here takes queue 6700 with its dynamic agents 1000-1009 configuration as an example: 

Set BLF(*756700*extension) in the phones Memory Key, here we take Yealink phone as an example. When you press the BLF key in phone, dynamic agent will login queue 6700 and the BLF will turn from green to red. When you press BLF key in phone again, dynamic agent will logout queue 6700 and the BLF will turn from red to green.
 
( If you use line key for the BLF (*756700*extension), the green and blinking green are the status of logout and login)
 
Below are detailed steps for configuring this feature:
1) Please enable your SSH in S PBX Security Center first, remember to save and apply.
Note the SSH password first for CLI login.
 
2) Login SSH followed by this guide. How to login SSH
 
Input ( cd /ysdisk/support/customcfg/ ) and Enter.
Input (  vi extensions.custom.conf) and Enter.
 
Click i and paste the content below:
 
[queques]
exten = 6700,1,Gotoif($[${APIDTMFFLAG}==1]?2:4)
exten = 6700,2,UserEvent(DtmfEndString,Info: ${EXTEN})
exten = 6700,3,Set(APIDTMFFLAG=-1)
exten = 6700,4,UserEvent(UpdateCallee,callee: 6700)
exten = 6700,5,Gotoif($[${APIDIALSTATUS}==BUSY]?h,1)
exten = 6700,6,Set(YSGROUPEXTEN=6700)
exten = 6700,n,Set(CDR(orgdst)=6700)
exten = 6700,n,Set(CDR(ringtype)=ringall)
exten = 6700,n,Goto(queue_6700,6700,1)
exten = *756700*1000,1,Set(CDR(queueswitchdst)=*756700)
exten = *756700*1000,2,GotoIf($[${DEVICE_STATE(Custom:QueueLogin_6700*${SRCEXTENSION})}=INUSE]?6700**,1:6700*,1)
exten = *756700*1001,1,Set(CDR(queueswitchdst)=*756700)
exten = *756700*1001,2,GotoIf($[${DEVICE_STATE(Custom:QueueLogin_6700*${SRCEXTENSION})}=INUSE]?6700**,1:6700*,1)
exten = *756700*1002,1,Set(CDR(queueswitchdst)=*756700)
exten = *756700*1002,2,GotoIf($[${DEVICE_STATE(Custom:QueueLogin_6700*${SRCEXTENSION})}=INUSE]?6700**,1:6700*,1)
exten = *756700*1003,1,Set(CDR(queueswitchdst)=*756700)
exten = *756700*1003,2,GotoIf($[${DEVICE_STATE(Custom:QueueLogin_6700*${SRCEXTENSION})}=INUSE]?6700**,1:6700*,1)
exten = *756700*1004,1,Set(CDR(queueswitchdst)=*756700)
exten = *756700*1004,2,GotoIf($[${DEVICE_STATE(Custom:QueueLogin_6700*${SRCEXTENSION})}=INUSE]?6700**,1:6700*,1)
exten = *756700*1005,1,Set(CDR(queueswitchdst)=*756700)
exten = *756700*1005,2,GotoIf($[${DEVICE_STATE(Custom:QueueLogin_6700*${SRCEXTENSION})}=INUSE]?6700**,1:6700*,1)
exten = *756700*1006,1,Set(CDR(queueswitchdst)=*756700)
exten = *756700*1006,2,GotoIf($[${DEVICE_STATE(Custom:QueueLogin_6700*${SRCEXTENSION})}=INUSE]?6700**,1:6700*,1)
exten = *756700*1007,1,Set(CDR(queueswitchdst)=*756700)
exten = *756700*1007,2,GotoIf($[${DEVICE_STATE(Custom:QueueLogin_6700*${SRCEXTENSION})}=INUSE]?6700**,1:6700*,1)
exten = *756700*1008,1,Set(CDR(queueswitchdst)=*756700)
exten = *756700*1008,2,GotoIf($[${DEVICE_STATE(Custom:QueueLogin_6700*${SRCEXTENSION})}=INUSE]?6700**,1:6700*,1)
exten = *756700*1009,1,Set(CDR(queueswitchdst)=*756700)
exten = *756700*1009,2,GotoIf($[${DEVICE_STATE(Custom:QueueLogin_6700*${SRCEXTENSION})}=INUSE]?6700**,1:6700*,1)
exten = 6700*,1,Macro(queue-login,queue-6700,,Local/${SRCEXTENSION}@only-dialextension-q6700,hint:${SRCEXTENSION}@default)
exten = 6700**,1,Macro(queue-logout,queue-6700,Local/${SRCEXTENSION}@only-dialextension-q6700)
exten = h,1,Hangup()
 
[queuemember-hint]
exten =*756700*1000,hint,Custom:QueueLogin_6700*1000
exten =*756700*1001,hint,Custom:QueueLogin_6700*1001
exten =*756700*1002,hint,Custom:QueueLogin_6700*1002
exten =*756700*1003,hint,Custom:QueueLogin_6700*1003
exten =*756700*1004,hint,Custom:QueueLogin_6700*1004
exten =*756700*1005,hint,Custom:QueueLogin_6700*1005
exten =*756700*1006,hint,Custom:QueueLogin_6700*1006
exten =*756700*1007,hint,Custom:QueueLogin_6700*1007
exten =*756700*1008,hint,Custom:QueueLogin_6700*1008
exten =*756700*1009,hint,Custom:QueueLogin_6700*1009
 
Click Esc and input ( :wq ).
Click any change and then apply on S PBX web to take effect above custom configurations.
Set BLF in your phones and have a test. 
 
Note that the the dialplan might differs in different versions. So please please check the dialplan context [queues] and [queuemember-hint] according to your version in the file /etc/asterisk/extensions.conf.
 
You can also customize more new queues and extensions in the [queues] and [queuemember-hint].
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.