How to call from one sofphone to another softphone?

I have Asterisk installed in Linux Fedora Core 8 (and this Lenux OS was installed in VMware). I config a complete Asterisk system according to the guide from the book Building Telephony System with Asterisk (I will list all the confiugration file below)
Now, I have several softphones installed in my real OS (Windows XP), I want to test the Asterisk system, I config 3 softphones with the username and password (101, 102, 111) as I define in SIP.CONF.
The X-Lite softphone I assigned 101. It show that Registered.
The ZoiPer softphone I assigned 102. It show that Registered.
The Idefisk softphone I assigned 111. It show that Registering, then timeout. Although i have filled all account information as the two above

Now, I use the X-lite softphone to call to the Zoiper softphone (101 call to 102) but I receive the voice "the person your are calling is unavailable…"
I have two question:

  • How to config the Asterisk to successfully call from X-Lite softphone to ZoiPer softphone?
  • Why the Idefisk softphone can’t registered as the X-Lite and ZoiPer?
    Thank you very much!

Here is the Asterisk System configuration:

The Scenario
ACMEsoft is a software engineering firm with 40 employees. According to recent usage studies by their telephone company, they usually use about 18 lines, with their peak last month at 22 lines. They have a number of hosted extensions from the local telephone company (often referred to as Centrex service), which they have been using for years. As their five-year contract with the telephone company is up for renewal, they wish to replace the expensive hosted service with an in-house solution.
They will be contracting with us to provide the deployment, ongoing support, and maintenance of their new phone system.
ACMEsoft employs four first-tier support engineers, two second-tier support personnel, and one third-tier support specialist. Each member of each tier has similar talents and can handle the same calls.
They employ a receptionist, an operator, and an administrative assistant. There are 20 programmers, five testers, four project managers, and one person in the shipping department.


agents.conf
[agents]
ackcall=yes
wrapuptime=0
musiconhold => default
updatecdr=yes
;Tier 1
group=1
agent => 1111,0596,John Smith
agent => 1209,0522,William Krandal
agent => 0186,1129,Lindsey Cramer
agent => 0416,0106,Stephanie Lewis
;Tier 2
group=2
agent => 2345234,3489,Likes Longnum
agent => 5692,4989,Smitty Rodriguez
;Tier 3
group=3
agent => 1,1,Forgets Ownname
;Operator
group=4
agent =>0,1234,Operator Console


queues.conf
[general]
[default]
;
;Tier 1 Support Queue
[Q110]
music=default
strategy=leastrecent
maxlen=0
context=default
member => Agent/@1
;
;Tier 2 Support Queue
[Q120]
music=default
strategy=ringall
maxlen=0
context=default
member => Agent/@2
;
;Tier 3
[Q130]
music=default
strategy=leastrecent
maxlen=0
context=default
member => Agent/@3
;
;Operator Queue
[Q100]
music=default
strategy=ringall
maxlen=0
context=default
member => Agent/@4


sip.conf
[general]
context=default
port=5060
bindaddr=0.0.0.0
disallow=all
allow=ulaw
[101]
type=friend
context=local
callerid=ACMEsoft Operator<555-555-1234>
host=dynamic
secret=mypass101
dtmfmode=inband
mailbox=101
[102]
type=friend
context=longdistance
callerid=Sharon Stone<555-555-1235>
host=dynamic
secret=mypass102
dtmfmode=inband
mailbox=102
[111]
type=friend
context=default
callerid=John Smith<111>
host=dynamic
secret=mypass111
dtmfmode=inband
mailbox=111


meetme.conf
[rooms]
conf => 850
conf => 851
conf => 852
conf => 853
conf => 854
conf => 855
conf => 856
conf => 857
conf => 858
conf => 859


voicemail.conf
[general]
format=wav49|gsm|wav
serveremail=asterisk@mydomain.com
attach=yes
maxmessage=180
minmessage=3
maxgreet=60
skipms=3000
maxsilence=10
silencethreshold=128
maxlogins=1
fromstring=The Greatest PBX IN THE WORLD!!!
[zonemessages]
eastern=America/New_York|‘vm-received’ Q ‘digits/at’ IMp
central=America/Chicago|‘vm-received’ Q ‘digits/at’ Imp
[default]
100 => 100,Operator Queue Mailbox,tz=central
101 => 123,Operators Mailbox,tz=central
102 => 674,Patty Smalley,tz=central
111 => 38594,John Smith,tz=eastern ;Support Department works by
; ETZ
112 => 65413,William Krandal,tz=eastern
113 => 654,Lindsey Cramer,tz=eastern
114 => 0106,Stephanie Lewis,tz=eastern


