satexas
Joined: May 06, 2008
Posts: 1
Status: Offline
|
| Posted:
May 06, 2008 - 11:54 PM |
|
I have, for a necessary need, multiples queues. To make it easy on my staff, they hit a button on their phone, it dials the QUEUE Login code, and boom, it auto-logs them into ALL queues... the same with the logout button. Neat. Works great.
My question is THIS - I have Cisco 7960's phones. Is there ANY way I can write something to the phone (like a word on it's graphic display) to show they're logged into the queue? A Code I can add to this script somehow? Maybe even update the logo graphic if I had to? Anything?
Here's my neat auto-queue login script with comments:
### START OF CODE - GOES IN extensions-custom.conf
| Code: | ; Log On/Off to All Main Queues (It Toggles)
exten => 9990*,1,Wait(1)
exten => 9990*,n,Macro(agent-manage-full,900,)
exten => 9990*,n,Hangup()
; Log On/Off to Tech but not Billing Queues (It Toggles)
exten => 9991*,1,Wait(1)
exten => 9991*,n,Macro(agent-manage-techonly,900,)
exten => 9991*,n,Hangup()
; Log On/Off to Badging Queue (It Toggles)
exten => 9995*,1,Wait(1)
exten => 9995*,n,Macro(agent-manage,925,) ;
exten => 9995*,n,Hangup()
; Adds or removes a dynamic agent/member for a queue
; arg1 = queue number, arg2 = number
[macro-agent-manage]
exten => s,1,Wait(1)
exten => s,2,Macro(user-callerid)
exten => s,3,Set(CALLBACKNUM=${CALLERID(number)})
exten => s,4,GotoIf($["${CALLBACKNUM}" = ""]?111)) ; if no number, jump to fail.
exten => s,5,AddQueueMember(${ARG1}|Local/${CALLBACKNUM}@from-internal/n||j) ; using chan_local allows us to have agents over trunks
exten => s,6,UserEvent(Agentlogin|Agent: ${CALLBACKNUM})
exten => s,7,Wait(1)
exten => s,8,Playback(agent-loginok)
exten => s,9,Hangup()
exten => s,106,RemoveQueueMember(${ARG1}|Local/${CALLBACKNUM}@from-internal/n)
exten => s,107,UserEvent(RefreshQueue)
exten => s,108,Wait(1)
exten => s,109,Playback(agent-loggedoff)
exten => s,110,Hangup()
exten => s,111,Playback(sorry-cant-let-you-do-that) ; Catch error and give simple notification.
exten => s,112,Hangup()
[macro-agent-manage-full]
exten => s,1,Wait(1)
exten => s,2,Macro(user-callerid)
exten => s,3,Set(CALLBACKNUM=${CALLERID(number)})
exten => s,4,GotoIf($["${CALLBACKNUM}" = ""]?119)) ; if no number, jump to fail.
exten => s,5,AddQueueMember(900|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,6,AddQueueMember(901|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,7,AddQueueMember(902|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,8,AddQueueMember(903|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,9,AddQueueMember(904|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,10,AddQueueMember(905|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,11,AddQueueMember(906|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,12,AddQueueMember(907|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,13,AddQueueMember(908|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,14,UserEvent(Agentlogin|Agent: ${CALLBACKNUM})
exten => s,15,Wait(1)
exten => s,16,Playback(agent-loginok)
exten => s,17,Hangup()
exten => s,106,RemoveQueueMember(900|Local/${CALLBACKNUM}@from-internal/n)
exten => s,107,RemoveQueueMember(901|Local/${CALLBACKNUM}@from-internal/n)
exten => s,108,RemoveQueueMember(902|Local/${CALLBACKNUM}@from-internal/n)
exten => s,109,RemoveQueueMember(903|Local/${CALLBACKNUM}@from-internal/n)
exten => s,110,RemoveQueueMember(904|Local/${CALLBACKNUM}@from-internal/n)
exten => s,111,RemoveQueueMember(905|Local/${CALLBACKNUM}@from-internal/n)
exten => s,112,RemoveQueueMember(906|Local/${CALLBACKNUM}@from-internal/n)
exten => s,113,RemoveQueueMember(907|Local/${CALLBACKNUM}@from-internal/n)
exten => s,114,RemoveQueueMember(908|Local/${CALLBACKNUM}@from-internal/n)
exten => s,115,UserEvent(RefreshQueue)
exten => s,116,Wait(1)
exten => s,117,Playback(agent-loggedoff)
exten => s,118,Hangup()
exten => s,119,Playback(sorry-cant-let-you-do-that) ; Catch error and give simple notification.
exten => s,120,Hangup()
[macro-agent-manage-techonly]
exten => s,1,Wait(1)
exten => s,2,Macro(user-callerid)
exten => s,3,Set(CALLBACKNUM=${CALLERID(number)})
exten => s,4,GotoIf($["${CALLBACKNUM}" = ""]?117)) ; if no number, jump to fail.
exten => s,5,AddQueueMember(900|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,6,AddQueueMember(901|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,7,AddQueueMember(903|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,8,AddQueueMember(904|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,9,AddQueueMember(906|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,10,AddQueueMember(907|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,11,AddQueueMember(908|Local/${CALLBACKNUM}@from-internal/n||j)
exten => s,12,UserEvent(Agentlogin|Agent: ${CALLBACKNUM})
exten => s,13,Wait(1)
exten => s,14,Playback(agent-loginok)
exten => s,15,Hangup()
exten => s,106,RemoveQueueMember(900|Local/${CALLBACKNUM}@from-internal/n)
exten => s,107,RemoveQueueMember(901|Local/${CALLBACKNUM}@from-internal/n)
exten => s,108,RemoveQueueMember(903|Local/${CALLBACKNUM}@from-internal/n)
exten => s,119,RemoveQueueMember(904|Local/${CALLBACKNUM}@from-internal/n)
exten => s,110,RemoveQueueMember(906|Local/${CALLBACKNUM}@from-internal/n)
exten => s,111,RemoveQueueMember(907|Local/${CALLBACKNUM}@from-internal/n)
exten => s,112,RemoveQueueMember(908|Local/${CALLBACKNUM}@from-internal/n)
exten => s,113,UserEvent(RefreshQueue)
exten => s,114,Wait(1)
exten => s,115,Playback(agent-loggedoff)
exten => s,116,Hangup()
exten => s,117,Playback(sorry-cant-let-you-do-that) ; Catch error and give simple notification.
exten => s,118,Hangup()
|
|
|
|