Problem with IP address in Asterisk

When Asterisk invites ta destined SIP endpoint, does it always replace “From” IP address in the SIP header with its IP address?

 Because when I use SJphone, it detects that someone with the IP address of the asterisk server is calling instead of the caller IP address. 

 For example, A ( calls B ( When B receives a call, it detects that A@[asterisk-server-ip] is calling instead of A@

 Is there a way to fix this problem? or this is a normal behavior of Asterisk server???