rendered paste bodyexten => *60,1,ringing
exten => *60,2,Set(FutureTime=$[${EPOCH} + 8])
exten => *60,3,Set(FutureTimeMod=$[${FutureTime} % 10])
exten => *60,4,Set(FutureTime=$[${FutureTime} - ${FutureTimeMod}])
;180 in next line is max # seconds connection can be held open. Use multiples of 10.
exten => *60,5,Set(MaxConnectTime=$[${FutureTime} + 180])
exten => *60,6,Set(FutureTimeMod=$[${FutureTime} - ${EPOCH}])
exten => *60,7,GotoIf($["${FutureTimeMod}" < "0"]?10:8)
exten => *60,8,wait(1)
exten => *60,9,goto(6)
exten => *60,10,Answer
exten => *60,11,Set(FutureTime=$[${FutureTime} + 10])
exten => *60,12,Set(FutureTimeMod=$[${FutureTime} % 60])
exten => *60,13,wait(1)
exten => *60,14,playback(at-tone-time-exactly)
exten => *60,15,SayUnixTime(${FutureTime},,I)
exten => *60,16,SayUnixTime(${FutureTime},,M)
exten => *60,17,GotoIf($["${FutureTimeMod}" = "0"]?18:20)
exten => *60,18,SayUnixTime(${FutureTime},,p)
exten => *60,19,goto(23)
exten => *60,20,playback(and)
exten => *60,21,SayUnixTime(${FutureTime},,S)
exten => *60,22,playback(seconds)
exten => *60,23,Set(FutureTimeMod=$[${FutureTime} - ${EPOCH}])
exten => *60,24,GotoIf($["${FutureTimeMod}" < "1"]?27:25)
exten => *60,25,wait(1)
exten => *60,26,goto(23)
exten => *60,27,playback(beep)
exten => *60,28,Set(FutureTimeMod=$[${MaxConnectTime} - ${EPOCH}])
exten => *60,29,GotoIf($["${FutureTimeMod}" < "1"]?30:11)
exten => *60,30,Hangup