I have a very easy configuration: adsl > router > SPA122 > phone.
I don't claim it easy. Assuming the "ADSL" is "ADSL with router" (most common case) and assuming both routers are doing NAT you have two routers with NAT on the path (not counting the SPA122 is router as well). It's definitely not easy configuration. Both NATs and/or SPA122 needs to be configured properly.
My problem is I don't receive call in but always I can phone out.
OK, you need to understand how the SIP works for incoming call. SPA122 sends REGISTER message to the VoIP provider. Such REGISTER message inform VoIP provider where incoming calls shall be send to (IP and port).
SPA122 knows nothing about two NATs on the path - it just claims own IP and a port as incomming call entry point. Unfortunately, this particular IP and port is unreachable from outer world - it's and private local address behind NAT.
NAT engine running on router could catch REGISTER message and replace IP:port address inside by an outer (reachable) pair of IP:port maintaining mapping between such (outer) IP:port pair and original (SPA122 requested) IP:port pair.
Contact your VoIP provider for support. Verify what IP:port address is registered on behalf of your phone. It must be outer IP address reachable for your VoIP provider. Also verify your firewall (either on ADSL router on an unspecified second router) doesn't block incoming calls.
Note that working REGISTER is not required for outer calls.