exten => _X.,n(start-call),NoOp(******************************************************************) exten => _X.,n,NoOp( ) exten => _X.,n,NoOp( INBOUND CALL FOR: ${EXTEN}) exten => _X.,n,NoOp( ) exten => _X.,n,NoOp(******************************************************************) exten => _X.,n,Set(__SCREEN-RESULT=0) exten => _X.,n,Set(_CALL-START-TIMER=${EPOCH}) exten => _X.,n,Macro(db-connect) ...... exten => single,n(dial-call),Set(_DEST=${FUNC-DEST0}) exten => single,n,Set(_FULL-DEST=${FUNC-FULL-DEST0}) exten => single,n,Dial(local/${FUNC-ID}@from-inbound-client/n) [from-inbound-client] ;** This is where we receive calls from an inbound function based call. We somehow need to ;** parse off the function id of the originating call. exten => _X,1,Set(FUNC-ID=${EXTEN}) exten => _X,n,Goto(s,1) exten => _X.,1,Set(FUNC-ID=${EXTEN}) exten => _X.,n,Goto(s,1) exten => s,1,Macro(throw-chan-event,new,${CHANNEL},${CDR(uniqueid)}) exten => s,n,Set(NEW-EVENT=1) exten => s,n,Macro(db-connect) exten => s,n,Set(DESTINATION=${DEST}) exten => s,n,Set(NUMBER-LOOKUP=${FULL-DEST}) exten => s,n,Macro(read-function,${FUNC-ID}) exten => s,n,Macro(throw-func-id,${FUNC-ID}) .... exten => _XX.,n(basic-route),Set(BILLED-PARTY=0) exten => _XX.,n,Macro(trunk,${EXTEN},,,${INTERNAL-AFFILIATION},${NUMBER-LOOKUP},${INTERNAL-USER}) [macro-trunk] ; ;** Arguments Trunk-select-id, Trunk-Type, Number to Dial, Delay, Options, Affiliation ; ;** ARG1 = Number ;** ARG2 = Maximum try time ;** ARG3 = Dial Options ;** ARG4 = Affiliation ;** ARG5 = Number in dash format ;** ARG6 = User (profile) ; exten => s,1,Set(CALL-CHECK-TIMER=${MATH(0+${EPOCH},int)}) exten => s,n,Set(PDD-END=${MATH(0+${EPOCH},int)}) exten => s,n,Set(PDD-START=${MATH(0+${CALL-START-TIMER},int)}) exten => s,n,Set(CALL-START-TIMER=${MATH(0+${CALL-START-TIMER},int)}) exten => s,n,Set(CALL-PDD=${MATH(${PDD-END}-${PDD-START},int)}) exten => s,n,ExecIf($["${CALL-PDD}"="128"],Set,CALL-PDD=1) exten => s,n,GotoIf($[${CALL-PDD}>2]?increase-weight:check-active-calls)