Advertisement
Guest User

Untitled

a guest
Jan 18th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. [macro-user-logon]
  2. exten => s,1,Set(DEVICETYPE=${DB(DEVICE/${CALLERID(number)}/type)})
  3. exten => s,n,Answer()
  4. exten => s,n,Wait(1)
  5. exten => s,n,GotoIf($["${DEVICETYPE}" = "fixed"]?s-FIXED,1)
  6. ; get user's extension
  7. ;
  8. exten => s,n,Set(AMPUSER=${ARG1})
  9. exten => s,n,GotoIf($["${AMPUSER}" != ""]?gotpass)
  10. exten => s,n(playagain),Read(AMPUSER,please-enter-your-extension-then-press-pound,,,4)
  11. ; get user's password and authenticate
  12. ;
  13. exten => s,n,GotoIf($["${AMPUSER}" = ""]?s-MAXATTEMPTS,1)
  14. exten => s,n(gotpass),GotoIf($["${DB_EXISTS(AMPUSER/${AMPUSER}/password)}" = "0"]?s-NOUSER,1)
  15. exten => s,n,Set(AMPUSERPASS=${DB_RESULT})
  16. exten => s,n,GotoIf($[${LEN(${AMPUSERPASS})} = 0]?s-NOPASSWORD,1)
  17. ; do not continue if the user has already logged onto this device
  18. ;
  19. exten => s,n,Set(DEVICEUSER=${DB(DEVICE/${CALLERID(number)}/user)})
  20. exten => s,n,GotoIf($["${DEVICEUSER}" = "${AMPUSER}"]?s-ALREADYLOGGEDON,1)
  21. exten => s,n,Authenticate(${AMPUSERPASS})
  22. exten => s,n,AGI(user_login_out.agi,login,${CALLERID(number)},${AMPUSER})
  23. exten => s,n,Playback(agent-loginok)
  24.  
  25. exten => s-FIXED,1,NoOp(Device is FIXED and cannot be logged into)
  26. exten => s-FIXED,n,Playback(ha/phone)
  27. exten => s-FIXED,n,SayDigits(${CALLERID(number)})
  28. exten => s-FIXED,n,Playback(is-curntly-unavail&vm-goodbye)
  29. exten => s-FIXED,n,Hangup ;TODO should play msg indicated device cannot be logged into
  30.  
  31. exten => s-ALREADYLOGGEDON,1,NoOp(This device has already been logged into by this user)
  32. exten => s-ALREADYLOGGEDON,n,Playback(vm-goodbye)
  33. exten => s-ALREADYLOGGEDON,n,Hangup ;TODO should play msg indicated device is already logged into
  34.  
  35. exten => s-NOPASSWORD,1,NoOp(This extension does not exist or no password is set)
  36. exten => s-NOPASSWORD,n,Playback(pbx-invalid)
  37. exten => s-NOPASSWORD,n,Goto(s,playagain)
  38.  
  39. exten => s-MAXATTEMPTS,1,NoOp(Too many login attempts)
  40. exten => s-MAXATTEMPTS,n,Playback(vm-goodbye)
  41. exten => s-MAXATTEMPTS,n,Hangup
  42.  
  43. exten => s-NOUSER,1,NoOp(Invalid extension ${AMPUSER} entered)
  44. exten => s-NOUSER,n,Playback(pbx-invalid)
  45. exten => s-NOUSER,n,Goto(s,playagain)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement