[asterisk-users] Seemingly easy question: NPA/NXX

Karl Fife asterisk-users at kfife.mailworks.org
Sun Sep 21 23:56:36 CDT 2008


Question: 
How does the local Telco know you're done dialing a seven digit number? 
Easy you may say:  If your dial string begins with 1, the parser expects
11 digits total, otherwise seven, 011 is international.

The reason suspect it's more complex is that: 
1) International numbers can vary widely in length and 
2) Our local analog Telco will route a ten digit NANP numbers with no
leading 1 and with no terminator--seemingly instantly

Obviously this could be done with 'timeouts'--implicitly 'sending'
after a delay.  But it works so well I suspect there's more logic in
there.   For example I have dozens of ATA's provisioned with timeouts,
and I find it difficult or impossible to replicate the Telco dialing
experience (Either the delay is too long, or you have frequent 'reorder'
tones because it 'sent' before you were finished).

Therefore I assume that there is something more 'fancy' going on.  Can
someone validate, debunk or clarify this?

Theory 1
Is it all done with timeouts, but they're CONDITIONAL timeouts.
i.e. give a LONG timeout if the number:
-did not start with a 1 and is still shorter than 7 digits, 
-started with a 1 and is still shorter than 11 digits
-started with a 011 and is shorter than the theoretical international
minimum lenght

Theory 2
As you know, a few years ago the 2nd digit of the NPA was always 1 or 0.
 Therefore the switch could easily determine(without the leading 1) if
your first three digits were an NPA or just an NXX (exchange).  They
were nationally unambiguous.   Now that's no longer true.  STILL, it 
could be possibleto consider all known valid NPA's and exchanges so they
can determine via context what you're trying to do, and thereby optimize
the dialing experience?  

Can anyone speak to this?  I would very much appreciate any knowledgable
input.

-Karl



More information about the asterisk-users mailing list