Zerthimon,

we have something very similar, and i call it our 'agent IVR'

when an extension is run and nobody answers or the phone is
unreachable, the caller is given options to continue holding, be
connected to customer service, or go to voicemail.  similar to what
you want to do.  you'd need to add another set of steps based on the
dialstatus variable, we just treat everything as a noanswer.

see if this helps:

[macro-mgruser-test]
exten => s,1,Set(ATTEMPTS_${MACRO_EXTEN}=1)
exten => 
s,n,Set(CALLFILENAME=INCOMING_${CALLERIDNUM}_${MACRO_EXTEN}_${TIMESTAMP})
exten => s,n,Monitor(wav,${CALLFILENAME},m)
exten => s,n,Dial(${ARG1},20,rt)
exten => s,n,Goto(s-NOANSWER,1)
exten => s-NOANSWER,1,Read(OPTION|mgruser|1)
exten => s-NOANSWER,2,Gotoif($[${OPTION} = 2] ?s,20)
exten => s-NOANSWER,3,Gotoif($[${OPTION} = 3] ?s,30)
exten => s-NOANSWER,4,Gotoif($[${OPTION} = 4] ?s,40:40)
exten => s,20,Goto(AML_CUSTOMER_SERVICE_QUEUE,s,1)
exten => s,30,Gotoif($[${ATTEMPTS_${MACRO_EXTEN}}=4]?s,20)
exten => s,31,Set(ATTEMPTS_${MACRO_EXTEN}=[${ATTEMPTS_${MACRO_EXTEN}}+1])
exten => s,32,WaitMusicOnHold(2)
exten => s,33,Goto(s,4)
exten => s,40,Voicemail(${ARG2})
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

Asterisk-Users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to