Registration problem

I have set up an Asterisk server on my LAN and want to connect to our IAX service provider. (My environment is: asterisk 1.8.10.1, centos 5 with kernel 2.6.18-308.1.1.el5PAE and my firewall have opened udp 4569 for IAX2) however, when I type “iax2 show registry” at console, it shows unregistred. when I turn on debug on and I got these:

Tx-Frame Retry[003] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00004ms SCall: 02549 DCall: 00000 [209.217.98.158:4569]
USERNAME : 4161
REFRESH : 60

Tx-Frame Retry[000] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE
Timestamp: 00016ms SCall: 00572 DCall: 00000 [209.217.98.158:4569]

Tx-Frame Retry[001] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE
Timestamp: 00016ms SCall: 00572 DCall: 00000 [209.217.98.158:4569]

Tx-Frame Retry[000] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00007ms SCall: 02376 DCall: 00000 [209.217.98.158:4569]
USERNAME : 4164790461
REFRESH: 60

Tx-Frame Retry[001] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00007ms SCall: 02376 DCall: 00000 [209.217.98.158:4569]
USERNAME : 4161
REFRESH : 60
So, could any one can help me? Also the following are my configurations and diaplan.

Context of Iax.conf:

[color=#000000][[/color]general]
iaxcompat=yes
nochecksums=no
delayreject=yes
language=en
bandwidth=high

disallow=all
allow=ulaw

jitterbuffer=yes
forcejitterbuffer=yes
maxjitterbuffer=1000
maxjitterinterps=10
resyncthreshold=1000

trunktimestamps=yes
minregexpire = 120
maxregexpire = 300

iaxthreadcount = 256
iaxmaxthreadcount = 256
register => username:password@iaxserver

[4161]
type=user
context=4161-in

[outsideserver]
type=peer
username=username
secret=password

Context of extensions.conf:

[general]
static=yes
writeprotect=no
clearglobalvars=no

[globals]

[default]

exten => _X.,1,Hangup(3)

[sipdefault]

exten => _X.,1,Hangup(3)

[4161-in]
exten => 4161,1,Dial(SIP/820,30)
exten => 4161,n,Goto(in4161-${DIALSTATUS},1)
exten => 4161,n,Hangup
exten => in4161-BUSY,1,Hangup(17)
exten => in4161-CONGESTION,1,Hangup(3)
exten => in4161-CHANUNAVAIL,1,Hangup(3)
exten => in4161-NOANSWER,1,Hangup(16)
exten => _in4161-.,1,Hangup(16)

[internal]

exten => _NXXNXXXXXX,1,SetCallerPres(allowed)
exten => _NXXNXXXXXX,n,Set(CALLERID(all)=soil <4164790461>)
exten => _NXXNXXXXXX,n,Dial(IAX2/username:password@iaxserver/

${EXTEN},60)
exten => _NXXNXXXXXX,n,Goto(out1-${DIALSTATUS},1)
exten => _NXXNXXXXXX,n,Hangup
exten => out1-BUSY,1,Hangup(17)
exten => out1-CONGESTION,1,Hangup(3)
exten => out1-CHANUNAVAIL,1,Hangup(3)
exten => out1-NOANSWER,1,Hangup(16)
exten => _out1-.,1,Hangup(16)

[sip]
exten => 820,1,dial(sip/820)
exten => 821,1,dial(sip/821)