<div dir="ltr">*HINT* you need to use a valid cert for the dtls and the ssl websocket <div>Android is 100 times more paranoid about certs and doesn&#39;t bother to explain.</div><div>A common theme in google code for webrtc to not take the time and effort to explain errors.</div>
<div><br></div><div>go to /usr/local/freeswitch/certs</div><div>put both the key and the cert in wss.pem<br></div><div>put the same key in dtls-srtp.key and the same cert in dtls-srtp.crt</div><div>put a valid chain cert in ca-bundle.crt</div>
<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 27, 2013 at 7:09 PM, James Mortensen <span dir="ltr">&lt;<a href="mailto:james.mortensen@synclio.com" target="_blank">james.mortensen@synclio.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I have limited information at this time, but we&#39;re basically seeing RTP packets flowing from Chrome to FreeSWITCH and from FreeSWITCH to Chrome, but very minimal activity between Android and FreeSWITCH.  <div>


<br></div><div>Before my colleague hit the road for the day, we did notice there were two separate INVITES being sent to Android, and that&#39;s where we stopped.  It is possible there&#39;s a port mismatch somewhere, assuming we really did see two INVITES in the FreeSWITCH SIP trace.  To be sure, we registered Chrome and Android on different networks so there was absolutely no confusion.</div>


<div><br></div><div>I&#39;ve attached a SIP trace from several of these call attempts.  Just look from the top where you see a JsSIP client send an INVITE from 50.43.x.x and then scroll down to see FreeSWITCH send two INVITES to two separate ports on the 115.11.x.x network.  Moreover, the candidates in both INVITES contain different ports.  Here are those two INVITES inline, where user 1000 is the Android client on 115.11.x.x and 1100 is the Chrome JsSIP client at 50.43.x.x, JsSIP initiates the call:</div>


<div><br></div><div><div>  ------------------------------------------------------------------------</div><div>send 2031 bytes to udp/[115.11.X.X]:9322 at 23:25:08.408616:</div><div>   ------------------------------------------------------------------------</div>


<div>   INVITE sip:1000@115.11.X.X:9322;transport=udp SIP/2.0</div><div>   Via: SIP/2.0/UDP 50.18.X.X:5070;rport;branch=z9hG4bKrv59pQQvDaagc</div><div>   Route: &lt;sip:1000@115.11.X.X:9322;transpo;lr;ovid=c5ab5428&gt;</div>


<div>   Max-Forwards: 68</div><div>   From: &quot;James&quot; &lt;<a href="mailto:sip%3A971200xxxx@10.188.136.13" target="_blank">sip:971200xxxx@10.188.136.13</a>&gt;;tag=UX0748rrX2Bgm</div><div>   To: &lt;sip:1000@115.11.X.X:9322;transport=udp&gt;</div>


<div>   Call-ID: fed8b6a7-d25d-1231-2cad-22000abc880d</div><div>   CSeq: 52461290 INVITE</div><div>   Contact: &lt;sip:mod_sofia@50.18.X.X:5070&gt;</div><div>   User-Agent: FreeSWITCH-mod_sofia/1.5.8b+git~20131127T162035Z~bbe1fe1a31~64bit</div>


<div>   Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE</div><div>   Supported: precondition, path, replaces</div><div>   Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer</div>


<div>   Content-Type: application/sdp</div><div>   Content-Disposition: session</div><div>   Content-Length: 975</div><div>   X-FS-Support: update_display,send_info</div><div>   Remote-Party-ID: &quot;James&quot; &lt;<a href="mailto:sip%3A971200xxxx@10.188.136.13" target="_blank">sip:971200xxxx@10.188.136.13</a>&gt;;party=calling;screen=yes;privacy=off</div>


<div>   </div><div>   v=0</div><div>   o=FreeSWITCH 1385562204 1385562205 IN IP4 50.18.X.X</div><div>   s=FreeSWITCH</div><div>   c=IN IP4 50.18.X.X</div><div>   t=0 0</div><div>   a=sendrecv</div><div>   a=msid-semantic: WMS oXSGoBbKflmyggzbJEZP120R0qAOBfsQ</div>


<div>   m=audio 32504 RTP/SAVPF 0 8 101 13</div><div>   a=rtpmap:0 PCMU/8000</div><div>   a=rtpmap:8 PCMA/8000</div><div>   a=rtpmap:101 telephone-event/8000</div><div>   a=fingerprint:sha-256 91:9E:50:FA:2E:A5:8E:02:41:1E:FC:A5:8A:B0:0C:1F:98:1F:1B:49:BB:D6:44:A8:E1:01:EA:82:7C:B6:59:1D</div>


