Google Voice. I see traffic incoming but does not transfer to extension

I have setup Google Voice and when I call the number the log shows a packet of info coming in but the phone side of the system doesn’t seem to so anything with it. I do have an incoming route setup.

To keep it simple at first I did not set up a trunk or outbound.

If anyone can decipher the log below please let me know. I have also included the conf files I changed or added:

Thank you!!!

gtalk.conf:

[general]
debug=yes
allowguest=yes
context=googlein
stunaddr=stun01.sipphone.com

[guest]
disallow=all
allow=ulaw
connection=asterisk
context=googlein

jabber.conf:

[general]
debug=yes
autoprune=no
autoregister=yes

[nutid]
type=client
serverhost=talk.google.com
[email protected]/Talk
secret=xxxx
port=5222
usetls=yes
usesasl=yes
status=Available
statusmessage="I am an Asterisk Server"
timeout=100
keepalive=yes
~
extensions_custom.conf:

[googlein]
exten => _[@Xa-z].,1,Noop(Incoming Google Voice call for ${EXTEN})
exten => _[@Xa-z].,n,Set(CALLERID(name)=${CUT(CALLERID(name),@,1)})
exten => _[@Xa-z].,n,GotoIf($["${CALLERID(name):0:2}" != “+1”]?notrim)
exten => _[@Xa-z].,n,Set(CALLERID(name)=${CALLERID(name):2})
exten => _[@Xa-z].,n(notrim),Set(CALLERID(number)=${CALLERID(name)})
exten => _[@Xa-z].,n,Answer
exten => _[@Xa-z].,n,Wait(1)
exten => _[@Xa-z].,n,SendDTMF(1)
exten => _[@Xa-z].,n,Goto(from-trunk,gv-incoming-${CUT(EXTEN,@,1)},1)
exten => h,1,Macro(hangupcall,)

[gvoice-nutid]
exten => _X.,1,Dial(Gtalk/nutid/+${EXTEN}@voice.google.com)
exten => _X.,n,Noop(GVoice Call to ${EXTEN} failed)
exten => h,1,Macro(hangupcall,)

