[asterisk-dev] CALLERID(name) being overwritten beneath dialplan

Tilghman Lesher tlesher at digium.com
Tue Apr 6 11:13:08 CDT 2010


On Tuesday 06 April 2010 10:54:46 Joshua Elson wrote:
> I'm hoping someone on dev sees this and may have a quick answer for me.  I
> am having a problem with the CALLERID(name) function's data being
> overwritten from *some* location that's outside the dialplan.  I can
> reproduce this 100% of the time with some carriers for certain CallerIDs on
> Asterisk 1.4.29 and Asterisk 1.6.1.18.
>
> Inbound call coming across T1, dialplan and I run
> Set(CALLERID(name)="Campaign Code"). Route sends call to IVR, user pushs
> zero and is sent to a queue. By the time the call hits the queue, the
> caller id name has been overwritten. This ONLY happens for some inbound
> caller IDs (around 5% or so). The DIDs for which this happens appear to be
> being set from the T1 CNAM service from the carrier, as the data appears to
> be coming from the carrier, as it is typically all uppercase "CITY STATE"
> data (for instance "MACON       GA").
>
> So for instance, when I hit the dialplan, I set:
>
>     -- Executing [8775551212 at from-pstn:9] Set("DAHDI/4-1",
> "CALLERID(name)=@ASDF CAMPAIGN 478972XXXX") in new stack
>
> When it passes to the IVR, everything is fine, but when it hits the queue,
> I am left with:
>
>     -- Executing [s at macro-user-callerid:5] NoOp("DAHDI/40-1", "Callerid
> name: MACON       GA") in new stack
>
> The issue is that no dialplan / agi code in between is changing the value
> of CALLERID(name).  It appears to be coming from the Carrier CNAM, as it is
> always 14 characters, with spaces (forum removes them) between the city and
> the state, all uppercase.
>
> Can anyone point me to how this may be happening?

On a PRI circuit, the CallerID name is frequently passed in a packet separate
from the CALL SETUP packet.  You can wait until it appears (usually no more
than 2 seconds after the SETUP).

> Is there a way to simply 
> block passing any of the CNAM information from my carrier!

usecallerid=no in chan_dahdi.conf (or zapata.conf) should make the circuit
ignore that information.  Of course, you'll also lose the CallerID number by
doing that.

-- 
Tilghman Lesher
Digium, Inc. | Senior Software Developer
twitter: Corydon76 | IRC: Corydon76-dig (Freenode)
Check us out at: www.digium.com & www.asterisk.org



More information about the asterisk-dev mailing list