SIP and Extentions configurations: sometimes they work

When calling from another sip device, everything is fine; but when testing with Google Voice, sometimes i can connect and hear MYSELF and the PLAY messages, but not the HOLD music; and further more, that is only IF it will even connect, as most of the time it won’t.

Here is what is says when i try to call:
Calling with SIP:

  == Using SIP RTP CoS mark 5
    -- Called 666
    -- Started music on hold, class 'default', on SIP/666-0214d760
    -- SIP/666-02155a90 is ringing
    -- Stopped music on hold on SIP/666-0214d760
  == Spawn extension (office, 666, 3) exited non-zero on 'SIP/666-0214d760'

Calling with NORMAL Phone, forwarded via Google Voice -> Gizmo ->Me:

  == Using SIP RTP CoS mark 5
    -- Executing [666@office:1] Answer("SIP/198.65.166.147-0214d760", "") in new stack
  == Spawn extension (office, 666, 1) exited non-zero on 'SIP/198.65.166.147-0214d760'

Also, i just started messing with this, and i do have the book, and have scanned almost all of it, and here is my config files:
extensions.conf:

[globals]


[general]
autofallthrough=yes

[default]
exten => s,1,Verbose(1|Unrouted call handler)
exten => s,n,Answer()
exten => s,n,Wait(1)
exten => s,n,Playback(tt-weasels)
exten => s,n,Hangup()
include => office


[office]
exten => 000,1,VoiceMailMain(${CALLERID(num)}@office)
exten => 000,n,Hangup()

exten => 666,1,Answer()
exten => 666,n,Playback(transfer)
exten => 666,n,Dial(SIP/666,50,m)
exten => 666,n,Voicemail(666@office)
exten => 666,n,PlayBack(vm-goodbye)
exten => 666,n,Hangup()

exten => 001,1,Answer()
exten => 001,n,Playback(transfer)
exten => 001,n,Dial(SIP/001,50,m)
exten => 001,n,VoiceMail(001@office)
exten => 001,n,PlayBack(vm-goodbye)
exten => 001,n,Hangup()

exten => 002,1,Answer()
exten => 002,n,Playback(transfer)
exten => 002,n,Dial(SIP/002,50,m)
exten => 002,n,VoiceMail(002@office)
exten => 002,n,PlayBack(vm-goodbye)
exten => 002,n,Hangup()

exten => 003,1,Answer()
exten => 003,n,Playback(transfer)
exten => 003,n,Dial(SIP/003,50,m)
exten => 003,n,VoiceMail(003@office)
exten => 003,n,PlayBack(vm-goodbye)
exten => 003,n,Hangup()

exten => 004,1,Answer()
exten => 004,n,Playback(transfer)
exten => 004,n,Dial(SIP/004,50,m)
exten => 004,n,VoiceMail(004@office)
exten => 004,n,PlayBack(vm-goodbye)
exten => 004,n,Hangup()

SIP.conf

[general]
context=office
srvlookup=yes
musicclass=default
disallow=all
allow=ulaw
allow=gsm
language=en
dtmfmode = rfc2833
canreinvite=no
fromdomain=sip.ionisis.com


[666]
context=office
type=friend
username=666
mailbox=666@office
host=dynamic
nat=yes
qualify=yes
register => 666@office
callerid=("Vector" <666>)


[001]
type=friend
mailbox=001@office
auth=md5
username=001
callerid=("Vector" <001>)
host=dynamic
allow=all
register => 001@office


[002]
type=friend
mailbox=002@office
auth=md5
username=002
callerid=("Enormity" <002>)
host=dynamic
allow=all
register => 002@office


[003]
type=friend
username=003
callerid="john 003" <003>
host=dynamic
nat=yes
canreinvite=no
allow=all
mailbox=003@office
register => 003@office


[004]
type=friend
username=004
callerid="john 004" <004>
host=dynamic
nat=yes
canreinvite=no
allow=all
mailbox=004@office
register => 004@office

One more thing that i just noticed is that when i DO connect with a regular telephone call, i can hear what is said FROM the computer microphone TO the telephone; but i cannot hear anything from the telephone to the computer speakers. This is not a problem with sip…

If anyone could point me in the right direction, i’d appreciate it.

thanx

Bump… (sorry, but it’s been a while)