[HELP ME] One way voice

OK, I still have troubles to connect a outside extension. I really appreciate your help.

My Asterisk box connected behind a router (DLINK DI604). It has x100p card installed. Also I have installed 2 X-lite soft phone on two XP PC which also on the same subnet. The two softphone can make calls without any problem. I also asked my friend installed X-lite on his PC. He lives in different city so he got a different public IP address. I setup his SIP account as an internal extension. From CLI I can see him registered with my Asterisk succefully. But when I dial his extension, he can always hear my voice, but I can not hear him. :blush:

My questions here are:

  1. Do I need do some setting on my router? Does my friend also need to open up some ports on his router?

  2. I attach part of conf file here, please take a look see if there is any error. Thanks!

extensions.conf

[internal]
include => outbound-local
include => outbound-toll-free
exten => 101, 1,Dial(SIP/jian,20,r)
exten => 101,2,VoiceMail(u101@default)
exten => 101,102,VoiceMail(b101@default)
exten => 102, 1,Dial(SIP/may,20,r)
exten => 102, 2,VoiceMail(u102@default)
exten => 102, 102, VoiceMail(b102@default)
exten => 801,1,Dial(SIP/john,20,r) [color=blue] ;801 john is my friend’s extension[/color]
exten => 801,2,VoiceMail(u801@default)
exten => 801,102,VoiceMail(b801@default)

exten => 500,1,VoiceMailMain()

sip.conf

[general]
context=default ; Default context for incoming calls
srvlookup=yes ; Enable DNS SRV lookups on outbound calls

[jian]
type=friend
secret=ggg
quality=yes
nat=yes
host=dynamic
canreinvite=no
context=internal
mailbox=101@default

[may]
type=friend
secret=ttt
quality=yes
nat=yes
host=dynamic
canreinvite=no
context=internal
mailbox=102@default

[john]
type=friend
secret=hhh
quality=yes
nat=yes
host=dynamic
canreinvite=no
context=internal
mailbox=801@default