clave para extensiones

Forums: 

saludos...! para ver si me pueden dar una luz...! estoy creando un codigo para q cuando marquen el "0" pida una clave y tome la autenticacion de vmauthenticate la de buzon de voz, aqui les coloco el codiga para ver en q estoy fallando y si me puedan dar su opinion...!

[custom-unlock]
exten => s,1,wait(1)
exten => s,2,GotoIf($[${DB(UNLOCK/${CALLERID(number)})} = TRUE]?5:3)
exten => s,3,VMauthenticate(${CALLERID(number)})
exten => s,4,Set(DB(UNLOCK/${CALLERID(number)})=TRUE)
exten => s,5,Playback(exten-unlock)
exten => s,n,Hangup

[custom-lock]
exten => s,1,wait(1)
exten => s,2,GotoIf($[${DB(UNLOCK/${CALLERID(number)})} = FALSE]?6:3)
exten => s,3,Set(DB(UNLOCK/${CALLERID(number)})=FALSE)
exten => s,4,Playback(exten-lock)
exten => s,5,Hangup
exten => s,6,Goto(custom-unlock,s,2)
exten => s,n,Hangup

[custom-substitucion]
exten => s,1,SIPCalledRPID(Substitucion,*53)
exten => s,n,ResponseTimeout(10)
exten => s,n,DigitTimeout(3)
exten => s,n,Playback(silence/1)
exten => s,n,Read(login,vm-extension)
exten => s,n,VMauthenticate(${login})
exten => s,n,Set(DB(UNLOCK/${login})=TRUE)
exten => s,n,Set(CALLERID(number)=${login})
exten => s,n,Set(CDR(clid)=${DB(AMPUSER/${login}/cidname)} <${login}>)
exten => s,n,DISA(no-password|${DB(CONTEXT/${login}))
exten => s,n,Hangup

[custom-check-lock]
exten => _X.,1,Answer()
exten => _X.,2,GotoIf($[${DB(UNLOCK/${CALLERID(number)})} = TRUE]?5:3)
exten => _X.,3,VMauthenticate(${CALLERID(number)})
exten => _X.,4,Set(DB(UNLOCK/${CALLERID(number)})=TRUE)
exten => _X.,5,Macro(dialout-trunk,1,${EXTEN},,)
exten => _X.,6,Playtones(congestion)
exten => _X.,7,Wait(5)
exten => _X.,n,Hangup

[custom-check-lock]
exten => _X.,1,Answer()
exten => _X.,2,GotoIf($[${DB(LASTCALL/${CALLERID(number)})} > $[${EPOCH} - 7200]]?4)
exten => _X.,3,Set(DB(UNLOCK/${CALLERID(number)})=FALSE)
exten => _X.,4,GotoIf($[${DB(UNLOCK/${CALLERID(number)})} = TRUE]?
exten => _X.,5,VMauthenticate(${CALLERID(number)})
exten => _X.,6,Set(DB(UNLOCK/${CALLERID(number)})=TRUE)
exten => _X.,7,Set(DB(LASTCALL/${CALLERID(number)})=${EPOCH})
exten => _X.,8,Macro(dialout-trunk,1,${EXTEN},,)
exten => _X.,9,Playtones(congestion)
exten => _X.,10,Wait(5)
exten => _X.,n,Hangup

[macro-check-lock]
exten => s,1,Answer()
exten => s,2,GotoIf($[${DB(LASTCALL/${CALLERID(number)})} > $[${EPOCH} - 7200]]?4)
exten => s,3,Set(DB(UNLOCK/${CALLERID(number)})=FALSE)
exten => s,4,GotoIf($[${DB(UNLOCK/${CALLERID(number)})} = TRUE]?7)
exten => s,5,VMauthenticate(${CALLERID(number)})
exten => s,6,Set(DB(UNLOCK/${CALLERID(number)})=TRUE)
exten => s,7,Set(DB(LASTCALL/${CALLERID(number)})=${EPOCH})
exten => s,8,Macro(dialout-trunk,1,${EXTEN},,)
exten => s,9,Playtones(congestion)
exten => s,10,Wait(5)
exten => s,n,Hangup

[outrt-003-locales-custom]
exten => _0Z.,1,Macro(check-lock)

[outrt-004-nacionales-custom]
exten => _002.,1,Macro(check-lock)

[outrt-005-celulares-custom]
exten => _004.,1,Macro(check-lock)

[outrt-006-internacionales-custom]
exten => _000.,1,Macro(check-lock)

[app-speeddial-custom]

[macro_speeddial-lookup]

[app-cf-on-custom]

[app-cf-off-custom]

[from-internal-custom]
include => custom-lock
include => custom-unlock
include => custom-substitucion

"extensions_custom.conf" 142L, 4174C 130,1 99%