Caller ID across bridge

I’m having an issue with the reported caller id off of a native bride. Under certain conditions, call are automatically routed to different endpoints. Normal call flow would be:

*asterisk accepts inbound call on PRI
*asterisk opens new PRI channel and bridges the two.

Normally, the inbound CLI is sent to the endpoint which is the desired behavior but one of the endpoints is a toll free number and they are reporting the CLI they are receiving is one on the DID’s on the trunk. I know how to send the correct CLI, however I don’t understand why caller id sending isn’t consistent. Can anyone shed some light on why this is occurring? Does it have anything to with a toll free number being involved?

Here is the bridging command…as simple as it gets:

[quote]exten => 1641,1,Set(CDR(userfield)=Identifier)
exten => 1641,2,Dial(Zap/G0/1877XXXXXXX)
exten => 1641,3,Hangup[/quote]