Asterisk tips autoattendant

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 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



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 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



Created by: oej, Last modification: Mon 25 of Jun, 2012 (20:41 UTC) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+