The log thing below didnt work so here is the log and there is another similar entry when I hang up the call incoming. I dont know how to put the log here…
;(

JABBER: nutridroid INCOMING: iq from="[email protected]/srvres-MTAuMTMuOTIuMTc6OTgwMQ==" to="[email protected]/TalkE3E27895" id=“jingle:10.13.92.17-22024493:1:BB0FA859” type=“set” — ses:session type=“initiate” id="[email protected]" initiator="[email protected]/srvres-MTAuMTMuOTIuMTc6OTgwMQ==" xmlns:ses=“http://www.google.com/session” — pho:description xmlns:pho=“http://www.google.com/session/phone” — pho:payload-type id=“0” name=“PCMU” clockrate="8000 — <pho:payload-type id=“101” name=“telephone-event”/></pho:description — transport behind-symmetric-nat=“false” can-receive-from-symmetric-nat=“false” xmlns=“http://www.google.com/transport/raw-udp” — transport xmlns=“http://www.google.com/transport/p2p”/— /ses:session— /iq

well the Google Voice add on created a can of worms for me! I am glad I found out that the Asterisk does not update with the modules admin, but I wish I knew that before. My bad.

I have just finished updating everything.

Will have to check that it all works in the morning… :wink:

I use the module admin updates on freepbx. Is there something special I am supposed to do? the module admin says I am up to date :frowning:

EDIT… I just checked and Asterisk is OLD!!! Heck I thought the module admin did it all…

What do I do to update it?

http://www.asterisk.org/downloads

You can get source or configure yum to install the RPMs for you.

mworsnop: “jabber show connected” is the pre-1.8 syntax. So, you’re not using Asterisk 1.8, which is required for Google Voice integration in the fashion you’re attempting.

http://michigantelephone.wordpress.com/2010/12/21/how-to-use-google-voice-for-free-calls-on-an-asterisk-1-8freepbx-2-8-system-the-easy-way/

More recently he has created a little script that tells you what to place where.

Afer reviewing my google voice setup further, it looks like BOTH of my gvoice numbers call into the same thing whereas one is supposed to be wakeup call and one is supposed to be conference.

asterisk21: which url page did you follow to set up your GVoice?

Not sure what to make of this. the command lines below the first one does not work. BUT the 2nd one does. Do I still have some other problems?

[phone.mark-sys.com asterisk]# asterisk -rx "jabber show connections"
No such command ‘jabber show connections’ (type ‘help’ for help)

[phone.mark-sys.com asterisk]# asterisk -rx "jabber show connected"
Jabber Users and their status:
User: [email protected]/Talk - Connected

Number of users: 1
[phone.mark-systems.com asterisk]#

the @ is part of the email address. [email protected], if those are the at signs you’re referring to.

I got mine to work and I believe it was because I added the last [googlein] part. I also amended the dialplan so if I want to dial out with the numbers I dial 8 or 9 and then the telephone number.

I’m glad to get all my issues resolved because I was dreading the fact of a re-install of centos & freepbx.

asterisk21 do you see anything I need to change in my setup conf files? what exactly did you change to make it work?

asterisk21st: Your googlein context won’t work because @ is not a valid extension character. See https://wiki.asterisk.org/wiki/display/AST/The+Asterisk+Dialplan and http://svn.asterisk.org/svn/asterisk/branches/1.8/configs/extensions.conf.sample

BUT, it seems to work as part of a regular expression (undocumented feature?). So if you start your googlein extensions with _ you might have better luck. Make sure that’s really what you want though.

mworsnop: I see a couple 10.x.x.x IP addresses in the jabber packets you pasted. Makes me think you’re experiencing NAT troubles. Specifically, problems with the RTP (audio) stream, and that’s why the call is failing. Just a guess. The packets you’re getting and sending to Google Talk should have your external IP embedded.

sir_sip: Gmail will let you host your domain there at gmail. It does not have to be a gmail email address. As I said the GTalk is at least trying to do something and the log says it is connected. If the gmail was the issue then it would not connect. I have also tried to do this multiple times. I am 100% sure the conf files are exactly what I copied from the web page, minus my login.

I dont think the route is the issue either as I would see an incoming call that could not route. but I see nothing except the debug log for GTalk

sterisk21st: Note I added a debug=yes at the top of the jabber.conf and the gtalk.conk that is why I can at least see something happening.

Wonder if there is anyone on this board that has made this work that would help?!

We can only go by what you’ve posted (and WHY would you try to hide the gmail.com part of the address? I can understand changing the part BEFORE the @, but looks like you’re just trying to confuse everyone). And, you did not answer my question: What are you using for a DID in your inbound route? I wasn’t asking that just out of curiosity. It’s highly possible that’s where your problem lies.

I stand by my earlier advice: Wipe out everything you did, go back to whatever instructions you used and start over, and this time follow them EXPLICITLY. Whether you choose to follow that advice is up to you, but that’s all I have to say.

My issue seems the same…

Nice going on isolating the issue, Gregory.

My update is now that I can call OUT on at least one of the numbers when when I call in from a completely separate number, the trunk fails.

[root@asterisx ~]# asterisk -rvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Verbosity is at least 44
== Starting Gtalk/+xxxxxxxxxx-bf3a at googlein,[email protected],1 failed so falling back to exten ‘s’
== Starting Gtalk/+xxxxxxxxxx-bf3a at googlein,s,1 still failed so falling back to context ‘default’
— Executing [s@default:1] Playback(“Gtalk/+xxxxxxxxxx-bf3a”, “vm-goodbye”) in new stack
— Playing ‘vm-goodbye.ulaw’ (language ‘en’)
— Executing [s@default:2] Macro(“Gtalk/+xxxxxxxxxx-bf3a”, “hangupcall”) in new stack
— Executing [s@macro-hangupcall:1] GotoIf(“Gtalk/+xxxxxxxxxx-bf3a”, “1?skiprg”) in new stack
— Goto (macro-hangupcall,s,4)
— Executing [s@macro-hangupcall:4] GotoIf(“Gtalk/+xxxxxxxxxx-bf3a”, “1?skipblkvm”) in new stack
— Goto (macro-hangupcall,s,7)
— Executing [s@macro-hangupcall:7] GotoIf(“Gtalk/+xxxxxxxxxx-bf3a”, “1?theend”) in new stack
— Goto (macro-hangupcall,s,9)
— Executing [s@macro-hangupcall:9] Hangup(“Gtalk/+xxxxxxxxxx-bf3a”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘Gtalk/+xxxxxxxxxx-bf3a’ in macro ‘hangupcall’
== Spawn extension (default, s, 2) exited non-zero on ‘Gtalk/+xxxxxxxxxx-bf3a’
— Executing [h@default:1] Macro(“Gtalk/+xxxxxxxxxx-bf3a”, “hangupcall,”) in new stack
— Executing [s@macro-hangupcall:1] GotoIf(“Gtalk/+xxxxxxxxxx-bf3a”, “1?skiprg”) in new stack
— Goto (macro-hangupcall,s,4)
— Executing [s@macro-hangupcall:4] GotoIf(“Gtalk/+xxxxxxxxxx-bf3a”, “1?skipblkvm”) in new stack
— Goto (macro-hangupcall,s,7)
— Executing [s@macro-hangupcall:7] GotoIf(“Gtalk/+xxxxxxxxxx-bf3a”, “1?theend”) in new stack
— Goto (macro-hangupcall,s,9)
— Executing [s@macro-hangupcall:9] Hangup(“Gtalk/+xxxxxxxxxx-bf3a”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘Gtalk/+xxxxxxxxxx-bf3a’ in macro ‘hangupcall’
== Spawn extension (default, h, 1) exited non-zero on ‘Gtalk/+xxxxxxxxxx-bf3a’

jabber.conf
[general]
debug=no
autoprune=no
autoregister=yes

[x]
type=client
serverhost=talk.google.com
[email protected]/Talk
secret=xxxxxxxxxxxxxx
port=5222
usetls=yes
usesasl=yes
status=Available
statusmessage=”No Information Available”
timeout=100
keepalive=yes

gtalk.conf
[general]
allowguest=yes
context=googlein
stunaddr=stun01.sipphone.com

[guest]
disallow=all
allow=ulaw
connection=asterisk
context=googlein

[googlein]
exten =>
[email protected],1,Set(CALLERID(name)=${CUT(CALLERID(name),@,1)})
exten => [email protected],n,GotoIf($["${CALLERID(name):0:2}"
!= “+1”]?notrim)
exten =>
[email protected],n,Set(CALLERID(name)=${CALLERID(name):2})
exten =>
[email protected],n(notrim),Set(CALLERID(number)=${CALLERID(name)})
exten => [email protected],n,Answer
exten => [email protected],n,Wait(1)
exten => [email protected],n,SendDTMF(1)
exten => [email protected],n,Goto(from-trunk,xxxxxxxxxx,1)
exten =>

[gvoice-x]
exten => _X.,1,Dial(Gtalk/x/+${EXTEN}@voice.google.com)
exten => _X.,n,Noop(GVoice Call to ${EXTEN} failed)
exten => h,1,Macro(hangupcall,)

so it looks at least hopeful that the asterisk system sees the attempted call in and it can make out but now I just need to complete it. Since asterisk doesn’t answer the call, it just goes to google voicemail.

[email protected]/Talk ???

Uh, uh, not gonna work - has to be a gmail.com address. Well, maybe it doesn’t HAVE to be, but I’ve never heard of anyone doing this with a non-gmail address.

I have a feeling that whoever’s instructions you used, you did not follow them explicitly. And when you don’t follow the recipe, things aren’t going to turn out right. For example, what are you using for a DID in your inbound route?

Try scrapping everything and starting over, and this time, follow the directions! You can try keeping your “nutid.com” address (I’m resisting the urge to make a snarky comment here), but if you do, substitute it ONLY for gmail.com in the instructions. Do NOT use “nutid” ANYWHERE else. It still may not work, in which case you may actually have to get a gmail.com address (like I suspect the instructions told you to).

nutid is actually a short version of the real email address. it is a gmail address and I am getting the GTalk traffic. If it were not a good address then I wouldnt see anything. I did copy the conf file verbatim other than changing the user name. It is obviously logged onto GTalk we are just not getting the pbx side to do anything with it.