Dialplan not continuing after Answer()

Asterisk version 1.8.2.x (tried .2 and .3).

I have a Google Voice setup, in which I have several GV accounts configured in gtalk/jabber.conf. The issue I am having is that incoming calls hit the appropriate dialplan, but after the first step the extension exits with a non-zero status. It does not appear to matter what the first command is.

gtalk.conf

jabber.conf

Relevant portion of extensions.conf

The Asterisk console gives this output when dialing the GV mapped to CCC@gmail.com from my work phone.

Well you should rewrite your incoming google:
[incoming_google]
exten => AAA@gmail.com,1,Set(CALLERID(number)=${CALLERID(name):2:10})
exten => AAA@gmail.com,n,Set(CALLERID(name)=${CALLERID(number)})
exten => AAA@gmail.com,n,Dial(SIP/avi,20,aD(:1))
exten => AAA@gmail.com,n,Answer()
exten => AAA@gmail.com,n,SendDTMF(1)
exten => AAA@gmail.com,n,VoiceMail(1@default)
exten => AAA@gmail.com,n,Hangup()

[incoming_google]
exten => AAA@gmail.com,1,Set(CALLERID(number)=${CALLERID(name):2:10})
exten => AAA@gmail.com,n,Set(CALLERID(name)=${CALLERID(number)})
exten => AAA@gmail.com,n,Answer()
exten => AAA@gmail.com,n,SendDTMF(1)
exten => AAA@gmail.com,n,Dial(SIP/avi,20,aD(:1))
exten => AAA@gmail.com,n,VoiceMail(1@default)
exten => AAA@gmail.com,n,Hangup()

exten => BBB@gmail.com,1,Set(CALLERID(number)=${CALLERID(name):2:10})
exten => BBB@gmail.com,n,Set(CALLERID(name)=${CALLERID(number)})
exten => BBB@gmail.com,n,Answer()
exten => BBB@gmail.com,n,SendDTMF(1)
exten => BBB@gmail.com,n,Dial(SIP/btkatch,20,aD(:1))
exten => BBB@gmail.com,n,Hangup()

exten => CCC@gmail.com,1,Set(CALLERID(number)=${CALLERID(name):2:10})
exten => CCC@gmail.com,n,Set(CALLERID(name)=${CALLERID(number)})
exten => CCC@gmail.com,n,Answer()
exten => CCC@gmail.com,n,SendDTMF(1)
exten => CCC@gmail.com,n,Goto(local,700,1)

you need to have this line first before dial
exten => BBB@gmail.com,n,Answer()
exten => BBB@gmail.com,n,SendDTMF(1)

To add more information:

It seems that Google is hanging up before/while Asterisk is answering. I upped the debug level, and got the following.

[quote=“tritron”]Well you should rewrite your incoming google:

you need to have this line first before dial
exten => BBB@gmail.com,n,Answer()
exten => BBB@gmail.com,n,SendDTMF(1)[/quote]

That should not be necessary. Dial() will answer if necessary and the “D(:1)” argument causes the DTMF tone to be sent. In any event, this part of the dialplan is not being invoked in my problem case.

What about gtalk_indicate: Don’t know how to indicate condition ‘-1’ it seems related to your dial line
What is you change gtalk.conf to include
[general]
context=incoming_google
allowguest=yes
bindaddr=0.0.0.0
externip=216.208.246.1

[guest]
disallow=all
allow=ulaw
context=
connection=
You have this in your log
[Feb 21 14:29:29] DEBUG[15207]: acl.c:689 ast_ouraddrfor: Not an IPv4 nor IPv6 address, cannot get port.
[Feb 21 14:29:29] DEBUG[15207]: acl.c:715 ast_ouraddrfor: For destination ‘74.125.226.115’, our source address is ‘207.192.69.248’.
What about this error
"but we don’t care because they’re not a member of any queue"
From what I had read it seems it is important for asterisk to answer call and SendDTMF(1) first.
When I get call over google voice my log looks like this:
OUTGOING:
[2011-02-21 13:20:44] – Executing [AAA@gmail.com@gvoice-in:5] SendDTMF(“Gtalk/+1720XXXXXXX-7077”, “1”) in new stack
[2011-02-21 13:20:44] – Executing [AAA@gmail.com@gvoice-in:6] Dial(“Gtalk/+1720XXXXXXX-7077”, “SIP/102,20”) in new stack
[2011-02-21 13:20:44] == Using SIP RTP CoS mark 5
[2011-02-21 13:20:44] – Called 102
[2011-02-21 13:20:45] – SIP/102-00000002 is ringing
[2011-02-21 13:20:45] – SIP/102-00000002 is ringing
[2011-02-21 13:20:45] – SIP/102-00000002 is ringing
[2011-02-21 13:20:45] – SIP/102-00000002 is ringing
[2011-02-21 13:20:56]

Turning on debugging for jabber shows that Google is sending an “internal error” message. I think this is the indicate condition that Asterisk does not understand.

I’ve tried various combinations of options with no effect.

As you can see from my dialplan, the very next priority is SendDTMF(1). The issue seems to be that Google is hanging up before Asterisk gets a chance to do anything.

What’s your host platform? Is this an embedded device?

My host platform is a xen-hosted Linux server. Debian Lenny (5.0.8). Asterisk is compiled from source, installed under /usr/local. (Debian doesn’t have packages for asterisk 1.8.)

Another data point:

The “BBB” connection and extension are for my friend. He has a pap2t (as do I) at home which connects to my Asterisk box. My Asterisk server successfully terminated a call for him a short while ago. Calling either of my GV numbers (represented by AAA and CCC in my configuration) still results in the same behavior I am posting about. I have compared the configuration for my friend against my own, and cannot see anything amiss.

Howdy,

What version of Asterisk is it? That’s the kind of thing one might see from a version of Asterisk prior to 1.8.1.1

Cheers.

I wonder about this in your log : No provider found, checking channel drivers for Gtalk
I wonder if there is an error in your gtalk.conf
names not matching what is listed in gtalk.conf for
context=
connection=
do you need
I noticed that i got same error when my names in jabber.conf gtalk.conf and extensions.conf did not match
what if you add this to gtalk.conf
[guest]
disallow=all
allow=ulaw
context=incoming_google
connection=gmail-AAA
connection=gmail-BBB
connection=gmail-CCC

[quote=“malcolmd”]Howdy,

What version of Asterisk is it? That’s the kind of thing one might see from a version of Asterisk prior to 1.8.1.1

Cheers.[/quote]

To quote the first line of my original post… :smile: