<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">To be completely honest, I don't think anyone is going to look at this issue. &nbsp;We try hard to make sure we work with the browsers, but have made no effort to work on interop with other devices, particularly ones that deviate behaviors with the browsers. &nbsp;If you can figure it out we'd be happy to review any patches. &nbsp;Might try talking to the JAIN guys and see why they are using sha-1 ?<div class=""><br class=""></div><div class="">Mike</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 13, 2015, at 6:24 AM, Oleg Blinnikov &lt;<a href="mailto:osblinnikov@gmail.com" class="">osblinnikov@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">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 "verified". 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 class=""></div><div class=""><br class=""></div><div class="">Logs are attached.</div><div class=""><br class=""></div><div class="">Thank you Michael!</div><div class=""><br class=""></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Mar 12, 2015 at 3:57 PM, Michael Jerris <span dir="ltr" class="">&lt;<a href="mailto:mike@jerris.com" target="_blank" class="">mike@jerris.com</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">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.&nbsp; That being said, Nothing we have tested against uses sha-1.&nbsp; That could be an issue.&nbsp; You should look at the full debug log of the call between fs and android and see if there is anything useful there.<div class=""><div class="h5"><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Mar 12, 2015, at 8:07 AM, Oleg Blinnikov &lt;<a href="mailto:osblinnikov@gmail.com" target="_blank" class="">osblinnikov@gmail.com</a>&gt; wrote:</div><br class=""><div class=""><div dir="ltr" class="">Hi,<div class=""><br class=""></div><div class="">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" class="">&nbsp;+ webrtc module +&nbsp;</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 &nbsp;without WebSockets.</div><div class=""><br class=""></div><div class="">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)" class="">. In Android app</span>&nbsp;I receive modified SDP from FreeSwitch and all the media traffic goes though FreeSwitch. I have the audio and video in both directions.&nbsp;</div><div class=""><br class=""></div><div class="">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 "<span style="font-family:monospace,Courier;font-size:12.8000001907349px;line-height:1.3em;background-color:rgb(249,249,249)" class="">&lt;action application="set" data="bypass_media=true"/&gt;" media starts flowing.</span></div><div class=""><br class=""></div><div class="">PS. May be it's irrelevant &nbsp;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 class=""></div><div class=""><br class=""></div><div class="">I don't know, may be I forget about some other magic options?&nbsp;</div><div class=""><br class=""></div><div class="">PS: SDPs are in the attachment</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Fri, Mar 6, 2015 at 4:43 PM, Michael Jerris <span dir="ltr" class="">&lt;<a href="mailto:mike@jerris.com" target="_blank" class="">mike@jerris.com</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">Always nice to hear that we are magic! &nbsp;<div class=""><div class=""><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Mar 6, 2015, at 5:05 AM, Oleg Blinnikov &lt;<a href="mailto:osblinnikov@gmail.com" target="_blank" class="">osblinnikov@gmail.com</a>&gt; wrote:</div><br class=""><div class=""><div dir="ltr" class="">thank you very much Michael, it magically works.</div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Mar 5, 2015 at 6:51 PM, Michael Jerris <span dir="ltr" class="">&lt;<a href="mailto:mike@jerris.com" target="_blank" class="">mike@jerris.com</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">you need to tell freeswitch to send a webrtc compatible SDP.<div class=""><br class=""></div><div class=""><a href="https://wiki.freeswitch.org/wiki/Variable_media_webrtc" target="_blank" class="">https://wiki.freeswitch.org/wiki/Variable_media_webrtc</a><br class=""><div class=""><br class=""></div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class=""><div class=""><div class="">On Mar 5, 2015, at 3:51 AM, Oleg Blinnikov &lt;<a href="mailto:osblinnikov@gmail.com" target="_blank" class="">osblinnikov@gmail.com</a>&gt; wrote:</div><br class=""></div></div><div class=""><div class=""><div class=""><div dir="ltr" class="">Hi,<div class=""><br class=""></div><div class="">I've made a simple Android Java application utilizing JAIN SIP, <a href="http://webrtc.org/" target="_blank" class="">webrtc.org</a>&nbsp;android library and connected to FreeSwitch via UDP.</div><div class=""><br class=""></div><div class="">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 class=""><br class=""></div><div class="">When I call `peerConnection.setRemoteDescription(new SDPObserver(), sdp);` in my Android Application with the SDP from FreeSwitch I get:<br class=""></div><div class=""><div class=""><br class="">"onSetFailure Failed to set remote offer sdp: Called with SDP without DTLS fingerprint."<br class=""></div></div><div class=""><br class=""></div><div class=""><div class="">At the same time the calls between Chrome/Firefox(<a href="http://tryit.jssip.net/" target="_blank" class="">http://tryit.jssip.net/</a>) and SIP-phone (e.g. linphone) greatly managed by FreeSwitch and I have pure audio flow.</div></div><div class=""><br class=""></div><div class="">Here is initial SDP from Chrome (<a href="http://tryit.jssip.net/" target="_blank" class="">http://tryit.jssip.net/</a>):<br class=""></div><div class=""><br class=""></div><div class=""><div class="">v=0</div><div class="">o=- 6887715720880489867 2 IN IP4 127.0.0.1</div><div class="">s=-</div><div class="">t=0 0</div><div class="">a=group:BUNDLE audio video</div><div class="">a=msid-semantic: WMS itEKr0vXP6lg3KNs4kVau9aL3uAfyWOlItfU</div><div class="">m=audio 38359 RTP/SAVPF 111 103 104 0 8 106 105 13 126</div><div class="">c=IN IP4 192.168.122.1</div><div class="">a=rtcp:38359 IN IP4 192.168.122.1</div><div class="">a=candidate:<a href="tel:4062413514" value="+14062413514" target="_blank" class="">4062413514</a> 1 udp <a href="tel:2122260223" value="+12122260223" target="_blank" class="">2122260223</a> 192.168.122.1 38359 typ host generation 0</div><div class="">.......<br class=""></div><div class="">a=candidate:3741779331 2 tcp 1518018303 172.17.42.1 0 typ host tcptype active generation 0<br class=""></div><div class="">a=ice-ufrag:bwrCv9yS8rCY12Az</div><div class="">a=ice-pwd:3k35jpG/i+TCbvBcJPWrw2eP</div><div class="">a=ice-options:google-ice</div><div class="">a=<b class="">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 class="">a=setup:actpass</div><div class="">a=mid:audio</div><div class="">a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level</div><div class="">a=extmap:3 <a href="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" target="_blank" class="">http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time</a></div><div class="">a=sendrecv</div><div class="">a=rtcp-mux</div><div class="">a=rtpmap:111 opus/48000/2</div><div class="">a=fmtp:111 minptime=10</div><div class="">a=rtpmap:103 ISAC/16000</div><div class="">a=rtpmap:104 ISAC/32000</div><div class="">a=rtpmap:0 PCMU/8000</div><div class="">a=rtpmap:8 PCMA/8000</div><div class="">a=rtpmap:106 CN/32000</div><div class="">a=rtpmap:105 CN/16000</div><div class="">a=rtpmap:13 CN/8000</div><div class="">a=rtpmap:126 telephone-event/8000</div><div class="">a=maxptime:60</div><div class="">a=ssrc:1291334905 cname:ALccmKLk9bGpSGWB</div><div class="">a=ssrc:1291334905 msid:itEKr0vXP6lg3KNs4kVau9aL3uAfyWOlItfU 4e8f212e-746a-47bb-bc62-4a42d4e9e84e</div><div class="">a=ssrc:1291334905 mslabel:itEKr0vXP6lg3KNs4kVau9aL3uAfyWOlItfU</div><div class="">a=ssrc:1291334905 label:4e8f212e-746a-47bb-bc62-4a42d4e9e84e</div><div class="">m=video 38359 RTP/SAVPF 100 116 117 96</div><div class="">c=IN IP4 192.168.122.1</div><div class="">a=rtcp:38359 IN IP4 192.168.122.1</div><div class="">a=candidate:<a href="tel:4062413514" value="+14062413514" target="_blank" class="">4062413514</a> 1 udp <a href="tel:2122260223" value="+12122260223" target="_blank" class="">2122260223</a> 192.168.122.1 38359 typ host generation 0</div><div class="">............</div><div class="">a=candidate:3741779331 2 tcp 1518018303 172.17.42.1 0 typ host tcptype active generation 0<br class=""></div><div class="">a=ice-ufrag:bwrCv9yS8rCY12Az</div><div class="">a=ice-pwd:3k35jpG/i+TCbvBcJPWrw2eP</div><div class="">a=ice-options:google-ice</div><div class="">a=<b class="">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 class="">a=setup:actpass</div><div class="">a=mid:video</div><div class="">a=extmap:2 urn:ietf:params:rtp-hdrext:toffset</div><div class="">a=extmap:3 <a href="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" target="_blank" class="">http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time</a></div><div class="">a=recvonly</div><div class="">a=rtcp-mux</div><div class="">a=rtpmap:100 VP8/90000</div><div class="">a=rtcp-fb:100 ccm fir</div><div class="">a=rtcp-fb:100 nack</div><div class="">a=rtcp-fb:100 nack pli</div><div class="">a=rtcp-fb:100 goog-remb</div><div class="">a=rtpmap:116 red/90000</div><div class="">a=rtpmap:117 ulpfec/90000</div><div class="">a=rtpmap:96 rtx/90000</div><div class="">a=fmtp:96 apt=100</div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Here is SDP received from FreeSwitch in JAIN SIP via UDP:</div><div class=""><br class=""></div><div class=""><div class="">v=0</div><div class="">o=FreeSWITCH 1425524563 1425524564 IN IP4 192.168.131.253</div><div class="">s=FreeSWITCH</div><div class="">c=IN IP4 192.168.131.253</div><div class="">t=0 0</div><div class="">m=audio 16390 RTP/AVP 111 0 8 101 13</div><div class="">a=rtpmap:111 opus/48000/2</div><div class="">a=fmtp:111 minptime=10</div><div class="">a=rtpmap:0 PCMU/8000</div><div class="">a=rtpmap:8 PCMA/8000</div><div class="">a=rtpmap:101 telephone-event/8000</div><div class="">a=fmtp:101 0-16</div><div class="">a=ptime:20</div><div class="">m=video 16388 RTP/AVP 100</div><div class="">a=rtpmap:100 VP8/90000</div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">I suppose that FreeSwitch wants to see WebRTC connection only on the WebSocket ports and it doesn't know that my UDP client is actually WebRTC client.&nbsp;</div><div class=""><br class=""></div><div class="">So I'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 class=""></div></div></div></div></blockquote></div></div></div></blockquote></div></div></div></div></div></blockquote></div></div></div></blockquote></div><br class=""></div></body></html>