> On 1 Aug 2009, at 08:32, Myles Wakeham wrote:
>
>> I have a new Asterisk system going into production next week and I'm a 
>> bit stumped as to the best way to handle the Dialplans for it.
>> 
>> I have separate entire phone 'systems' for each incoming DID.  For 
>> example, this one system will handle 4 separate incoming DIDs.  The 
>> first (let's call it Company A) takes a call, plays a menu, gets input 
>> from the caller, directs them to the appropriate extension (ie. Press 1 
>> for sales, 2 for support, etc.).

On Sat, 1 Aug 2009, Tim Panton wrote:

> Sure, have a top level context that inbound calls from the ITSP go into:
>
> [from-ITSP]
> exten => 2125551112,1,Goto(companya,${EXTEN},1)
> exten => 2125551111,1,Goto(companyb,${EXTEN},1)
>
> ; then separate contexts for each company:
> [companya]
> extern => 2125551111,1,.....
> extern => 2125551111,2,.....
>
> [companyb]
> extern => 2125551112,1,.....
> extern => 2125551112,2,.....

Typing off the top of my "1.2 Luddite" head (meaning I use an "obsolete" 
version of Asterisk and the code is "untested, proceed at you're own 
risk"), I'd:

1) Add a "verbose" at the start of the contexts to show what's going on.

2) Save the incoming number in the first context and then use "s" for 
clarity and maintainability.

3) Use "n" for clarity and maintainability.

4) Reformat for "readability" -- which may not render well in all mail 
clients :(

So I'd suggest:

; All calls start here
[from-ITSP]
         exten = _x.,1,                  verbose(1,[${CONTEXT}:${EXTEN}])
         exten = _x.,n,                  set(DNIS=${EXTEN})
         exten = 2125551111,3,           goto(companya,s,1)
         exten = 2125551112,3,           goto(companyb,s,1)
         exten = 2125551113,3,           goto(companyc,s,1)
         exten = _x.,3,                  verbose(1,Un-configured DNIS - ${DNIS})
         exten = _x.,n,                  hangup()

; Cruft for companya
[companya]
         exten = s,1,                    verbose(1,[${CONTEXT}:${EXTEN}])
         exten = s,n,                    ...
         exten = s,n,                    hangup()

; Cruft for companyb
[companyb]
         exten = s,1,                    verbose(1,[${CONTEXT}:${EXTEN}])
         exten = s,n,                    ...
         exten = s,n,                    hangup()

; (end of /etc/asterisk/extensions.conf)

-- 
Thanks in advance,
-------------------------------------------------------------------------
Steve Edwards       [email protected]      Voice: +1-760-468-3867 PST
Newline                                              Fax: +1-760-731-3000

_______________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

AstriCon 2009 - October 13 - 15 Phoenix, Arizona
Register Now: http://www.astricon.net

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to