Logic fixups for a sample FREENUM dialplan context.
authorTilghman Lesher <tilghman@meg.abyt.es>
Fri, 30 Apr 2010 05:23:56 +0000 (05:23 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Fri, 30 Apr 2010 05:23:56 +0000 (05:23 +0000)
(closes issue #17263)
 Reported by: pprindeville
 Patches:
       freenum-dialplan.patch#3 uploaded by pprindeville (license 347)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@260280 65c4cc65-6c06-0410-ace0-fbb531ad65f3

configs/extensions.conf.sample

index eafcffb..933bba1 100644 (file)
@@ -421,18 +421,22 @@ exten => _XXXXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
 ;
 exten => _X!,1,Verbose(2,Performing ISN lookup for ${EXTEN})
 same => n,Set(SUFFIX=${CUT(EXTEN,*,2-)})                                ; make sure the suffix is all digits as well
-same => n,GotoIf($["${FILTER(0-9,${SUFFIX})}" != "${SUFFIX}"]?i:)       ; filter out bad characters per the README-SERIOUSLY.best-practices.txt document
+same => n,GotoIf($["${FILTER(0-9,${SUFFIX})}" != "${SUFFIX}"]?fn-CONGESTION,1)
+                                                                        ; filter out bad characters per the README-SERIOUSLY.best-practices.txt document
 same => n,Set(TIMEOUT(absolute)=10800)
 same => n,Set(isnresult=${ENUMLOOKUP(${EXTEN},sip,,1,freenum.org)})     ; perform our lookup with freenum.org
-same => n,GotoIf($["${isnresult}" != ""]?:notfound)
-same => n,GotoIf($["${GLOBAL(FREENUMDOMAIN)}" == ""]?dial:)             ; check if we set the FREENUMDOMAIN global variable in [global]
+same => n,GotoIf($["${isnresult}" != ""]?from)
+same => n,Set(DIALSTATUS=CONGESTION)
+same => n,Goto(fn-CONGESTION,1)
+same => n(from),Set(SIPFROMUSER=${CALLERID(num)})
+same => n,GotoIf($["${GLOBAL(FREENUMDOMAIN)}" = ""]?dial)               ; check if we set the FREENUMDOMAIN global variable in [global]
 same => n,Set(SIPFROMDOMAIN=${GLOBAL(FREENUMDOMAIN)})                   ;    if we did set it, then we'll use it for our outbound dialing domain
 same => n(dial),Dial(SIP/${isnresult},40)
-same => n,Goto(fn-${DIALSTATUS})
+same => n,Goto(fn-${DIALSTATUS},1)
 
 exten => fn-BUSY,1,Busy()
 
-exten => _fn-.,1,NoOp(ISN: ${DIALSTATUS})
+exten => _f[n]-.,1,NoOp(ISN: ${DIALSTATUS})
 same => n,Congestion()
 
 [macro-trunkdial]