Changeset 3186 for freepbx

Show
Ignore:
Timestamp:
11/25/06 14:09:48 (6 years ago)
Author:
p_lindheimer
Message:

#1423: add a TTL (internet style) to macro-user-callerid to put a limit on infinite loop forwarding conditions. Includes a SKIPTTL optional parmater for places in the core dialplan where macro-user-callerid is called where no such condition could exist, such as outbound dialing, currently hardcoded at 64 - we probably want to make this settable from General or similar

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • freepbx/trunk/amp_conf/astetc/extensions.conf

    r3166 r3186  
    140140 
    141141[macro-vm] 
    142 exten => s,1,Macro(user-callerid
     142exten => s,1,Macro(user-callerid,SKIPTTL
    143143exten => s,n,Set(VMGAIN=${IF($["foo${VM_GAIN}"!="foo"]?"g(${VM_GAIN})":"")}) 
    144144exten => s,n,Goto(s-${ARG2},1) 
     
    195195;------------------------------------------------------------------------ 
    196196[macro-simple-dial] 
    197 exten => s,1,Macro(user-callerid) 
     197exten => s,1,Macro(user-callerid,SKIPTTL) ; already called from follow-me 
    198198 
    199199; FROMCONTEXT was in the original macro-exten-vm where this macro was derived from. A 
     
    271271; 4 - extension list 
    272272[macro-rg-group] 
    273 exten => s,1,Macro(user-callerid) 
     273exten => s,1,Macro(user-callerid,SKIPTTL) ; already called from ringgroup 
    274274exten => s,2,GotoIf($["${CALLERID(name):0:${LEN(${RGPREFIX})}}" != "${RGPREFIX}"]?4:3)  ; check for old prefix 
    275275exten => s,3,Set(CALLERID(name)=${CALLERID(name):${LEN(${RGPREFIX})}}) ; strip off old prefix 
     
    315315; dialout and strip the prefix 
    316316[macro-dialout] 
    317 exten => s,1,Macro(user-callerid
     317exten => s,1,Macro(user-callerid,SKIPTTL
    318318exten => s,2,GotoIf($["${ECID${CALLERID(number)}}" = ""]?5)   ;check for CID override for exten 
    319319exten => s,3,Set(CALLERID(all)=${ECID${CALLERID(number)}}) 
     
    330330; dialout using default OUT trunk - no prefix 
    331331[macro-dialout-default] 
    332 exten => s,1,Macro(user-callerid
     332exten => s,1,Macro(user-callerid,SKIPTTL
    333333exten => s,2,Macro(record-enable,${CALLERID(number)},OUT) 
    334334exten => s,3,Macro(outbound-callerid,${ARG1}) 
     
    362362exten => s,n(auth),Authenticate(${ROUTE_PASSWD}) 
    363363exten => s,n(noauth),Set(GROUP()=OUT_${DIAL_TRUNK}) 
    364 exten => s,n,Macro(user-callerid
     364exten => s,n,Macro(user-callerid,SKIPTTL
    365365exten => s,n,Macro(record-enable,${CALLERID(number)},OUT) 
    366366exten => s,n,GotoIf($["${INTRACOMPANYROUTE}" = "YES"]?skipoutcid) ;Set to YES if treated like internal 
     
    404404[macro-agent-add] 
    405405exten => s,1,Wait(1) 
    406 exten => s,2,Macro(user-callerid
     406exten => s,2,Macro(user-callerid,SKIPTTL
    407407exten => s,3,Read(CALLBACKNUM,agent-user)   ; get callback number from user 
    408408exten => s,4,GotoIf($["${CALLBACKNUM}" = ""]?5:7) ; if user just pressed # or timed out, use cidnum 
     
    421421[macro-agent-del] 
    422422exten => s,1,Wait(1) 
    423 exten => s,2,Macro(user-callerid
     423exten => s,2,Macro(user-callerid,SKIPTTL
    424424exten => s,3,Read(CALLBACKNUM,agent-user)   ; get callback number from user 
    425425exten => s,4,GotoIf($["${CALLBACKNUM}" = ""]?5:7) ; if user just pressed # or timed out, use cidnum 
     
    440440exten => s,1,GotoIf($["${ARG3}" = ""]PASSWD?NOPASSWD); arg3 is pattern password  
    441441exten => s,n(PASSWD),Authenticate(${ARG3})  
    442 exten => s,n(NOPASSWD),Macro(user-callerid)  
     442exten => s,n(NOPASSWD),Macro(user-callerid,SKIPTTL)  
    443443exten => s,n,Macro(record-enable,${CALLERID(number)},OUT) 
    444444exten => s,n,Macro(outbound-callerid,${ARG1}) 
     
    707707exten => s,n,GotoIf($["x${AMPUSERCIDNAME:1:2}" = "x"]?report)  
    708708exten => s,n,Set(CALLERID(all)=${AMPUSERCIDNAME} <${AMPUSER}>) 
    709 exten => s,n,Set(REALCALLERIDNUM=${DB(DEVICE/${REALCALLERIDNUM}/user)}) 
    710 exten => s,n(report),NoOp(Using CallerID ${CALLERID(all)}) 
     709exten => s,n(report),Noop(TTL: ${TTL} ARG1: ${ARG1}) 
     710exten => s,n,GotoIf($[ "${ARG1}" = "SKIPTTL" ]?continue) 
     711exten => s,n(report2),Set(_TTL=${IF($["foo${TTL}" = "foo"]?64:$[ ${TTL} - 1 ])}) 
     712exten => s,n,GotoIf($[ ${TTL} > 0 ]?continue) 
     713exten => s,n,Answer() 
     714exten => s,n,Wait(2) 
     715exten => s,n,Playback(im-sorry&an-error-has-occured&with&call-forwarding) 
     716exten => s,n,Macro(hangupcall) 
     717exten => s,n,Congestion() 
     718exten => s,n(continue),NoOp(Using CallerID ${CALLERID(all)}) 
     719exten => h,1,Macro(hangupcall) 
    711720 
    712721; overrides callerid out trunks