Sip friends call - no sound

I have installed Asterisk. Which is hosted in a datacentre with public IP and no firewall

Operating System: Fedora Core 6
No Firewall with Public IP address
Asterisk Version: 1.4.16.2

I am facing some problem now while calling between two sip friends. If the SIP friends/clients are connected from the same network it can work well. But if SIP client is connected from different network it is possible to have one way call that means only one user is able to hear other person’s voice. And sometime both the person cannot hear each other or talk to each other. can anyone please advice why i am getting this problem and how to fix it

For example:

Network 1 with Public IP: 203.120.99.11

SIP / X lite client 1 (Private IP address: 10.0.1.1)
SIP / X Client 2 (Private IP 10.0.1.2)

Network 2 with Public IP: 200.110.111.121

SIP / X lite client 1 (Private IP address: 192.168.11.101)
SIP / X Client 2 (Private IP 192.168.11.102)

X Lite Client 1 and X Lite Client2 can make calls each other and both the persons can hear each other and speak to each other

X lite Client 1 can Call X lite client 2 but only one person can hear the voice and sometime both the person cannot hear each other or talk to each other

Dial plan configuration

[myfriends]

; sip friends call
exten => _99.,1,Dial(SIP/${EXTEN:3},60,r)
exten => _99.,n,Hangup

SIP. conf

[123456]
type=friend
username=0835796450
callerid=1000
secret=12345
nat=yes
dtmfmode=RFC2833
qualify=yes
canreinvite=yes
disallow=all
allow=ulaw
allow=alaw
allow=gsm
allow=g729
host=dynamic
context=myfriends
regseconds=0
cancallforward=yes

Can anyone help me in advising how to fix this issue

Hi…

Try with Qualify = route
may be you’ll get sounds played by Playback or Background

Looks like you’re having NAT issues with the RTP ports.

You may have to forward the ports in the router doing the NAT to allow RTP traffic in.