<div>   a=rtcp-mux</div><div>   a=rtcp:32504 IN IP4 50.18.X.X</div><div>   a=ssrc:177794596 cname:2bmhDoRIz36GawIJ</div><div>   a=ssrc:177794596 msid:oXSGoBbKflmyggzbJEZP120R0qAOBfsQ a0</div><div>   a=ssrc:177794596 mslabel:oXSGoBbKflmyggzbJEZP120R0qAOBfsQ</div>


<div>   a=ssrc:177794596 label:oXSGoBbKflmyggzbJEZP120R0qAOBfsQa0</div><div>   a=ice-ufrag:1xoTpfAgv0VX5dDX</div><div>   a=ice-pwd:eQ5I4MguGd1GAzfr</div><div>   a=candidate:5290007956 1 udp 659136 50.18.X.X 32504 typ host generation 0</div>


<div>   a=candidate:5290007956 2 udp 659136 50.18.X.X 32504 typ host generation 0</div><div>   a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:TTl8L9nzxRRf4R3jWWukpQaOSmkB5tncyLIuwvaA</div><div>   a=ptime:20</div><div>   ------------------------------------------------------------------------</div>


<div>send 2034 bytes to udp/[115.11.X.X]:62163 at 23:25:08.409283:</div><div>   ------------------------------------------------------------------------</div><div>   INVITE sip:1000@115.11.X.X:62163;transport=udp SIP/2.0</div>


<div>   Via: SIP/2.0/UDP 50.18.X.X:5070;rport;branch=z9hG4bKS5y2rj8ZaK02Q</div><div>   Route: &lt;sip:1000@115.11.X.X:62163;transpo;lr;ovid=c5ab5428&gt;</div><div>   Max-Forwards: 68</div><div>   From: &quot;James&quot; &lt;<a href="mailto:sip%3A971200xxxx@10.188.136.13" target="_blank">sip:971200xxxx@10.188.136.13</a>&gt;;tag=v6S0639UtB22F</div>


<div>   To: &lt;sip:1000@115.11.X.X:62163;transport=udp&gt;</div><div>   Call-ID: fed8d029-d25d-1231-2cad-22000abc880d</div><div>   CSeq: 52461290 INVITE</div><div>   Contact: &lt;sip:mod_sofia@50.18.X.X:5070&gt;</div><div>


   User-Agent: FreeSWITCH-mod_sofia/1.5.8b+git~20131127T162035Z~bbe1fe1a31~64bit</div><div>   Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE</div><div>   Supported: precondition, path, replaces</div>


<div>   Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer</div><div>   Content-Type: application/sdp</div>


<div>   Content-Disposition: session</div><div>   Content-Length: 975</div><div>   X-FS-Support: update_display,send_info</div><div>   Remote-Party-ID: &quot;James&quot; &lt;<a href="mailto:sip%3A971200xxxx@10.188.136.13" target="_blank">sip:971200xxxx@10.188.136.13</a>&gt;;party=calling;screen=yes;privacy=off</div>


<div>   </div><div>   v=0</div><div>   o=FreeSWITCH 1385569930 1385569931 IN IP4 50.18.X.X</div><div>   s=FreeSWITCH</div><div>   c=IN IP4 50.18.X.X</div><div>   t=0 0</div><div>   a=sendrecv</div><div>   a=msid-semantic: WMS YGqq3KBdA3doGvggsuWTkskoGwvg99oY</div>


<div>   m=audio 24778 RTP/SAVPF 0 8 101 13</div><div>   a=rtpmap:0 PCMU/8000</div><div>   a=rtpmap:8 PCMA/8000</div><div>   a=rtpmap:101 telephone-event/8000</div><div>   a=fingerprint:sha-256 91:9E:50:FA:2E:A5:8E:02:41:1E:FC:A5:8A:B0:0C:1F:98:1F:1B:49:BB:D6:44:A8:E1:01:EA:82:7C:B6:59:1D</div>


<div>   a=rtcp-mux</div><div>   a=rtcp:24778 IN IP4 50.18.X.X</div><div>   a=ssrc:177896132 cname:FFeyfGCFzFU610ck</div><div>   a=ssrc:177896132 msid:YGqq3KBdA3doGvggsuWTkskoGwvg99oY a0</div><div>   a=ssrc:177896132 mslabel:YGqq3KBdA3doGvggsuWTkskoGwvg99oY</div>


<div>   a=ssrc:177896132 label:YGqq3KBdA3doGvggsuWTkskoGwvg99oYa0</div><div>   a=ice-ufrag:lZ3vhdKOA6UA59oA</div><div>   a=ice-pwd:EtZJZsepYZmPPpZ1</div><div>   a=candidate:6658001960 1 udp 659136 50.18.X.X 24778 typ host generation 0</div>


