; Begin processing LD call 16 digit, 6AAA6-1-NPA-NXX-XXXX exten => _6XXX61NXXNXXXXXX,1,NoOp(Processing LD call dialed as ${EXTEN}) ; Capture the accountcode and assign it to CDR exten => _6XXX61NXXNXXXXXX,n,Set(accountcode=${EXTEN:0:${PGCODE}}) exten => _6XXX61NXXNXXXXXX,n,NoOp(Account code extracted as ${accountcode}) ; Get the number to be dialed (length of accountcode + 1) exten => _6XXX61NXXNXXXXXX,n,Set(mynum=${EXTEN:$[ ${PGCODE} + 1 ]}) exten => _6XXX61NXXNXXXXXX,n,NoOp(LD number extracted as ${mynum}) ; Play with the caller ID exten => _6XXX61NXXNXXXXXX,n,NoOp(Pre-AGI CallerID(num): ${CALLERID(num)}) exten => _6XXX61NXXNXXXXXX,n,NoOp(Pre-AGI CallerID(name): ${CALLERID(name)}) exten => _6XXX61NXXNXXXXXX,n,AGI(callerid-test.agi) exten => _6XXX61NXXNXXXXXX,n,NoOp(Post-AGI CallerID(num): ${CALLERID(num)}) exten => _6XXX61NXXNXXXXXX,n,NoOp(Post-AGI CallerID(name): ${CALLERID(name)}) ; Dial exten => _6XXX61NXXNXXXXXX,n,NoOp(Dialing LD call) exten => _6XXX61NXXNXXXXXX,n,Macro(lddial|${accountcode}|${mynum}) exten => _6XXX61NXXNXXXXXX,n,NoOp(LD call to ${mynum} ended) exten => _6XXX61NXXNXXXXXX,n,Hangup exten => h,1,Set(CDR(userfield)=${CDR(userfield)} Hangupcause:${HANGUPCAUSE}) exten => h,n,Hangup