[asterisk-users] Dial Plan - Routing via Caller ID

lists65 at gmail.com lists65 at gmail.com
Wed Apr 11 17:05:42 CDT 2012


Hi Warren,

 

Thanks for the help.  I agree I like the AGI best.  I am not a programmer
and don't know the AGI piece but I would like to learn.  I will try your
first two examples and then attempt to do something with AGI.  I really like
the idea of using a database and keeping the dialplan as clean as possible.

 

Thanks very much.

 

From: asterisk-users-bounces at lists.digium.com
[mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Warren Selby
Sent: Wednesday, April 11, 2012 5:47 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: Re: [asterisk-users] Dial Plan - Routing via Caller ID

 

On Wed, Apr 11, 2012 at 4:11 PM, <lists65 at gmail.com> wrote:

Here is an example.

 

Let's say that I want to send all calls to a context that would answer the
call via voicemail.

Let's say that I want to only right a SIP phone if calls cam from a
particular Area Code (maybe the Area Codes in your state).

Let's say that I would want to send calls from a particular A/C and certain
NNX's to a particular sales group.

 

Does that help define the purpose of directing calls *from* different Area
Codes and NNX's?



You've got a few ways you can do this:

1 - In the dialplan with ex-girlfriend logic.  You should be able to use
patterns with your ex-girlfriend logic matches, as so:

exten => 15558675309/_255NXXXXXX,1,Verbose(Calls to 867-5309 from area code
255 end up here)
exten => 15558675309/_256123XXXX,1,Verbose(Calls to 867-5309 from phone
numbers 256123XXXX end up here)

etc.  

2 - In the dialplan with GotoIf logic:

exten => 15558675309,1,Verbose(Call from ${CALLERID(num)} to 867-5309)
exten => 15558675309,n,GotoIf($["${CALLERID(num):1:3}"="255"]?areacode255)
exten => 15558675309,n,GotoIf($["${CALLERID(num):1:6}"="256123"]?num256123)
exten => 15558675309,n(areacode255),Verbose(Calls to 867-5309 from area code
255 end up here)
exten => 15558675309,n(num256123),Verbose(Calls to 867-5309 from phone
numbers 256123XXXX end up here)

etc.

3 - Outside the dialplan with an AGI that allows you many more conditional
logic choices (plus keeps your dialplan nice and clean):

exten => 15558675309,1,Verbose(Call from ${CALLERID(num)} to 867-5309)
 same => n,AGI(route_by_clid)

In your AGI, you'll be most interested in the agi_callerid environment
variable and you can control where the call goes next using the SET CONTEXT
and SET EXTENSION agi commands, or simply EXEC a GoTo command (either way
works).

Ultimately, I would go with the AGI option, because that then allows you to
do things like use a database to store your routing information, use case
statements, create routing loops, etc.  It's up to you though.  


-- 
Thanks,
--Warren Selby, dCAP
http://www.SelbyTech.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20120411/c382635b/attachment.htm>


More information about the asterisk-users mailing list