Passing Caller ID through a trunk


I’m relatively new to sip/asterisk so bear with me if I’m making some wholly wrong assumptions here.

Firstly, let me outline my scenario.

My company has a Frontrange IPCM sitting on a corporate LAN.
Our customer has a Axon something-or-other sitting on the internet.
I have been tasked with getting calls to trunk between the two.

Management don’t want to punch a hole through their firewall to the IPCM and nor do they want to expose an interface to the 'net.

So, I have built an asterisk server with interfaces on both the private and public segments, and configured it to allow the outside customer to trunk in to asterisk which in turn trunks out to the IPCM. All calls coming up the trunk are passed through to the other end.

After much learning and experimentation I got everything working fine and dandy.

The one thing that I have yet to resolve is the caller ID situation. The final destination of the calls is a call centre, and they would like the caller ID to provide the details of the call originator (the sip phone that initiated the call)

As things stand, the IPCM just receives the word “asterisk” as the caller ID for any calls that come through.

I have set up a test network and trunked calls between various asterisk boxes and the caller ID that shows on the destination is the user ID of the inbound trunk and not the phone that dialled the number.

So, my question is, what am I missing? I assume it is possible to pass the originating ID through the trunk but Ican’t for the life of me figure out how to do it.

I’ve been googling the 'net and this site terms such as “asterisk caller ID” but most discussions revolve around the issues relating to usibng caller ID’s with commercial voip providers and don’t really apply to my situation.

Any help will be greatly appreciated.

Conf files can be provided if required.

Thanks in advance!