Hello,
I’m running a FreePBX/Asterisk 13 box. When I build inbound routing (exact or pattern), it looks like it creates an entry under context: [ext-did-0001] (pattern match DID) or [ext-did-0001] (exact match DID). Each pattern or exact entry looks like:
[ext-did-0001]
exten => fax,1,Set(__DIRECTION=INBOUND)
exten => fax,n,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})
exten => ****7/_NXXNXXNXXXX,1,Set(__DIRECTION=INBOUND)
exten => ****7/_NXXNXXNXXXX,n,Gosub(sub-record-check,s,1(in,${EXTEN},dontcare))
exten => ****7/_NXXNXXNXXXX,n,Set(__FROM_DID=${EXTEN})
exten => ****7/_NXXNXXNXXXX,n,Set(CDR(did)=${FROM_DID})
exten => ****7/_NXXNXXNXXXX,n,Gosub(app-blacklist-check,s,1())
exten => ****7/_NXXNXXNXXXX,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => ****7/_NXXNXXNXXXX,n,Set(__MOHCLASS=)
exten => ****7/_NXXNXXNXXXX,n,Set(__REVERSAL_REJECT=FALSE)
exten => ****7/_NXXNXXNXXXX,n,GotoIf($["${REVERSAL_REJECT}"!="TRUE"]?post-reverse-charge)
exten => ****7/_NXXNXXNXXXX,n,GotoIf($["${CHANNEL(reversecharge)}"="1"]?macro-hangupcall)
exten => ****7/_NXXNXXNXXXX,n(post-reverse-charge),Noop()
exten => ****7/_NXXNXXNXXXX,n,Set(__CALLINGNAMEPRES_SV=${CALLERID(name-pres)})
exten => ****7/_NXXNXXNXXXX,n,Set(__CALLINGNUMPRES_SV=${CALLERID(num-pres)})
exten => ****7/_NXXNXXNXXXX,n,Set(CALLERID(name-pres)=allowed_not_screened)
exten => ****7/_NXXNXXNXXXX,n,Set(CALLERID(num-pres)=allowed_not_screened)
exten => ****7/_NXXNXXNXXXX,n(did-cid-hook),Noop(CallerID Entry Point)
exten => ****7/_NXXNXXNXXXX,n(dest-ext),Goto(app-announcement-399,s,1)
My question:
In my dial plan, is there a way to check if a route exists in prior to taking an action?
I have users that will be adding inbound routes over time and I want to make something that is smart enough to essentially check ext-did-0001 and ext-did-0002 to see if a pattern/number exists. If it exists, I would take one action in the treatment, if it did not, I would take another action.
Like a gotoif command.
I would also do something similar for callerID in another step.
any ideas?