extensions.conf
[general]
static=yes
writeprotect=no
#include macros.incl
#include incoming.incl
#include outgoing.incl
#include default.incl
#include dialext.incl
[globals]
TRUNK=Zap/g1
TRUNKMSD=1


;macros.incl
;#included into extensions.conf
[macro-stdexten]
;
; Standard extension macro:
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as ; well)
; ${ARG2} - Device(s) to ring
;
exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds
; maximum
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status
exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to
; voicemail
exten => s-NOANSWER,2,Goto(default,0,1) ; If they press #, go to
; Operator
exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail
; with busy message
exten => s-BUSY,2,Goto(default,0,1) ; If they press #, go to
; Operator
exten => s-CHANUNAVAIL,1,Voicemail(u${ARG1})
exten => s-CHANUNAVAIL,2,Goto(default,0,1)
exten => s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no
; answer
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send to
; VoicemailMain
[macro-novm]
exten => s,1,Dial(${ARG1},30) ;ring the interface for 30 seconds
exten => s,2,Goto(default,s,1)
exten => s,102,Goto(default,s,1)


;incoming.incl
;#included from extensions.conf
[incoming]
exten => 5555551234,1,Goto(default,100,1) ;Main number rings to
; Operators
exten => 5555552345,1,Goto(default,110,1) ;Direct number to Support
exten => 5551110001,1,Goto(default,111,1) ;Direct line to
; Extension 111
exten => 5551110002,1,Goto(default,112,1) ;Direct line to
; Extension 112
exten => 5551110003,1,Goto(default,113,1) ;Direct line to
; Extension 113
. . .
exten => s,1,Goto(default,100,1);
exten => t,1,Goto(default,100,1);
exten => i,1,Goto(default,100,1);


; outgoing.incl
;#included from extensions.conf
[local]
ignorepat => 9
exten => _9NXXXXXX,1,Goto(trunkdial,${EXTEN},1)
exten => _91800XXXXXXX,1,Goto(trunkdial,${EXTEN},1)
exten => _91866XXXXXXX,1,Goto(trunkdial,${EXTEN},1)
exten => _91877XXXXXXX,1,Goto(trunkdial,${EXTEN},1)
exten => _91888XXXXXXX,1,Goto(trunkdial,${EXTEN},1)
include => default
[longdistance]
ignorepad => 9
exten => _91NXXNXXXXXX,1,Goto(trunkdial,${EXTEN},1)
include => local
[trunkdial]
exten => _9.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _9.,2,Congestion(5)
exten => _9.,3,Hangup


;default.incl
;#included in extensions.conf
[default]
exten => s,1,Goto(default,100,1)
exten => t,1,Goto(default,100,1)
exten => i,1,Goto(default,100,1)
; Operator queue, Operator Console, and Receptionist Phone
exten => 100,1,Answer
exten => 100,2,Queue(Q100||||240) ; only allow 4 minutes in queue
exten => 100,3,Voicemail(u100) ; then send to VM
exten => _10[12],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
;Support Tier 1
exten => 110,1,Answer
exten => 110,2,Queue(Q110||||240) ; allow 4 minutes in queue
exten => 110,3,Goto(default,100,1) ; then send to Operator
exten => _11[1-4],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
;Support Tier 2
exten => 120,1,Answer
exten => 120,2,Queue(Q120||||240) ; allow 4 minutes in queue
exten => 120,3,Goto(default,100,1) ; then send to Operator
exten => _12[12],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
;Support Tier 3
exten => 130,1,Answer
exten => 130,2,Queue(Q130||||240) ; allow 4 minutes in queue
exten => 130,3,Goto(default,100,1) ; then send to Operator
exten => 131,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
;Programmers, extensions 200-219
exten => _2[01]X,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
;Testers, extensions 251-255
exten => _25[1-5],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
;Project Managers, exts 301-304
exten => _30[1-4],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
;Shipping Department, ext 191, doesn’t need voicemail
exten => 191,1,Macro(novm,SIP/${EXTEN})
exten => 800,1,Answer
exten => 800,2,VoicemailMain
exten => _85X,1,Answer
exten => _85X,2,MeetMe(${EXTEN})
exten => 888,1,Goto(dialext,s,1)


;dialext.incl
;#included from extensions.conf
[dialext]
include => default
exten => s,1,Answer
exten => s,2,DigitTimeout(5)
exten => s,3,ResponseTimeout(20)
exten => s,4,Background(pleaseenterextension) ; "Please enter the
; extension of the party you are calling."
exten => 9,1,Directory(default) ; press 9 for the directory
exten => 9,2,Goto(dialext,9,1)
exten => 0,1,Goto(default,100,1) ; send to operator as a
; courtesy if they press 0
exten => i,1,Playback(privacy-incorrect)
exten => i,2,Goto(dialext,s,1)
exten => t,1,Goto(dialext,i,1)