Queue user log in/out externally to cell

I created this to call in from a cell phone, authenticate with a password, and log into or off the queue, and have the queue call your cell. Nothing fancy in the queue settings just make sure dynamic agents are not restricted. You don’t need anything in the dynamic agent list. The cell number it dials is not dynamic (although it could if I felt like playing around for another hour getting the variables right, but I don’t I’m at work and have other asterisk customers to manage) so if an employee changes their cell # you have to edit the script.

In extensions_custom_conf add this under [from-internal-custom]. If [from-internal-custom] is not in there, add it. 223321 is the internal PBX extension number. 1234 is the password. 123 is the queue number. 5551112222 is their cell phone #. Each user will need their own login/logout entry with a unique extension #. I did it extension based, because if you’re in the office you can just dial your codes to log in/out instead of calling in externally. Also, for a call center manager to have the ability to log people in/out.

exten => 223321,1,Authenticate(1234)
exten => 223321,n,AddQueueMember(123,Local/5551112222@from-internal,0)
exten => 223321,n,Playback(agent-loginok)
exten => 223321,n,Hangup

exten => 223322,1,Authenticate(1234)
exten => 223322,n,RemoveQueueMember(123,Local/5551112222@from-internal)
exten => 223322,n,Playback(agent-loggedoff)
exten => 223322,n,Hangup

In FreePBX GUI, create a Misc. Destination for each user login/off. Login dial is obviously 223321 and a logout destination is 223322. I named it 2strokerlogin and 2strokerlogout.

Create IVR for each user. I recorded a simple audio file saying “To log in press 1, to log off press 2”. You can do whatever. In the IVR entries dialing 1 = misc destination > 2strokerlogin and dialing 2 = misc destination > 2strokerlogout.

I created an inbound route based on Caller ID. The destination of the inbound route is said IVR you just created.

Person calls in from their cell, it routes them to their login/logout menu. They enter a password, and blamo they’re either in or out of the queue.