Voice mail problem

Hi ALL
my voice mail is not working properly.I have done some setting on config file but problem persist.
Firstly call is happening from 2000 to 4000 but from 4000 to 2000 its not happening & whenever iam opening my Xlite on linux system on the asterisk console iam getting

Registered SIP '2000' at 192.168.1.46 port 5062 expires 1800 [Jun 27 14:34:34] NOTICE[6853]: chan_sip.c:12599 handle_response_peerpoke: Peer '2000' is now Reachable. (3ms / 2000ms)
Is this any problem

My sip.conf

[code][general]
bindaddr = 0.0.0.0

[2000]
type=friend
host=dynamic
qualify=yes
allow=all
nat=never
secret = password
mailbox=2000@default
canreinvite=no
context=incoming

[4000]
type=friend
host=dynamic
qualify=yes
allow=all
nat=never
secret = password
mailbox=4000@default
canreinvite=no
context=incoming
[/code]

Extension.conf

[code][incoming]
exten => 2000,1,Dial(SIP/20000,10,Ttm)
exten => 2000,2,Hangup
exten => 2000,102,Voicemail(2000)
exten => 2000,103,Hangup

exten => 4000,1,Dial(SIP/4000,10,Ttm)
exten => 4000,2,Hangup
exten => 4000,102,Voicemail(4000)
exten => 4000,103,Hangup

exten => 3000,1,VoicemailMain[/code]

voicemail.conf

[default] 2000 => password,xtka,leena@gmail.com 4000 => password,Phani,sd_29@rediffmail.com

Any more information kindly let me know

You may want to switch

[incoming]
exten => 2000,1,Dial(SIP/20000,10,Ttm)
exten => 2000,2,Hangup
exten => 2000,102,Voicemail(2000)
exten => 2000,103,Hangup

exten => 4000,1,Dial(SIP/4000,10,Ttm)
exten => 4000,2,Hangup
exten => 4000,102,Voicemail(4000)
exten => 4000,103,Hangup

exten => 3000,1,VoicemailMain

to:

[incoming]
exten => 2000,1,Dial(SIP/20000,10,Ttm)
exten => 2000,2,Voicemail(2000)
exten => 2000,3,Hangup
exten => 2000,102,Voicemail(2000)
exten => 2000,103,Hangup

exten => 4000,1,Dial(SIP/4000,10,Ttm)
exten => 4000,2,Voicemail(4000)
exten => 4000,3,Hangup
exten => 4000,102,Voicemail(4000)
exten => 4000,103,Hangup

exten => 3000,1,VoicemailMain

Based on your configuration you are telling asterisk to ring that phone for 10 seconds and then go to priority 2 which tells the system to hang up the call. With my changes if the phone does not answer in 10 seconds it will go to VM. Your configuration only sends the call to VM if the phone is busy or not connected to the system.