I have a TDM card with two land lines connected to it. When a call comes in, the correct caller id name and number display on the phones. But, when you answer the phone, the caller id changes to the last number you dialed out on that phone. I have a lot of Aastra 9133i phones. They all do it and I can not find out why. Is it the phone config or something in Asterisk? I can not track it down so far.
Download a soft phone and see what happens. This will tell you if it is a phone issue or not. If it is not a phone issue please let us know and we will try to help you. (I have never dealt with such an issue before so this would be my first guess. If it is not the issue then you need to look in to your dial plan).