Autoattendant
How can an Attendant switch on or off the AutoAttendant from her
phone? Eg.
- 8am -> Attendent enters office -> switches OFF auto attendent. He/She takes in all the incoming calls and answers.
- 12pm -> out for lunch. Needs to put the system back into Auto.
- 1 pm -> return from lunch. Needs to switch OFF auto attendant
- 5 pm- > Puts Auto attendant ON.
Solution 1a – using on/off service codes
;Login with *801, log out with *802
exten => *801,1,DBPut(auto/attendant=1)
exten => *802,1,DBPut(auto/attendant=0)
;Incoming calls- check if autoattendant is logged in, otherwise goto "auto"
exten => s,1,DBGet(autoattendant=auto/attendant)
exten => s,2,GotoIf($[${autoattendant} = "1"]?auto|1)
exten => s,3,Dial(Zap/23,30,t)
exten => s,4,Goto(auto|1)
Solution 1b – using a password protected in-menu toggle
[global-attendant]
exten => s,1,Answer
exten => s,2,DBGet(aastatus=auto/attendant)
exten => s,3,GotoIf($[${aastatus} = "1"]?autoattendant,1)
... remaining body of attendant IVR logic
; Turn attendant on/off
exten => **,1,Background(Password)
exten => **,2,Authenticate(0000)
exten => **,3,DBGet(aastatus=auto/attendant)
exten => **,4,GotoIf(${aastatus} = "1"?**,10)
exten => **,5,DBPut(auto/attendant=1)
exten => **,6,Playback(autoattendant-turned-on)
exten => **,7,Hangup
exten => **,10,DBPut(auto/attendant=0)
exten => **,11,Playback(autoattendant-turned-off)
exten => **,12,Hangup
Alternative solution
Put the calls to a Asterisk cmd Queue and have your reciptionist login/logout of the Queue.
exten => 600,1,AddQueueMember(phillyq|SIP/${CALLERIDNUM:6})
exten => 600,2,Playback(agent-loginok)
exten => 600,3,Hangup
exten => 601,1,RemoveQueueMember(phillyq|SIP/${CALLERIDNUM:6})
exten => 601,2,Playback(agent-loggedoff)
exten => 601,3,Hangup
- Asterisk tips and tricks
- Applications: Database operations | Asterisk cmd GotoIf | Dial | PlayBack | Queues