Registering a softphone with Asterisk on a local network

Soft Phone X Lite on Asterisk box ext 6001

Phone registered successfully.
Outgoing call from softphone: I could reach an internal extension => a physical phone. The softphone wouldn’t accept incoming calls.

Softphone installed on an XP machine on same network ext 6002

The softphone does not register from another machine on the same internal network? Why?
On the soft phone (X-Lite) running on Win XP I get an error message:
Registration error 408 - Request Timeout
The soft phone never gets registered. Can any one help?

CLI Mode: sip reload

Output:
[Apr 24 03:07:29] NOTICE[11714] : chan_sip.c:16637 reload_config: Can’t add wildcard IP address to domain list, please add IP address to domain manually.

HELP

Tony

X-Lite Soft Phone Settings 6001

Display name Welby
Username 6001
Password welcomme
Authorization User Name 6001
Domain/Realm 172.16.0.14
SIP Proxy 172.16.0.14:5060

X-Lite Soft Phone Settings 6002

Display name Robert
Username 6002
Password welcomme
Authorization User Name 6002
Domain/Realm 172.16.0.14
SIP Proxy 172.16.0.14:5060

sip.conf

realm=mydomain.com
bindport=5060
domain=mydomain.com
externip = 192.abc.r.xxx
externhost=asteriskdev.mydomain.com
localnet=172.16.0.0/255.255.0.0; All RFC 1918 addresses are local networks
autodomain=yes

; Welby’s phone
[6001]
type=friend
secret=welcome
qualify=yes ; Qualify peer is no more than 2000ms away
nat=no ; This phone is not natted
host=dynamic ; This device registers with us
canreinvite=no ; Asterisk by default tries to redirect
context=internal ; The internal context controls what we do
mailbox=6001
username=6001

; Robert’s phone
[6002]
type=friend
secret=welcome
qualify=yes ; Qualify peer is no more than 2000ms away
nat=no ; This phone is not natted
host=dynamic ; This device registers with us
canreinvite=no ; Asterisk by default tries to redirect
context=internal ; The internal context controls what we do
mailbox=6002
username=6002

extensions.conf

[globals]
WELBY=SIP/asteriskdev.mydomain.com/6001
ROBERT=SIP/asteriskdev.mydomain.com/6002

[incoming]
exten => s,1,Answer( )
exten => s,2,Background(smartcore/pbx_script_1_8k_16bit_mono_silence)
exten => s,3,Background(smartcore/pbx_script_2_8k_16bit_mono)
exten => s,4,Background(smartcore/pbx_script_3_8k_16bit_mono)

exten => 1,1,Macro(voicemail,${INBOUNDTRUNK1})
exten => 10,1,Macro(voicemail,${INBOUNDTRUNK1})
exten => 20,1,Macro(voicemail,${INBOUNDTRUNK2})
exten => 30,1,Macro(voicemail,${INBOUNDTRUNK3})

exten => 6001,1,Dial(${WELBY},25,m)
exten => 6001,2,Playback(vm-nobodyavail)
exten => 6001,3,Hangup()
exten => 6002,1,Dial(${ROBERT},25,m)
exten => 6002,2,Playback(vm-nobodyavail)
exten => 6002,3,Hangup()

exten => i,1,Playback(pbx-invalid)
exten => i,2,Goto(incoming,s,1)
exten => t,1,Playback(smartcore/pbx_script_4_8k_16bit_mono) ; Thanks/Goodbye
exten => t,2,Hangup()

[macro-voicemail]
exten => s,1,Dial(${ARG1},20,r)
exten => s,2,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Voicemail(u${MACRO_EXTEN}@default)
exten => s-NOANSWER,2,Goto(incoming,s,1)
exten => s-BUSY,102,Voicemail(b${MACRO_EXTEN}@default)
exten => s-BUSY,103,Goto(incoming,s,1)
exten => _s-.,1,Goto(s-NOANSWER,1)

[internal]
include => outbound-local
include => outbound-long-distance
include => outbound-international
include => macro-voicemail
include => directory-list

exten => 10,1,Dial(${INBOUNDTRUNK1},r)
exten => 20,1,Dial(${INBOUNDTRUNK2},r)
exten => 30,1,Dial(${INBOUNDTRUNK3},r)

exten => 6001,1,Dial(${WELBY},15,m)
exten => 6002,1,Dial(${ROBERT},15,m)

exten => 122,1,Echo()

;Access Voicemail
exten => 500,1,VoiceMailMain()
;Record new voice files
exten => 500,2,Wait(2)
exten => 500,n,Record(/tmp/asterisk-recording:gsm)
exten => 500,n,Wait(2)
exten => 500,n,Playback(/tmp/asterisk-recording)
exten => 500,n,Wait(2)
exten => 500,n,Hangup

Linux distro? Watch out for host firewall, especially if you use anything from RedHat.