[Asterisk-Users] Caller Name: Asterisk reading too fast

Jeremy Gault jgault at winworld.cc
Fri Sep 16 08:29:16 MST 2005


As was already suggested, Wait() is your friend.

We had the same problem when our PRI was installed.  It was supposed to 
include Caller ID Name delivery, but it seemed to be hit-or-miss as to 
if it would work.

This is what I found: When people call our auto-attendant and dial an 
extension, the name would work fine.  However, if they dialed one of our 
DIDs (each extension has its own DID) then the name did not work.

Inserting a Wait() command on the DIDs for extensions seemed to do the 
trick, like this:

exten => 423303xxxx,1,Wait(0.75)
exten => 423303xxxx,2,Dial(SIP/xxx)

Here's my take on what happened: A call comes in to the auto-attendant, 
which immediately answers and begins the greeting.  Shortly after, the 
telco sends the name down the PRI, and Asterisk associates it to that 
call.  Then the caller punches in the extension and it goes through with 
name.  (Keep in mind it only takes a fraction of a second for the name 
to show up on the PRI, so by the time a normal human realizes the 
auto-attendant has answered and dials an extension, plenty of time has 
passed for the name to come in.)

However, the DIDs were spwaning Dial() *immediately* when the call came 
in.  Of course, at that point the name was not present yet.  (The telco 
was still doing the lookup.)  But, Dial() has to send CID immediately 
when invoked, so it sent the number twice.  Adding the 0.75 second delay 
gave time for the name to arrive before spawning Dial().

I've found 0.75 to be a fairly reliable delay.  It misses a name here or 
there, but not often enough to be a problem.  Most callers won't really 
notice the delay.  If I increased this to one full second, it would be 
more noticeable but would probably fix the few ones we miss.  You may 
have to play with this value to find the optimum setting for your setup.

Another test you should be able to do: Have a call come in (when it 
shows only the number twice) and answer it.  Then login to the Asterisk 
console, do "show channels" and find out which Zap channel it's on.  Do 
a "show channel Zap/whatever" (whichever channel it is) and see if the 
name has shown up.  IIRC, before I added the Wait, the "show channel" 
would still see the name, even though the phone didn't.

Good luck!

          Jeremy



J Thomas wrote:

>I asked my telco to release caller name on the PRI. Earlier they were
>releasing only the phone number. 
>
>I still did not see the name, but only the number in caller id. Actually
>I now see number twice. When I inquired with them this is the response I
>got:
>
>      "I ran a trace on your TG.  I see that your switch is
>	picking up the call so fast that it is not able to pick
>	up the name. The name is being sent, but I suspect after
>	it is too late.  This is something that will need to be
>	corrected in your switch. 
>
>	I have attached a sample call out of the trace I performed
>	this morning."
>
>They have sent me the trace file.
>
>Is there a way as it is in Asterisk so that it reads the caller name
>properly?
>
>Thanks,
>-- jt
>
>_______________________________________________
>--Bandwidth and Colocation sponsored by Easynews.com --
>
>Asterisk-Users mailing list
>Asterisk-Users at lists.digium.com
>http://lists.digium.com/mailman/listinfo/asterisk-users
>To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users
>  
>

-- 
Jeremy Gault, KD4NED    <jgault at winworld.cc>
Network Administrator, WinWorld Corporation
Member: Bradley County ACS/RACES/SkyWarn
voice: +1.423.473.8084  fax: +1.423.472.9465
fwd: 461771             msn msgr: jgault at winworld.cc




More information about the asterisk-users mailing list