[Asterisk-Users] Re: DISA

John Todd jtodd at loligo.com
Thu Feb 5 19:00:20 MST 2004


So, to boil your problem down to what I think is the problem:

"When you attach an inbound call to the DISA application, it does not 
produce a dialtone fast enough."

Is that the summary that I understand from your comments below?  If 
so, then we have narrowed things down a bit.

To the end of your actual problem, if I interpret it correctly: for 
experimentation, try adding an "Answer" command right before the DISA 
and see what you get.  My experience with DISA (on VoIP and PRI, at 
least) is that it gives an _immediate_ dialtone, without entry of any 
keys or delay.


The "unchangeable" timer is the delay between the last keystroke of 
entering something within the DISA and the DISA deciding to act upon 
the string.  As to my usage of the word "unchangeable": this is open 
source.  Everything is changeable.  My comments referenced what can 
be done within the dialplan.

PS: Your mail program is confusing who said what, as well.  I did not 
say everything you attribute to me, and that is not clear from 
looking at your message.  James Sharp wrote the first two paragraphs 
you say that are my quotes.

JT


At 7:43 PM -0600 2/5/04, Ed Devine wrote:
>
>Andrew,
>
>Thanks for your interest and courteous response. My company is a facilities
>based CLEC. By way of background, I'm new to Asterisk and Digium, but I have
>a good deal of past experience with Dialogic and NMS products in the telco
>environment. I spend most of my time working with Nortel DMS-XXX switchgear
>and managing the company ISP facilities.
>
>I've been using a variation of a dialplan that I got from John Todd (see
>below). The problem I've allways encountered is that for Asterisk to work in
>our environment, it must allow the following:
>
>Scenario:
>
>user (whether automatic dialer, PBX ARS, PBX LCR, or even manually dialing
>from any phone) accesses the switch (asterisk system) via a 10 digit did
>number.
>
>dial 972-NXX-XXXX
>
>the switch answers and returns dialtone immediately
>
>dial 228XXXX 1XXXXXXXXXX
>(we use a seven digit authorization code sometimes in conjunction with
>caller-id to verify that this is a valid account, etc...) followed
>immediately by the 10 or 11 digit number you want to reach. The switch
>selects an outbound trunk, strips the MSD if necessary, and ships the dialed
>number digits.
>
>The problem I've encountered is that inbound disa calls don't return
>dialtone unless you enter something or until the unchangeable (John's word,
>not mine) timer values time out.
>
>John Todd has been most helpful, and his brief communications have been
>incredible insights into how Asterisk works, he recently sent the following:
>
>**** John's stuff starts here
>
>"app_disa will give answer and give you dial tone, wait for an
>authentication code, then dump you into a context where you can make your
>outgoing calls.  Unfortunately, it needs a "#" at the end of the
>authentication code.
>
>A quick glance at the code suggests that it could be changed to expect a
>fixed 7 digit access code.
>
>It would be easy enough just to cut the first seven digits off the number
>and run it through a comparison pass, and not use the authentication
>routines at all.
>;
>; for North American numbers...
>;
>[main1]
>;
>; Take any number, and give it to the DISA.  The DISA
>;  just then takes anything typed in within the (unchangeable)
>;  timer values, and hands it off to main2 to be post-processed.
>; I include the standard i,h,t values for pedantic reasons.
>;
>exten => _X.,1,DISA(no-password,main2)
>exten => _X.,2,Hangup
>;
>exten => h,1,Hangup
>exten => i,1,Congestion
>exten => i,2,Hangup
>exten => t,1,Congestion
>exten => t,2,Hangup
>;
>;
>[main2]
>;
>; Now, set the AUTHCODE to be the first seven digits of EXTEN
>;
>exten => _XXXXXXX1XXXXXXXXXX,1,SetVar(AUTHCODE=${EXTEN:0:7})
>;
>; ...and then forward this call out to a new context and extension,
>;  where the new extension is the 7th through 17th digit of the old EXTEN,
>;  which should translate into 1-123-456-7890 or whatever it was that
>;  the user entered as the desired destination phone number.
>;
>exten => _XXXXXXX1XXXXXXXXXX,2,Goto(main-dial-routine,${EXTEN:7:17},1)
>;
>exten => h,1,Hangup
>exten => i,1,Congestion
>exten => i,2,Hangup
>exten => t,1,Congestion
>exten => t,2,Hangup
>;
>; end of example
>
>This would end up (if the user entered the appropriate 7 digits and
>1-npa-xxx-yyyy phone number) with passing the authentication code to
>the main-dial-routine contained in ${AUTHCODE} and the ${EXTEN} set
>to the number dialed.
>
>You could also use the "Cut" application to perform a similar purpose
>to my example using substring identifiers, if you wanted to put a
>pound or star (or for those telephonically exotic among you, the
>A/B/C/D) key separator in between the passcode digits and the phone
>number.
>
>JT
>********
>
>The upshot of my attempts was that, unless something is entered, dialtone
>takes 5 seconds.
>
>The same effect is apparent whether dialing inbound via the 10 digit did, or
>when selecting a line from the Norstar
>attached to the Digium T410P. If I dial in, the asterisk won't provide
>dialtone unless I enter something. The same
>is true when I select a line and go off hook on the Norstar. However; once
>I've exceeded the time out and gotten dialtone, I can pretty much
>dial the calls I want, and I've setup several routing patterns (dialplans)
>that just let me enter the digits I want and route the calls. Once I get
>dialtone
>it's not too difficult to get the Asterisk system to route calls.
>
>The necessity of answering and returning dialtone immediately  is predicated
>primarily on the large number of customers we have who
>access our systems using automatic dialers (the dialer captures digits,
>calls our switch, waits for dialtone, and sends the 7 digit authcode
>followed by the called number digits), PBX's using Automatic Route Selection
>(works essentially the same
>as the dialers, think "digit insertion") and our own remote central office
>switches (which are a mix of digital and anlog switching).  Essentially, a
>lot
>of the gear that we communicate with, doesn't know to proceed to the next
>step of it's programming until it detects or 'dialtone' other event
>coming from the switch.  Indeed, a lot of CLEC stuff I'm familiar with works
>the same way, it would be pretty simple to convert many of the
>available calling card applications to Asterisk if I could just clear this
>hurdle.
>
>Surprisingly, one of the local "political committee's" contacted me recently
>looking for an application almost exactly like the one I've been working on.
>I said I'd get back to him before the campaign's for his side got started.
>
>Heck, even my 20 year old SL1 allows me to dial in, answers with dialtone,
>and processes the digits.
>
>----- Original Message -----
>From: "Andrew Kohlsmith" <akohlsmith-asterisk at benshaw.com>
>To: <asterisk-dev at lists.digium.com>
>Sent: Thursday, February 05, 2004 5:42 PM
>Subject: Re: [Asterisk-Dev] DISA
>
>
>>  > I've reviewed, massaged, monkeyed with app_disa.c, and while it is a
>well
>>  > done and serviceable application, it lacks the flexibility necessary to
>>  > adequately address real world uses.
>>
>>  It lacks this functionality?
>>
>>  You can't use the DISA applcation and then dial anything you want in your
>>  dialplan?
>>
>>  > Anyway, before I trash the project entirely and sell the equipment, I
>>  > wanted to make sure that I really inderstood that Asterisk isn't (at
>>  > present) capable of  volume call switching in a DISA application.
>>
>>  What was the dialplan you were using?  It seems to do what I expected it
>to
>>  do.
>>
>>  Regards,
>>  Andrew
>>  _______________________________________________
>>  Asterisk-Dev mailing list
>>  Asterisk-Dev at lists.digium.com
>>  http://lists.digium.com/mailman/listinfo/asterisk-dev
>>  To UNSUBSCRIBE or update options visit:
>>     http://lists.digium.com/mailman/listinfo/asterisk-dev
>>
>
>
>_______________________________________________
>Asterisk-Dev mailing list
>Asterisk-Dev at lists.digium.com
>http://lists.digium.com/mailman/listinfo/asterisk-dev
>To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev




More information about the asterisk-users mailing list