This is a reject from google, I think its saying the remote side rejected your call. If your calling to your own account do you get any indication? What if your calling to another freeswitch? On Sep 1, 2013, at 9:25 PM, Terry Barnum <terry@digital-outpost.com> wrote:
Since I'm sure everyone is anxiously awaiting the next installment of my google voice monologue... ;)
So for google inbound calls I somehow overlooked that call screening needed to be enabled ("execute_on_answer=send_dtmf 1") so I added it and now inbound google voice calls work properly. Does this imply that NAT is being successfully traversed and this is not the reason for the google outbound problem?
Looking further at the dingaling debug output for google outbound, there's an empty decline tag and also a "Caller disconnected." As an inexperienced dingaling(!) user I'm not sure how to interpret this--the caller *has been* disconnected? Meaning google terminated the call? Or the caller *has* disconnected? Meaning freeswitch terminated the call? Any ideas why this is failing?
2013-09-01 17:44:27.625074 [DEBUG] mod_dingaling.c:3577 3 rtp candidates 2013-09-01 17:44:27.625074 [DEBUG] mod_dingaling.c:3597 candidate 173.194.79.127:19305 PASS ACL wan.auto 2013-09-01 17:44:27.625074 [DEBUG] mod_dingaling.c:3651 Acceptable rtp Candidate 173.194.79.127:19305 2013-09-01 17:44:27.625074 [DEBUG] mod_dingaling.c:3577 0 video_rtp candidates 2013-09-01 17:44:27.625074 [DEBUG] mod_dingaling.c:3577 0 rtcp candidates 2013-09-01 17:44:27.625074 [DEBUG] mod_dingaling.c:3577 0 video_rtcp candidates 2013-09-01 17:44:27.625074 [NOTICE] libdingaling.c:1749 SecSEND: ------------------------------------------------------------------------------- <iq type="result" to="+760XXXXXXX@voice.google.com/srvenc-y7H55UzKUf9oV+YD+bPou9s/IeoQd1fm" from="USER@gmail.com/talkEAB90707" id="jingle:10.76.86.101-7841406:1:C7EE502F"> <query></query> </iq>
2013-09-01 17:44:28.084920 [INFO] libdingaling.c:1747 SecRECV: ------------------------------------------------------------------------------- <iq from="+760XXXXXXX@voice.google.com/srvenc-y7H55UzKUf9oV+YD+bPou9s/IeoQd1fm" to="USER@gmail.com/talkEAB90707" id="jingle:10.76.86.101-7841406:1:C7EE5032" type="set"> <ses:session type="terminate" id="6914264867" initiator="USER@gmail.com/talkEAB90707" xmlns:ses="http://www.google.com/session"> <ses:reason> <ses:decline></ses:decline> <ses:text>Caller disconnected</ses:text> </ses:reason> <pho:call-ended xmlns:pho="http://www.google.com/session/phone"></pho:call-ended> </ses:session> </iq>
2013-09-01 17:44:28.084920 [CRIT] libdingaling.c:391 Message for Session 6914264867 2013-09-01 17:44:28.084920 [DEBUG] mod_dingaling.c:4114 using Existing session for 6914264867 2013-09-01 17:44:28.084920 [DEBUG] mod_dingaling.c:4434 hungup dingaling/gtalk/+760XXXXXXX@voice.google.com
Thanks, -Terry
On Sep 1, 2013, at 10:45 AM, Terry Barnum wrote:
I stopped fs, did a fresh git clone git://git.freeswitch.org/freeswitch.git, edited modules.conf and did a make && make install but still no joy making a call via google voice. dingaling status shows AUTHORIZED. FreeSWITCH (Version 1.5.6b git dd6b8a8 2013-08-31 03:41:31Z)
I set dingaling_conf.xml to debug and it reports an error 302 when attempting a call. I see others have had this error in the past but I couldn't find a definitive answer. Can anyone shed light on this? Thanks for any pointers. Here's a snippet of the dingaling debug output:
2013-09-01 08:48:24.504839 [NOTICE] libdingaling.c:1749 SecSEND: ------------------------------------------------------------------------------- <iq xmlns="jabber:client" from="USER@gmail.com/talk5CB5BB1C" to="+760XXXXXXX@voice.google.com" type="set" id="300"> <ses:session xmlns:ses="http://www.google.com/session" type="initiate" id="2395886559" initiator="USER@gmail.com/talk5CB5BB1C"> <pho:description xmlns:pho="http://www.google.com/session/phone"> <pho:payload-type id="0" name="PCMU" clockrate="8000" bitrate="64000" xmlns:pho="http://www.google.com/session/phone"></pho:payload-type> </pho:description> </ses:session> </iq>
2013-09-01 08:48:24.604828 [INFO] libdingaling.c:1747 SecRECV: ------------------------------------------------------------------------------- <iq from="+760XXXXXXX@voice.google.com" to="USER@gmail.com/talk5CB5BB1C" type="error" id="300"> <ses:session type="initiate" id="2395886559" initiator="USER@gmail.com/talk5CB5BB1C" 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" bitrate="64000"></pho:payload-type> </pho:description> </ses:session> <error code="302" type="modify"> <redirect xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">xmpp:+760XXXXXXX@voice.google.com/srvenc-w8W24IH4ZBGhR6mQVmzatQ==</redirect> <ses:redirect xmlns:ses="http://www.google.com/session">xmpp:+760XXXXXXX@voice.google.com/srvenc-w8W24IH4ZBGhR6mQVmzatQ==</ses:redirect> </error> </iq>
-Terry
On Aug 29, 2013, at 8:43 PM, Terry Barnum wrote:
Hi FS gurus,
Would someone be so kind as to post an example that shows what Jeff is describing about IP address settings in the dingaling profile for a machine with a private IP? Are we talking about the profile in conf/jingle_profiles? The rtp-ip and ext-rtp-ip settings?
Here's an excerpt of the log. As a freeswitch noob I'm unclear about what exactly is failing. ... Dialplan: sofia/internal/102@172.16.1.199 parsing [default->gvoice_out] continue=false Dialplan: sofia/internal/102@172.16.1.199 Regex (PASS) [gvoice_out] destination_number(18581234567) =~ /^1(\d{10})$/ break=on-false Dialplan: sofia/internal/102@172.16.1.199 Action set(call_direction=outbound) Dialplan: sofia/internal/102@172.16.1.199 Action set(hangup_after_bridge=true) Dialplan: sofia/internal/102@172.16.1.199 Action set(effective_caller_id_name=${outbound_caller_id_name}) Dialplan: sofia/internal/102@172.16.1.199 Action set(effective_caller_id_number=${outbound_caller_id_number}) Dialplan: sofia/internal/102@172.16.1.199 Action set(inherit_codec=true) Dialplan: sofia/internal/102@172.16.1.199 Action bridge(dingaling/gtalk/+7609876543@voice.google.com) 2013-08-26 20:45:32.847979 [DEBUG] switch_core_state_machine.c:167 (sofia/internal/102@172.16.1.199) State Change CS_ROUTING -> CS_EXECUTE 2013-08-26 20:45:32.847979 [DEBUG] switch_core_session.c:1341 Send signal sofia/internal/102@172.16.1.199 [BREAK] 2013-08-26 20:45:32.847979 [DEBUG] switch_core_state_machine.c:471 (sofia/internal/102@172.16.1.199) State ROUTING going to sleep 2013-08-26 20:45:32.847979 [DEBUG] switch_core_state_machine.c:416 (sofia/internal/102@172.16.1.199) Running State Change CS_EXECUTE 2013-08-26 20:45:32.847979 [DEBUG] switch_core_state_machine.c:478 (sofia/internal/102@172.16.1.199) State EXECUTE 2013-08-26 20:45:32.847979 [DEBUG] mod_sofia.c:230 sofia/internal/102@172.16.1.199 SOFIA EXECUTE 2013-08-26 20:45:32.847979 [DEBUG] switch_core_state_machine.c:209 sofia/internal/102@172.16.1.199 Standard EXECUTE EXECUTE sofia/internal/102@172.16.1.199 hash(insert/172.16.1.199-spymap/102/1ffd9854-0ecb-11e3-bfcb-8d6f93e4c391) EXECUTE sofia/internal/102@172.16.1.199 hash(insert/172.16.1.199-last_dial/102/18581234567) EXECUTE sofia/internal/102@172.16.1.199 hash(insert/172.16.1.199-last_dial/global/1ffd9854-0ecb-11e3-bfcb-8d6f93e4c391) EXECUTE sofia/internal/102@172.16.1.199 export(RFC2822_DATE=Mon, 26 Aug 2013 20:45:32 -0700) 2013-08-26 20:45:32.847979 [DEBUG] switch_channel.c:1222 EXPORT (export_vars) [RFC2822_DATE]=[Mon, 26 Aug 2013 20:45:32 -0700] EXECUTE sofia/internal/102@172.16.1.199 set(call_direction=outbound) 2013-08-26 20:45:32.847979 [DEBUG] mod_dptools.c:1393 sofia/internal/102@172.16.1.199 SET [call_direction]=[outbound] EXECUTE sofia/internal/102@172.16.1.199 set(hangup_after_bridge=true) 2013-08-26 20:45:32.847979 [DEBUG] mod_dptools.c:1393 sofia/internal/102@172.16.1.199 SET [hangup_after_bridge]=[true] EXECUTE sofia/internal/102@172.16.1.199 set(effective_caller_id_name=Terry) 2013-08-26 20:45:32.847979 [DEBUG] mod_dptools.c:1393 sofia/internal/102@172.16.1.199 SET [effective_caller_id_name]=[Terry] EXECUTE sofia/internal/102@172.16.1.199 set(effective_caller_id_number=760-999-9999) 2013-08-26 20:45:32.847979 [DEBUG] mod_dptools.c:1393 sofia/internal/102@172.16.1.199 SET [effective_caller_id_number]=[760-999-9999] EXECUTE sofia/internal/102@172.16.1.199 set(inherit_codec=true) 2013-08-26 20:45:32.847979 [DEBUG] mod_dptools.c:1393 sofia/internal/102@172.16.1.199 SET [inherit_codec]=[true] EXECUTE sofia/internal/102@172.16.1.199 bridge(dingaling/gtalk/+7609876543@voice.google.com) 2013-08-26 20:45:32.847979 [DEBUG] switch_channel.c:1176 sofia/internal/102@172.16.1.199 EXPORTING[export_vars] [domain_name]=[172.16.1.199] to event 2013-08-26 20:45:32.847979 [DEBUG] switch_channel.c:1176 sofia/internal/102@172.16.1.199 EXPORTING[export_vars] [RFC2822_DATE]=[Mon, 26 Aug 2013 20:45:32-0700] to event 2013-08-26 20:45:32.847979 [DEBUG] switch_ivr_originate.c:2060 Parsing global variables 2013-08-26 20:45:32.847979 [DEBUG] mod_dingaling.c:1028 Set Local Key [1 AES_CM_128_HMAC_SHA1_80 inline:7FJY7u0J8fngzGK3msd2SKzr/LMLZTkJ+QRamvwG] 2013-08-26 20:45:32.847979 [DEBUG] mod_dingaling.c:1028 Set Local Key [1 AES_CM_128_HMAC_SHA1_80 inline:dP4OPlIvkj7VWF0evrM1gjHC1nBS1Y/YKMfrfa7N] 2013-08-26 20:45:32.847979 [NOTICE] switch_channel.c:1030 New Channel dingaling/gtalk/+7609876543@voice.google.com [200e0388-0ecb-11e3-bfdb-8d6f93e4c391] 2013-08-26 20:45:32.847979 [DEBUG] mod_dingaling.c:2665 (dingaling/gtalk/+7609876543@voice.google.com) State Change CS_NEW -> CS_INIT 2013-08-26 20:45:32.847979 [DEBUG] switch_core_session.c:1341 Send signal dingaling/gtalk/+7609876543@voice.google.com [BREAK] 2013-08-26 20:45:32.847979 [DEBUG] mod_dingaling.c:2095 dingaling/gtalk/+7609876543@voice.google.com CHANNEL KILL 2013-08-26 20:45:32.847979 [DEBUG] switch_core_state_machine.c:416 (dingaling/gtalk/+7609876543@voice.google.com) Running State Change CS_INIT 2013-08-26 20:45:32.847979 [DEBUG] switch_core_state_machine.c:455 (dingaling/gtalk/+7609876543@voice.google.com) State INIT 2013-08-26 20:45:32.847979 [NOTICE] mod_dingaling.c:1816 Ring-Ready dingaling/gtalk/+7609876543@voice.google.com! 2013-08-26 20:45:32.847979 [DEBUG] switch_channel.c:3180 (dingaling/gtalk/+7609876543@voice.google.com) Callstate Change DOWN -> RINGING 2013-08-26 20:45:32.847979 [DEBUG] mod_dingaling.c:1692 Don't have my audio codec yet here's one 2013-08-26 20:45:32.867959 [DEBUG] mod_dingaling.c:1738 Don't have video codec. 2013-08-26 20:45:32.867959 [DEBUG] mod_dingaling.c:1749 Send Describe [PCMU@8000] 2013-08-26 20:45:33.288612 [DEBUG] mod_dingaling.c:4114 using Existing session for 2155444888 2013-08-26 20:45:33.288612 [DEBUG] mod_dingaling.c:1738 Don't have video codec. 2013-08-26 20:45:33.288612 [DEBUG] mod_dingaling.c:1749 Send Describe [PCMU@8000] 2013-08-26 20:45:33.288612 [DEBUG] mod_dingaling.c:1560 Stun Lookup Local 172.16.1.199:32116 2013-08-26 20:45:33.408000 [INFO] mod_dingaling.c:1570 Stun Success 72.197.53.144:33430 2013-08-26 20:45:33.408000 [DEBUG] mod_dingaling.c:1584 Send rtp Candidate 72.197.53.144:33430 [3ToneGgvu6KLidpo] 2013-08-26 20:45:33.408000 [DEBUG] mod_dingaling.c:1560 Stun Lookup Local 172.16.1.199:32117 2013-08-26 20:45:33.568012 [INFO] mod_dingaling.c:1570 Stun Success 72.197.53.144:39390 2013-08-26 20:45:33.568012 [DEBUG] mod_dingaling.c:1584 Send rtcp Candidate 72.197.53.144:39390 [IYN0LV3N3sDDCJws] 2013-08-26 20:45:33.568012 [DEBUG] mod_dingaling.c:1627 Accepted 0 of 0 rtp candidates. 2013-08-26 20:45:33.568012 [DEBUG] mod_dingaling.c:1629 Accepted 0 of 0 rtcp candidates. 2013-08-26 20:45:33.568012 [DEBUG] mod_dingaling.c:1632 Accepted 0 of 0 video_rtp candidates 2013-08-26 20:45:33.568012 [DEBUG] mod_dingaling.c:1635 Accepted 0 of 0 video_rctp candidates 2013-08-26 20:45:34.427964 [DEBUG] sofia_reg.c:2232 Changing expire time to 90 by request of proxy sip:callcentric.com 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:4114 using Existing session for 2155444888 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3577 3 rtp candidates 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3597 candidate 74.125.141.127:19305 PASS ACL wan.auto 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3651 Acceptable rtp Candidate 74.125.141.127:19305 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3577 0 video_rtp candidates 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3577 0 rtcp candidates 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3577 0 video_rtcp candidates 2013-08-26 20:45:35.208090 [DEBUG] mod_dingaling.c:4114 using Existing session for 2155444888 2013-08-26 20:45:35.208090 [DEBUG] mod_dingaling.c:4434 hungup dingaling/gtalk/+7609876543@voice.google.com ...
Thanks for any help, -Terry
On Aug 28, 2013, at 6:03 PM, Terry Barnum wrote:
Sorry, I don't know what's considered "set correctly" in the dingaling profile. Here's what's in jingle_profiles/v_172.16.1.199_gtalk.xml. I've also tried setting ext-rtp-ip to $${external_rtp_ip}.
<include> <profile type="client"> <param name="name" value="gtalk"/> <param name="login" value="USER@gmail.com/talk"/> <param name="password" value="MYPASS"/> <param name="dialplan" value="XML"/> <param name="context" value="public"/> <param name="message" value="Jingle all the way"/> <param name="rtp-ip" value="auto"/> <param name="ext-rtp-ip" value="auto-nat"/> <param name="auto-login" value="true"/> <param name="sasl" value="plain"/> <param name="server" value="talk.google.com"/> <param name="tls" value="true"/> <param name="use-rtp-timer" value="true"/> <param name="exten" value="102"/> <param name="vad" value="both"/> <param name="candidate-acl" value="wan.auto"/> <param name="local-network-acl" value="localnet.auto"/> </profile> </include>
Thanks for any pointers.
-Terry
On Aug 26, 2013, at 9:44 PM, Jeff Leung wrote:
Check to see if your IP addressing settings are set correctly within the dingaling profile.
Most of the times you'll need to have the profile to listen internally but have dingaling to specify an external IP address when it talks to the outside world.
-----Original Message----- From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch- users-bounces@lists.freeswitch.org] On Behalf Of Terry Barnum Sent: Monday, August 26, 2013 9:33 PM To: FreeSWITCH Users Help Subject: [Freeswitch-users] Google voice call fails
I've been reading the freeswitch book (great read!) and playing with my first freeswitch install on a Mac mini host with freeswitch installed via git into a Virtualbox guest CentOS 6.4. It's working with a couple X-Lite softphones and a Yealink T32G, internally between extensions, using a free DID to test incoming calls and a free but limited iptel account to test outbound.
My next step was to try and play with real outbound calls so I followed these instructions for Google voice: <http://wiki.freeswitch.org/wiki/Google_Voice> but outbound calls fail and are hung up. I disabled the h264 codec in dingaling.conf.xml leaving just PCMU but no change. xmpp appears to be connecting and authenticating to google correctly.
The log of an attempted call (edited for privacy) is at <http://pastebin.freeswitch.org/21338>
Snippets of the log that looks suspicious to a freeswitch noob:
2013-08-26 20:45:33.568012 [DEBUG] mod_dingaling.c:1627 Accepted 0 of 0 rtp candidates. 2013-08-26 20:45:33.568012 [DEBUG] mod_dingaling.c:1629 Accepted 0 of 0 rtcp candidates. 2013-08-26 20:45:33.568012 [DEBUG] mod_dingaling.c:1632 Accepted 0 of 0 video_rtp candidates 2013-08-26 20:45:33.568012 [DEBUG] mod_dingaling.c:1635 Accepted 0 of 0 video_rctp candidates 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:4114 using Existing session for 2155444888 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3577 3 rtp candidates 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3597 candidate 74.125.141.127:19305 PASS ACL wan.auto 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3651 Acceptable rtp Candidate 74.125.141.127:19305 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3577 0 video_rtp candidates 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3577 0 rtcp candidates 2013-08-26 20:45:34.649239 [DEBUG] mod_dingaling.c:3577 0 video_rtcp candidates 2013-08-26 20:45:35.208090 [DEBUG] mod_dingaling.c:4114 using Existing session for 2155444888 2013-08-26 20:45:35.208090 [DEBUG] mod_dingaling.c:4434 hungup dingaling/gtalk/+7609876543@voice.google.com
Where should I be looking to try and fix? Freeswitch is behind the firewall with a private IP but STUN says it's working (or at least it looks that way to me).
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org