Call drops when call redirects to external answering machine

I’m having a problem connecting to external answering machines and voicemail with asterisk 1.0.9 running on Gentoo Linux ( 2.6.12-gentoo-r6 kernel).

When I dial an external number via my VOIP provider http://www.digitalvoice.ca/ and the person does not answer and after say 20 seconds it should go to their answering machine or voicemail the connection goes silent for a few seconds disconnects and I get the high pitched beep beep beep. This happens when I phone large companies with big PBX systems, cell phones and regular answer machines. If however the user isn’t available and it goes straight to the voicemail it lets me in.

I’m having no problems with people being able to leave messages in my voicemail in asterisk.

My configuration is as follows (i’ve cut some stuff out relating to local extensions).

Thanks,
Paul
sip.conf

[general]
;----------- general setup
port = 5060
bindaddr = 192.168.1.2
externip = 64.34.51.4
localnet = 192.168.1.0/255.255.255.0
tos=reliability
nat=yes

;----------- codecs setup
disallow=all
allow=gsm
allow=ulaw
allow=alaw

;----------- other options
srvlookup = yes
context = default
maxexpirey=180
defaultexpirey=160

;----------- register to peers
register => <user>:<pw>@<sipProvidersIpAddress>

; The phone
[201]
type=friend
host=dynamic
defaultip=192.168.1.10
username=201
secret=<pw>
mailbox=201,0 ; Mailbox for message waiting indicator
context=local
callerid="Paul Austin" <201>
auth=md5
canreinvite=no

[digitalvoice]
type=friend
secret=<pw>
username=<user>
host=<sipProvidersIpAddress>
canreinvite=no
insecure=very
auth=md5
callerid="Revolution Systems Inc." <<phone number>>
fromuser=<user>
fromdomain=<sipProvidersIpAddress>
dtmfmode=rfc2833

extensions.conf

[general]
static=yes
writeprotect=no

; Dial using Digital Voice
; ARG1: Phone number to dial
; ARG2: Timeout (seconds)
[macro-dialdigitalvoice]
exten => s,1,Dial(SIP/${ARG1}@digitalvoice,${ARG2},t)


[pstn]
exten => _1XXXXXXXXXX,1,Macro(dialdigitalvoice,${EXTEN},20)
exten => _XXXXXXXXXX,1,Macro(dialdigitalvoice,${EXTEN},20)
exten => _XXXXXXX,1,Background(if-u-know-ext-dial)
exten => _011.,1,Macro(dialdigitalvoice,${EXTEN},20)


[local]
exten => s,1,SetVar(LOCAL_EXT=${CALLERIDNUM})
exten => s,2,DigitTimeout(5)
exten => s,3,ResponseTimeout(10)

nclude => pstn

exten => i,1,Background(invalid)
exten => i,2,WaitExten(10)

exten => t,1,Hangup

This sounds like a problem at Digitalvoice, rather than in your asterisk setup. You should probably ask them about it before you go any further.

Will,

I did an experiment tonight and set up my Sipura SPA-1001 that I normally connect to my Asterisk server so that it talks directly to my digital voice VOIP service provider.

When I connect that way it allows me to go through to the answering machine. When I then change back to go via asterisk it doesn’t work. In this case the call is connected as follows.

phone
  -> SIPURA SPA-1000
    -> Asterisk
      -> Internet via Linysys WRT43G using NAT
        -> digital voice
          -> PSTN