login | register
Sun 12 of Oct, 2008 [09:01 UTC]

voip-info.org

Discuss [1] History

Asterisk tips autoattendant

Created by: oej,Last modification on Fri 27 of Aug, 2004 [07:37 UTC] by kb1_kanobe

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




Comments

Comments Filter
222

333too many $$'s?

by , Thursday 09 of September, 2004 [18:25:31 UTC]
I tried the DBPut/DBGet example, and it didn't work until I removed one of the $'s in the GotoIf statement.

I am running * CVS-HEAD-07/16/04-12:04:43 if that helps.