; What to do on hangup. [macro-hangupcall] exten => s,1,ResetCDR(w) exten => s,2,NoCDR() exten => s,3,Noop(Hangup in macro-vm ${CALLERIDNUM}) exten => s,4,Set(CALLBACK=${DB(Ringback/${CALLERIDNUM})}) exten => s,5,GotoIf($["${CALLBACK}" = ""]?9) exten => s,6,DBdel(Ringback/${CALLERIDNUM}) exten => s,7,Set(CALLBACK=$[${CALLBACK}-2009]) exten => s,8,Dial(Zap/${CALLBACK}r1,30,M(ringback,${CALLERIDNUM})) exten => s,9,Noop(${BRIDGEPEER}) exten => s,10,Set(N=${LEN(${BRIDGEPEER})}) exten => s,11,Set(N=$[${N}-2]) exten => s,12,Set(BRIDGEPEER=${BRIDGEPEER:0:${N}}) exten => s,13,Set(BRIDGEPEER=${BRIDGEPEER:4}) exten => s,14,Set(BRIDGEPEER=$[${BRIDGEPEER}+2009]) exten => s,15,Set(CALLBACK=${DB(Ringback/${BRIDGEPEER})}) exten => s,16,GotoIf($["${CALLBACK}" = ""]?50) exten => s,17,DBdel(Ringback/${BRIDGEPEER}) exten => s,18,Set(CALLBACK=$[${CALLBACK}-2009]) exten => s,19,Dial(Zap/${CALLBACK}r1,30,M(ringback,${BRIDGEPEER})) exten => s,50,hangup exten => h,1,Wait(30) exten => H,1,Goto(h,1)