Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [macro-user-logon]
- exten => s,1,Set(DEVICETYPE=${DB(DEVICE/${CALLERID(number)}/type)})
- exten => s,n,Answer()
- exten => s,n,Wait(1)
- exten => s,n,GotoIf($["${DEVICETYPE}" = "fixed"]?s-FIXED,1)
- ; get user's extension
- ;
- exten => s,n,Set(AMPUSER=${ARG1})
- exten => s,n,GotoIf($["${AMPUSER}" != ""]?gotpass)
- exten => s,n(playagain),Read(AMPUSER,please-enter-your-extension-then-press-pound,,,4)
- ; get user's password and authenticate
- ;
- exten => s,n,GotoIf($["${AMPUSER}" = ""]?s-MAXATTEMPTS,1)
- exten => s,n(gotpass),GotoIf($["${DB_EXISTS(AMPUSER/${AMPUSER}/password)}" = "0"]?s-NOUSER,1)
- exten => s,n,Set(AMPUSERPASS=${DB_RESULT})
- exten => s,n,GotoIf($[${LEN(${AMPUSERPASS})} = 0]?s-NOPASSWORD,1)
- ; do not continue if the user has already logged onto this device
- ;
- exten => s,n,Set(DEVICEUSER=${DB(DEVICE/${CALLERID(number)}/user)})
- exten => s,n,GotoIf($["${DEVICEUSER}" = "${AMPUSER}"]?s-ALREADYLOGGEDON,1)
- exten => s,n,Authenticate(${AMPUSERPASS})
- exten => s,n,AGI(user_login_out.agi,login,${CALLERID(number)},${AMPUSER})
- exten => s,n,Playback(agent-loginok)
- exten => s-FIXED,1,NoOp(Device is FIXED and cannot be logged into)
- exten => s-FIXED,n,Playback(ha/phone)
- exten => s-FIXED,n,SayDigits(${CALLERID(number)})
- exten => s-FIXED,n,Playback(is-curntly-unavail&vm-goodbye)
- exten => s-FIXED,n,Hangup ;TODO should play msg indicated device cannot be logged into
- exten => s-ALREADYLOGGEDON,1,NoOp(This device has already been logged into by this user)
- exten => s-ALREADYLOGGEDON,n,Playback(vm-goodbye)
- exten => s-ALREADYLOGGEDON,n,Hangup ;TODO should play msg indicated device is already logged into
- exten => s-NOPASSWORD,1,NoOp(This extension does not exist or no password is set)
- exten => s-NOPASSWORD,n,Playback(pbx-invalid)
- exten => s-NOPASSWORD,n,Goto(s,playagain)
- exten => s-MAXATTEMPTS,1,NoOp(Too many login attempts)
- exten => s-MAXATTEMPTS,n,Playback(vm-goodbye)
- exten => s-MAXATTEMPTS,n,Hangup
- exten => s-NOUSER,1,NoOp(Invalid extension ${AMPUSER} entered)
- exten => s-NOUSER,n,Playback(pbx-invalid)
- exten => s-NOUSER,n,Goto(s,playagain)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement