<div dir="ltr"><div>I tried to debug again and now I noticed that the audio flow actually goes in both directions but still no video. I discovered in FreeSwitch log that during successful video call from Chrome to Android all 4 fingerprints are sha-256 and all of them are shown as &quot;verified&quot;. But during unsuccessful call from Android I get sha-1 (from Chrome still sha-256) and for some reason FreeSwitch shows only 3 fingerprints verified. So I guess that something is wrong with the video fingerprint verification from my Android Application.<br></div><div><br></div><div>Logs are attached.</div><div><br></div><div>Thank you Michael!</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 12, 2015 at 3:57 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">its not changing it back and forth to sha-256/sha-1 those are 2 different channels... the leg to android is always sha-1.  That being said, Nothing we have tested against uses sha-1.  That could be an issue.  You should look at the full debug log of the call between fs and android and see if there is anything useful there.<div><div class="h5"><div><br><div><blockquote type="cite"><div>On Mar 12, 2015, at 8:07 AM, Oleg Blinnikov &lt;<a href="mailto:osblinnikov@gmail.com" target="_blank">osblinnikov@gmail.com</a>&gt; wrote:</div><br><div><div dir="ltr">Hi,<div><br></div><div>Unfortunately not everything runs smoothly. I run FreeSWITCH Version 1.5.15b+git~20150203T210457Z~4174fb9cbe~64bit (git 4174fb9 2015-02-03 21:04:57Z 64bit) with the default configuration<font face="verdana, sans-serif"> + webrtc module + </font>tweaked bridge application for 1010 - 1019 extensions where I added ignore_early_media=true because of chrome troubles with pranswer and media_webrtc=true because one of my clients is actually JAIN SIP  without WebSockets.</div><div><br></div><div>Now I call from Chrome to my Android app<span style="font-family:monospace,Courier;font-size:12.8000001907349px;line-height:1.3em;background-color:rgb(249,249,249)">. In Android app</span> I receive modified SDP from FreeSwitch and all the media traffic goes though FreeSwitch. I have the audio and video in both directions. </div><div><br></div><div>But when I createOffer in the Android application and send it to Chrome the media is not flowing in any directions. In case I set &quot;<span style="font-family:monospace,Courier;font-size:12.8000001907349px;line-height:1.3em;background-color:rgb(249,249,249)">&lt;action application=&quot;set&quot; data=&quot;bypass_media=true&quot;/&gt;&quot; media starts flowing.</span></div><div><br></div><div>PS. May be it&#39;s irrelevant  but the only strange thing I noticed is that Android App produces fingerprint in sha-1 then FreeSwitch changes it to sha-256 and sends to Chrome. Chrome responds with sha-256 then FreeSwitch modifies it back to sha-1.<br></div><div><br></div><div>I don&#39;t know, may be I forget about some other magic options? </div><div><br></div><div>PS: SDPs are in the attachment</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 6, 2015 at 4:43 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Always nice to hear that we are magic!  <div><div><div><br><div><blockquote type="cite"><div>On Mar 6, 2015, at 5:05 AM, Oleg Blinnikov &lt;<a href="mailto:osblinnikov@gmail.com" target="_blank">osblinnikov@gmail.com</a>&gt; wrote:</div><br><div><div dir="ltr">thank you very much Michael, it magically works.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 5, 2015 at 6:51 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">you need to tell freeswitch to send a webrtc compatible SDP.<div><br></div><div><a href="https://wiki.freeswitch.org/wiki/Variable_media_webrtc" target="_blank">https://wiki.freeswitch.org/wiki/Variable_media_webrtc</a><br><div><br></div><div><br><div><blockquote type="cite"><div><div><div>On Mar 5, 2015, at 3:51 AM, Oleg Blinnikov &lt;<a href="mailto:osblinnikov@gmail.com" target="_blank">osblinnikov@gmail.com</a>&gt; wrote:</div><br></div></div><div><div><div><div dir="ltr">Hi,<div><br></div><div>I&#39;ve made a simple Android Java application utilizing JAIN SIP, <a href="http://webrtc.org/" target="_blank">webrtc.org</a> android library and connected to FreeSwitch via UDP.</div><div><br></div><div>But when I send SDP from SIP/Chrome/Firefox phone to my JAIN SIP client this SDP is not managed well by FreeSwitch for establishment WebRTC PeerConnection.</div><div><br></div><div>When I call `peerConnection.setRemoteDescription(new SDPObserver(), sdp);` in my Android Application with the SDP from FreeSwitch I get:<br></div><div><div><br>&quot;onSetFailure Failed to set remote offer sdp: Called with SDP without DTLS fingerprint.&quot;<br></div></div><div><br></div><div><div>At the same time the calls between Chrome/Firefox(<a href="http://tryit.jssip.net/" target="_blank">http://tryit.jssip.net/</a>) and SIP-phone (e.g. linphone) greatly managed by FreeSwitch and I have pure audio flow.</div></div><div><br></div><div>Here is initial SDP from Chrome (<a href="http://tryit.jssip.net/" target="_blank">http://tryit.jssip.net/</a>):<br></div><div><br></div><div><div>v=0</div><div>o=- 6887715720880489867 2 IN IP4 127.0.0.1</div><div>s=-</div><div>t=0 0</div><div>a=group:BUNDLE audio video</div><div>a=msid-semantic: WMS itEKr0vXP6lg3KNs4kVau9aL3uAfyWOlItfU</div><div>m=audio 38359 RTP/SAVPF 111 103 104 0 8 106 105 13 126</div><div>c=IN IP4 192.168.122.1</div><div>a=rtcp:38359 IN IP4 192.168.122.1</div><div>a=candidate:<a href="tel:4062413514" value="+14062413514" target="_blank">4062413514</a> 1 udp <a href="tel:2122260223" value="+12122260223" target="_blank">2122260223</a> 192.168.122.1 38359 typ host generation 0</div><div>.......<br></div><div>a=candidate:3741779331 2 tcp 1518018303 172.17.42.1 0 typ host tcptype active generation 0<br></div><div>a=ice-ufrag:bwrCv9yS8rCY12Az</div><div>a=ice-pwd:3k35jpG/i+TCbvBcJPWrw2eP</div><div>a=ice-options:google-ice</div><div>a=<b>fingerprint</b>:sha-256 52:8C:0F:27:C6:D6:CF:AE:F4:87:AC:AE:DF:7B:9B:B2:75:90:60:6A:2A:82:09:98:AD:04:0B:35:45:6A:13:A2</div><div>a=setup:actpass</div><div>a=mid:audio</div><div>a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level</div><div>a=extmap:3 <a href="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" target="_blank">http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time</a></div><div>a=sendrecv</div><div>a=rtcp-mux</div><div>a=rtpmap:111 opus/48000/2</div><div>a=fmtp:111 minptime=10</div><div>a=rtpmap:103 ISAC/16000</div><div>a=rtpmap:104 ISAC/32000</div><div>a=rtpmap:0 PCMU/8000</div><div>a=rtpmap:8 PCMA/8000</div><div>a=rtpmap:106 CN/32000</div><div>a=rtpmap:105 CN/16000</div><div>a=rtpmap:13 CN/8000</div><div>a=rtpmap:126 telephone-event/8000</div><div>a=maxptime:60</div><div>a=ssrc:1291334905 cname:ALccmKLk9bGpSGWB</div><div>a=ssrc:1291334905 msid:itEKr0vXP6lg3KNs4kVau9aL3uAfyWOlItfU 4e8f212e-746a-47bb-bc62-4a42d4e9e84e</div><div>a=ssrc:1291334905 mslabel:itEKr0vXP6lg3KNs4kVau9aL3uAfyWOlItfU</div><div>a=ssrc:1291334905 label:4e8f212e-746a-47bb-bc62-4a42d4e9e84e</div><div>m=video 38359 RTP/SAVPF 100 116 117 96</div><div>c=IN IP4 192.168.122.1</div><div>a=rtcp:38359 IN IP4 192.168.122.1</div><div>a=candidate:<a href="tel:4062413514" value="+14062413514" target="_blank">4062413514</a> 1 udp <a href="tel:2122260223" value="+12122260223" target="_blank">2122260223</a> 192.168.122.1 38359 typ host generation 0</div><div>............</div><div>a=candidate:3741779331 2 tcp 1518018303 172.17.42.1 0 typ host tcptype active generation 0<br></div><div>a=ice-ufrag:bwrCv9yS8rCY12Az</div><div>a=ice-pwd:3k35jpG/i+TCbvBcJPWrw2eP</div><div>a=ice-options:google-ice</div><div>a=<b>fingerprint</b>:sha-256 52:8C:0F:27:C6:D6:CF:AE:F4:87:AC:AE:DF:7B:9B:B2:75:90:60:6A:2A:82:09:98:AD:04:0B:35:45:6A:13:A2</div><div>a=setup:actpass</div><div>a=mid:video</div><div>a=extmap:2 urn:ietf:params:rtp-hdrext:toffset</div><div>a=extmap:3 <a href="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" target="_blank">http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time</a></div><div>a=recvonly</div><div>a=rtcp-mux</div><div>a=rtpmap:100 VP8/90000</div><div>a=rtcp-fb:100 ccm fir</div><div>a=rtcp-fb:100 nack</div><div>a=rtcp-fb:100 nack pli</div><div>a=rtcp-fb:100 goog-remb</div><div>a=rtpmap:116 red/90000</div><div>a=rtpmap:117 ulpfec/90000</div><div>a=rtpmap:96 rtx/90000</div><div>a=fmtp:96 apt=100</div></div><div><br></div><div><br></div><div>Here is SDP received from FreeSwitch in JAIN SIP via UDP:</div><div><br></div><div><div>v=0</div><div>o=FreeSWITCH 1425524563 1425524564 IN IP4 192.168.131.253</div><div>s=FreeSWITCH</div><div>c=IN IP4 192.168.131.253</div><div>t=0 0</div><div>m=audio 16390 RTP/AVP 111 0 8 101 13</div><div>a=rtpmap:111 opus/48000/2</div><div>a=fmtp:111 minptime=10</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=fmtp:101 0-16</div><div>a=ptime:20</div><div>m=video 16388 RTP/AVP 100</div><div>a=rtpmap:100 VP8/90000</div></div><div><br></div><div><br></div><div>I suppose that FreeSwitch wants to see WebRTC connection only on the WebSocket ports and it doesn&#39;t know that my UDP client is actually WebRTC client. </div><div><br></div><div>So I&#39;m wondering if it possible to connect SIP client to the WebSocket port via TCP using standard SIP client and never upgrade connection to WebSocket?</div></div></div></div></div></blockquote></div></div></div></div></blockquote></div></div></div></blockquote></div><br></div></div></div></div></blockquote></div></div></div></blockquote></div><br></div></div></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>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" target="_blank">http://confluence.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></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>Sincerely,</div><div>Oleg Blinnikov</div></div></div>
</div>