<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Configure stun in your client so you get proper candidates that are reachable.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 19, 2020, at 6:18 PM, David P <<a href="mailto:davidswalkabout@gmail.com" class="">davidswalkabout@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Yesterday I had a verto call in which the <video> contained a remote echo (which is how we configure it) but there was no audio out nor in (confirmed by getStats showing zero audio bytes out or in).<div class=""><br class=""></div><div class="">I was using:</div><div class="">FreeSWITCH Version 1.10.4-release+git~20200805T110119Z~133fc2c870~64bit (git 133fc2c 2020-08-05 11:01:19Z 64bit)<br class=""></div><div class="">from Chrome84/Win10</div><div class=""><br class=""></div><div class="">I noticed the video candidates included a relay but the audio ones didn't:</div><div class=""><br class=""></div><div class="">f6e23797-4ad2-b761-2a6d-97846c122d7e m=audio 62058 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e c=IN IP4 192.168.208.1<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e a=rtcp:9 IN IP4 0.0.0.0<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e a=candidate:1252570982 1 udp 2122260223 192.168.208.1 62058 typ host generation 0 network-id 1<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e a=candidate:854729925 1 udp 2122194687 172.20.4.169 62059 typ host generation 0 network-id 2 network-cost 10<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e a=candidate:69946262 1 tcp 1518280447 192.168.208.1 9 typ host tcptype active generation 0 network-id 1<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e a=candidate:2087835701 1 tcp 1518214911 172.20.4.169 9 typ host tcptype active generation 0 network-id 2 network-cost 10<br class=""><br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e m=video 13143 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123 119 114 115 116<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e c=IN IP4 35.160.47.89<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e a=rtcp:9 IN IP4 0.0.0.0<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e a=candidate:1252570982 1 udp 2122260223 192.168.208.1 62060 typ host generation 0 network-id 1<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e a=candidate:854729925 1 udp 2122194687 172.20.4.169 62061 typ host generation 0 network-id 2 network-cost 10<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e a=candidate:69946262 1 tcp 1518280447 192.168.208.1 9 typ host tcptype active generation 0 network-id 1<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e a=candidate:2087835701 1 tcp 1518214911 172.20.4.169 9 typ host tcptype active generation 0 network-id 2 network-cost 10<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e a=candidate:3112167340 1 udp 25042943 <a href="http://35.jj.kk.mm/" class="">35.jj.kk.mm</a> 13143 typ relay raddr 210.55.134.98 rport 53504 generation 0 network-id 2 network-cost 10<br class=""></div><div class=""><br class=""></div><div class="">The relay was chosen for video, and it appeared that the same candidate was going to be chosen for audio, but then an "AUDIO RTP" suggests it chose a private IPv4. And it seems that private IPv4 wasn't treated as a peer-reflexive candidate, so the media couldn't be routed...</div><div class=""><br class=""></div><div class="">f6e23797-4ad2-b761-2a6d-97846c122d7e 2020-08-19 05:14:33.753568 [DEBUG] switch_core_media.c:4338 Choose rtp candidate, index 2, <a href="http://35.jj.kk.mm:13143/" class="">35.jj.kk.mm:13143</a><br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e 2020-08-19 05:14:33.753568 [DEBUG] switch_core_media.c:4104 verto.rtc/1200_a6dd33a4-1def-447c-a62a-ae807bb92da6_v-1*s-4 choosing family v4<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e 2020-08-19 05:14:33.753568 [DEBUG] switch_core_media.c:4349 Choose same candidate, index 0, for rtcp based on rtcp-mux attribute <a href="http://35.jj.kk.mm:13143/" class="">35.jj.kk.mm:13143</a><br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e 2020-08-19 05:14:33.753568 [DEBUG] switch_core_media.c:4401 setting remote video ice addr to index 2 <a href="http://35.jj.kk.mm:13143/" class="">35.jj.kk.mm:13143</a> based on candidate<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e 2020-08-19 05:14:33.753568 [DEBUG] switch_core_media.c:4436 Setting remote rtcp video addr to <a href="http://35.jj.kk.mm:13143/" class="">35.jj.kk.mm:13143</a> based on candidate<br class="">f6e23797-4ad2-b761-2a6d-97846c122d7e 2020-08-19 05:14:33.753568 [DEBUG] switch_core_media.c:8663 AUDIO RTP [verto.rtc/1200_a6dd33a4-1def-447c-a62a-ae807bb92da6_v-1*s-4] 10.0.0.100 port 26610 -> 192.168.208.1 port 62058 codec: 111 ms: 20<br class=""></div><div class=""><br class=""></div><div class="">Am I interpreting the log correctly?</div><div class=""><br class=""></div><div class="">Is there a way to avoid this?</div><div class=""><br class=""></div><div class="">Note that in /usr/local/freeswitch/conf/autoload_configs/acl.conf.xml we already deny private IPv4 (although I think we should allow them so they could be used peer-reflexively):</div><div class="">    <list name="disallow-privateIPv4" default="allow"><br class="">        <node type="deny" host="10.0.0.0" mask="255.0.0.0"/><br class="">        <node type="deny" host="172.16.0.0" mask="255.240.0.0"/><br class="">        <node type="deny" host="192.168.0.0" mask="255.255.0.0"/><br class="">    </list><br class=""></div></div></div></blockquote></div><br class=""></body></html>