[custom-alarmmsg] exten => s,1,DigitTimeout(5) exten => s,2,ResponseTimeout(5) exten => s,3,SetVar(MACHINE=0) exten => s,4,Answer exten => s,5,BackgroundDetect(silence/5, 1000, 50) exten => s,6,Noop(answering machine detected) exten => s,7,SetVar(MACHINE=1) exten => s,8,BackgroundDetect(silence/30, 1000, 50, 30050) exten => s,9,Noop(this is a very long message) exten => s,10,Wait(2) exten => s,11,Background(Goodbye) exten => s,12,Hangup exten => talk,1,GotoIf($[${MACHINE}=1]?2:3) exten => talk,2,Goto(custom-alarmmsg-machine,s,1) ; this is a machine exten => talk,3,SetVar(LOOPED=1) exten => talk,4,Background(message_for_answering_machine) exten => t,1,SetVar(LOOPED=$[${LOOPED}+1]) exten => t,2,GotoIf($[${LOOPED} > 3]?4:3) exten => t,3,Goto(talk,4) exten => t,4,Hangup exten => 1,1,Goto(custom-alarmmsg-human,s,1) [custom-alarmmsg-human] exten => s,1,Background(message_for_human) exten => 1,1,Goto(s,1) exten => t,1,Background(goodbye) exten => t,2,Wait(1) exten => t,3,Hangup