Nat traversal problem in asterisk?

I have an IP phone in WAN segment and it is registered to my asterisk sip server(pjsip) succesfully which is located to another Wan ip side and located to under the router.
Ip phone is registering without any problem. But when i try to call this ip phone via zoiper(zoiper is same segment with asterisk) so ip phone is ringing but when i hook off ip phone i cant hear any voice. When i hook on ip phone so zoiper softphone hang ups. What is the name of my problem? How can i solve this problem?

The name of your problem is NAT traversal just as you said.

You have to be routed through the two segments, not translated (conventionally known as NAT). If you are routed then the SIP stack must have a way of identifying that NAT correction is not needed for that subnet.

in chan_sip the data structure is called chan_sip.localnet (or localnet in Sip General Settings) I do not know PJSIP so I can’t speak directly to how to make it aware of attached network segments.