[general] static=yes writeprotecit=no extenpatternmatchnew =yes clearglobalvars=yes [globals] GW0 = x.x.x.x MX = 1 MXC =0 CIPADDRESS="1.1.1.1" [default] exten => _X.,1,NoOp(${CHANNEL(channeltype)}) exten => _X.,n,Set(GROUP()=trunkgroup1) ;Set Group exten => _X.,n,GotoIf($["${CHANNEL(channeltype)}" = "H323"]?default,${EXTEN},h323) exten => _X.,n,Set(SIPIP=${CHANNEL(recvip)}) exten => _X.,n(entrada),Verbose(0,ACTIVE CALLS ${GROUP_COUNT(trunkgroup1)} ${EXTEN}-ANI->${CALLERID(num)} IP:->${SIPIP}) exten => _X.,n,Set(CALLERID(name-pres)=allowed) ; ONLY trunk exten => _X.,n,Set(CALLERID(num-pres)=allowed) ; ONLY trunk exten => _X.,n,SIPAddHeader(X-Original-IP:${SIPIP}) exten => _X.,n,Goto(dialout,${EXTEN},1) exten => _X.,n(dropit),Hangup() exten => _X.,300(h323),Verbose(0,Incoming H323 ${CHANNEL}) exten => _X.,301,Set(SIPIP=${CUT(CHANNEL,:,1):8}) exten => _X.,302,Goto(entrada) [dialout] exten =>_X.,1,Set(GLOBAL(MXC)=${MATH(${MXC}+1,int)}) exten =>_X.,n,Verbose(0,MXC = ${MXC} ${MX}) exten =>_X.,n,Set(Target=${GW${MATH(${MXC} % ${MX},int)}}) exten =>_X.,n,Verbose(0,Dialing ${EXTEN} to ${Target}) exten =>_X.,n,Set(SIP_CODEC_OUTBOUND=g729) exten =>_X.,n,Dial(SIP/${EXTEN}@${Target},45) exten =>_X.,n,Hangup()