1) debes hacer algo similar a esto,
exten => s,1,Wait(1)
exten => s,2,Background(/var/lib/asterisk/sounds/vm-password)
exten => s,3,WaitExten(5)
exten => t,1,Goto(llamarafuera,s,1)
include => claves
;aca pondremos las claves validas y todo lo demas lo colocaremos como invalido
exten => 3333,1,Goto(llamadaaceptada,s,1)
exten => 3334,1,Goto(llamadaaceptada,s,1)
exten => _X.,1,Playback(/var/lib/asterisk/sounds/clave-invalida)
exten => _X.,2,Goto(llamarafuera,s,1)
; aqui haremos que le comunique q su llamada fue aceptada (para ;esto tenriamos que grabar un mensaje y luego darle la posibilidad de marcar un numero
exten => s,1,Background(/var/lib/asterisk/sounds/clave-aceptada)
exten => s,2,WaitExten(7) ;no recuerdo si para asterisk 1.2.x no cambio este comando si ;no funciona asi comprueba esto
exten => _X.,1,Dial(Zap/1/${EXTEN})
2) para que la llamada si no contestan rebote es simple en vez de ponerle un voicemail le colocas un dial como siguiente prioridad
exten => s,1,Dial(SIP/1000,10)
exten => s,2,Dial(SIP/1001,10)
si quieres que suene en mas de uno haces
exten => s,3,Dial(SIP/1000&SIP/1001,10)
suerte