exten => out,n,GoSub(sub-cdr_rewriter,${E},1(${DIALSTRING},${DIAL_FLAGS})) [sub-cdr_rewriter] ; We're here because we need to make sure the ext. we're hitting is the destination number so the CDRs make sense ; ; ARG1 -- The string we want to dial ; exten => _X.,1,Verbose(1|CDR Rewriter!) exten => _X.,n,Set(DIALSTRING=${ARG1}) exten => _X.,n,Set(DIAL_FLAGS=${ARG2}) exten => _X.,n,Set(RING_CYCLE=${IF($[${ISNULL(${ARG3})} & ${EXISTS(${RING_CYCLE})}]?${RING_CYCLE})}) exten => _X.,n,Verbose(1|${EXISTS(${RING_CYCLE})}) exten => _X.,n,Set(RING_CYCLE=${RING_CYCLE}) exten => _X.,n,Set(X=0)