<div>   a=candidate:6658001960 2 udp 659136 50.18.X.X 24778 typ host generation 0</div><div>   a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:CKFCzTuq04VQ1E0QJMmo0WjXDUtp+GTuK4CLgAS7</div><div>   a=ptime:20</div></div><div><br>


</div><div><br></div><div>It seems like something is amiss here.  This does seem odd.  Hope this helps!</div><div class="gmail_extra"><span class="HOEnZb"><font color="#888888"><br clear="all"><div><div dir="ltr"><div><br>
</div><div>James</div></div></div>
<br><br></font></span><div class="gmail_quote"><div><div class="h5">On Wed, Nov 27, 2013 at 4:44 PM, Michael Jerris <span dir="ltr">&lt;<a href="mailto:mike@jerris.com" target="_blank">mike@jerris.com</a>&gt;</span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">

<div style="word-wrap:break-word">Try looking at a pcap and comparing to the android logs.  Are they sending the stun requests to the right place and are they getting to freeswitch?<div><div><br><div><div>On Nov 27, 2013, at 7:38 PM, James Mortensen &lt;<a href="mailto:james.mortensen@synclio.com" target="_blank">james.mortensen@synclio.com</a>&gt; wrote:</div>


<br><blockquote type="cite"><div dir="ltr">The issue is that Android is showing STUN ping timeouts in the libjingle logs.  This doesn&#39;t happen with Asterisk, so we just asked ourselves, &quot;What is different in the SDP&#39;s&quot; and we noticed it&#39;s the way RTCP is handled....  <div>




<br></div><div>Now, I&#39;m not suggesting using the port +1 method would solve the problem; it was mostly just something we thought to try to see if we&#39;d get different results. If it&#39;s not worth trying, we&#39;ll try something else. :)</div>




<div><br></div><div>I don&#39;t have the Android debug logs handy at this time, but we&#39;ll work on putting them together.</div><div><br></div><div class="gmail_extra"><div><div dir="ltr"><div>Thanks!</div><div>James<br>




</div><div><br><div><br></div></div></div></div>
<br><br><div class="gmail_quote">On Wed, Nov 27, 2013 at 4:14 PM, Michael Jerris <span dir="ltr">&lt;<a href="mailto:mike@jerris.com" target="_blank">mike@jerris.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">




We are using rtcp mux where it uses the same port.  This is the default for webrtc and I don&#39;t think we have a way to disable it for outbound invites for webrtc media, but there shouldn&#39;t ever be a reason to disable it as all the browsers support it and its required by the spec.  As for why its not working with chrome for android, I&#39;m not sure, do you have a debug log of the call?<br>





<div><div><br>
<br>
On Nov 27, 2013, at 5:56 PM, James Mortensen &lt;<a href="mailto:james.mortensen@synclio.com" target="_blank">james.mortensen@synclio.com</a>&gt; wrote:<br>
<br>
&gt; Hello,<br>
&gt;<br>
&gt; I&#39;ve searched the list and documentation, and it&#39;s not yet clear if FreeSWITCH is able to send candidates in the same manner as we were doing with Asterisk 1.5 where it sends the RTCP to the RTP port +1.  In other words, I&#39;d see candidates that looked like this:<br>





&gt;<br>
&gt; a=candidate:3441596188 1 udp 659136 10.3.1.1 20622 typ host generation 0<br>
&gt; a=candidate:3441596188 1 udp 659136 50.18.X.X 20622 typ srflx generation 0<br>
&gt; a=candidate:3441596188 2 udp 659136 10.3.1.1 20623 typ host generation 0<br>
&gt; a=candidate:3441596188 2 udp 659136 50.18.X.X 20623 typ srflx generation 0<br>
&gt;<br>
&gt; For instance, if the RTP port was 20622, the RTCP port would be 20623.  We&#39;re getting no audio when trying to make Chrome to Android and Android to Android WebRTC calls, and we thought we&#39;d try a different RTCP method as we did have it working with Asterisk but want to use FreeSWITCH instead.<br>





&gt;<br>
&gt; I&#39;ve checked out the latest FreeSWITCH code from the master branch.<br>
&gt;<br>
&gt; Not sure if FreeSWITCH can do this yet, but if anyone knows that would be helpful.<br>
&gt;<br>
&gt; Thank you!<br>
&gt; James<br>
&gt;<br></div></div></blockquote></div></div></div></blockquote></div><br></div></div></div><br></div></div><div class="im">_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></div></blockquote></div><br></div></div>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/">http://www.cluecon.com/</a><br>
Twitter: <a href="http://twitter.com/FreeSWITCH_wire">http://twitter.com/FreeSWITCH_wire</a><br><br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a><br>GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br><a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a><br>
pstn:+19193869900
</div>