[Freeswitch-dev] ADD 2 ICE CANDIDATES mod_verto
Hello all, I am working with mod_verto in a scenario where I need to send public and private IP addresses as ICE candidates. When I modify the ext-rtp-ip parameter, it only sends one option as typ host ice candidate. However, for my implementation I need to send both. What I need is the combination of those ice candidates, something like this: a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0 Is it possible to add both ice candidates in the same SDP from configuration files? Thanks Jazmin Florez Marino +57 304 564 0193 Jazmin.marino@on24.com<mailto:Jazmin.marino@on24.com> SDP with local IP 2020-04-24 14:13:49.395900 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587731419 1587731420 IN IP4 192.168.1.170 s=FreeSWITCH c=IN IP4 192.168.1.170 t=0 0 a=msid-semantic: WMS t9mERteVPrwT3aZbexPlp2U6Cspg78dq m=audio 24210 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:24210 IN IP4 192.168.1.170 a=ice-ufrag:mScCKXydfOjcMntK a=ice-pwd:Depc4PrcDqdqfgirZlTz8iCe a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0 a=end-of-candidates a=ssrc:3132020181 cname:7pVPJ0AphX8bXYd1 a=ssrc:3132020181 msid:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a0 a=ssrc:3132020181 mslabel:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a=ssrc:3132020181 label:t9mERteVPrwT3aZbexPlp2U6Cspg78dqa0 m=video 0 UDP/TLS/RTP/SAVPF 19 2020-04-24 14:13:49.395900 [NOTICE] mod_dptools.c:1360 Channel [verto.rtc/5715976] has been answered SDP with Public IP <param name="ext-rtp-ip" value="190.84.118.88"/> 2020-04-24 14:17:23.715620 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587724815 1587724816 IN IP4 190.84.118.88 s=FreeSWITCH c=IN IP4 190.84.118.88 t=0 0 a=msid-semantic: WMS 8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO m=audio 31028 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:31028 IN IP4 190.84.118.88 a=ice-ufrag:BiYFM6pSItFoUq2t a=ice-pwd:wTz7x9b00ImLonRPvGl8CBRb a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=end-of-candidates a=ssrc:2930644107 cname:If1gLNJdD1HvUPbg a=ssrc:2930644107 msid:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a0 a=ssrc:2930644107 mslabel:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a=ssrc:2930644107 label:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVOa0 m=video 0 UDP/TLS/RTP/SAVPF 19
Use different profiles and splits dns to point the internal and external to different profiles. You cant send both.
On Apr 27, 2020, at 7:29 AM, Jazmin Marina Florez Marino <Jazmin.Marino@on24.com> wrote:
Hello all,
I am working with mod_verto in a scenario where I need to send public and private IP addresses as ICE candidates. When I modify the ext-rtp-ip parameter, it only sends one option as typ host ice candidate. However, for my implementation I need to send both.
What I need is the combination of those ice candidates, something like this: a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0
Is it possible to add both ice candidates in the same SDP from configuration files?
Thanks Jazmin Florez Marino +57 304 564 0193 Jazmin.marino@on24.com <mailto:Jazmin.marino@on24.com>
SDP with local IP 2020-04-24 14:13:49.395900 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587731419 1587731420 IN IP4 192.168.1.170 s=FreeSWITCH c=IN IP4 192.168.1.170 t=0 0 a=msid-semantic: WMS t9mERteVPrwT3aZbexPlp2U6Cspg78dq m=audio 24210 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:24210 IN IP4 192.168.1.170 a=ice-ufrag:mScCKXydfOjcMntK a=ice-pwd:Depc4PrcDqdqfgirZlTz8iCe a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0 a=end-of-candidates a=ssrc:3132020181 cname:7pVPJ0AphX8bXYd1 a=ssrc:3132020181 msid:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a0 a=ssrc:3132020181 mslabel:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a=ssrc:3132020181 label:t9mERteVPrwT3aZbexPlp2U6Cspg78dqa0 m=video 0 UDP/TLS/RTP/SAVPF 19
2020-04-24 14:13:49.395900 [NOTICE] mod_dptools.c:1360 Channel [verto.rtc/5715976] has been answered
SDP with Public IP <param name="ext-rtp-ip" value="190.84.118.88"/> 2020-04-24 14:17:23.715620 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587724815 1587724816 IN IP4 190.84.118.88 s=FreeSWITCH c=IN IP4 190.84.118.88 t=0 0 a=msid-semantic: WMS 8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO m=audio 31028 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:31028 IN IP4 190.84.118.88 a=ice-ufrag:BiYFM6pSItFoUq2t a=ice-pwd:wTz7x9b00ImLonRPvGl8CBRb a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=end-of-candidates a=ssrc:2930644107 cname:If1gLNJdD1HvUPbg a=ssrc:2930644107 msid:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a0 a=ssrc:2930644107 mslabel:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a=ssrc:2930644107 label:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVOa0 m=video 0 UDP/TLS/RTP/SAVPF 19
_________________________________________________________________________
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com <https://signalwire.com/> Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community <https://signalwire.community/>
Professional FreeSWITCH Services sales@freeswitch.com <mailto:sales@freeswitch.com> https://freeswitch.com <https://freeswitch.com/>
Official FreeSWITCH Sites https://freeswitch.com/oss <https://freeswitch.com/oss> https://freeswitch.org/confluence <https://freeswitch.org/confluence> https://cluecon.com <https://cluecon.com/>
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org <mailto:FreeSWITCH-dev@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev <http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev <http://lists.freeswitch.org/mailman/options/freeswitch-dev> https://freeswitch.com <https://freeswitch.com/>
Hi Mike In my dev tests, I modified switch_core_media.c file including a localRTP variable which I set in vars.conf.xml and then in the process to create SDP I added this condition to include it. if (include_localrtp && !zstr(smh->mparams->rtpip) && strcmp(ice_out->cands[0][0].con_addr, smh->mparams->rtpip)) So, Now, the final SDP includes both, local and public IP as ICE candidates. 2020-05-13 12:04:55.581400 [DEBUG] mod_verto.c:2507 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1589367521 1589367522 IN IP4 190.84.118.88 s=FreeSWITCH c=IN IP4 190.84.118.88 t=0 0 a=msid-semantic: WMS ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 m=audio 21974 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:21974 IN IP4 190.84.118.88 a=ice-ufrag:h601eaiYuOore5o4 a=ice-pwd:BCDyR8UQpBtKHoOOkEFoEOdY a=candidate:0477192457 1 udp 659136 190.84.118.88 21974 typ host generation 0 a=candidate:0841264532 1 udp 659136 192.168.1.170 21974 typ host generation 0 a=end-of-candidates a=ssrc:1455801103 cname:ZFnI6oEw9rRMuf4e a=ssrc:1455801103 msid:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 a0 a=ssrc:1455801103 mslabel:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 a=ssrc:1455801103 label:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7a0 m=video 0 UDP/TLS/RTP/SAVPF 19 De: Mike Jerris [mailto:mike@freeswitch.org] Enviado el: martes, 26 de mayo de 2020 3:21 p. m. Para: FreeSWITCH-dev <freeswitch-dev@lists.freeswitch.org> Asunto: Re: [Freeswitch-dev] ADD 2 ICE CANDIDATES mod_verto Use different profiles and splits dns to point the internal and external to different profiles. You cant send both. On Apr 27, 2020, at 7:29 AM, Jazmin Marina Florez Marino <Jazmin.Marino@on24.com<mailto:Jazmin.Marino@on24.com>> wrote: Hello all, I am working with mod_verto in a scenario where I need to send public and private IP addresses as ICE candidates. When I modify the ext-rtp-ip parameter, it only sends one option as typ host ice candidate. However, for my implementation I need to send both. What I need is the combination of those ice candidates, something like this: a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0 Is it possible to add both ice candidates in the same SDP from configuration files? Thanks Jazmin Florez Marino +57 304 564 0193 Jazmin.marino@on24.com<mailto:Jazmin.marino@on24.com> SDP with local IP 2020-04-24 14:13:49.395900 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587731419 1587731420 IN IP4 192.168.1.170 s=FreeSWITCH c=IN IP4 192.168.1.170 t=0 0 a=msid-semantic: WMS t9mERteVPrwT3aZbexPlp2U6Cspg78dq m=audio 24210 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:24210 IN IP4 192.168.1.170 a=ice-ufrag:mScCKXydfOjcMntK a=ice-pwd:Depc4PrcDqdqfgirZlTz8iCe a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0 a=end-of-candidates a=ssrc:3132020181 cname:7pVPJ0AphX8bXYd1 a=ssrc:3132020181 msid:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a0 a=ssrc:3132020181 mslabel:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a=ssrc:3132020181 label:t9mERteVPrwT3aZbexPlp2U6Cspg78dqa0 m=video 0 UDP/TLS/RTP/SAVPF 19 2020-04-24 14:13:49.395900 [NOTICE] mod_dptools.c:1360 Channel [verto.rtc/5715976] has been answered SDP with Public IP <param name="ext-rtp-ip" value="190.84.118.88"/> 2020-04-24 14:17:23.715620 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587724815 1587724816 IN IP4 190.84.118.88 s=FreeSWITCH c=IN IP4 190.84.118.88 t=0 0 a=msid-semantic: WMS 8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO m=audio 31028 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:31028 IN IP4 190.84.118.88 a=ice-ufrag:BiYFM6pSItFoUq2t a=ice-pwd:wTz7x9b00ImLonRPvGl8CBRb a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=end-of-candidates a=ssrc:2930644107 cname:If1gLNJdD1HvUPbg a=ssrc:2930644107 msid:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a0 a=ssrc:2930644107 mslabel:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a=ssrc:2930644107 label:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVOa0 m=video 0 UDP/TLS/RTP/SAVPF 19 _________________________________________________________________________ The FreeSWITCH project is sponsored by SignalWire https://signalwire.com<https://signalwire.com/> Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform. Join our online community to chat in real time https://signalwire.community<https://signalwire.community/> Professional FreeSWITCH Services sales@freeswitch.com<mailto:sales@freeswitch.com> https://freeswitch.com<https://freeswitch.com/> Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://cluecon.com<https://cluecon.com/> FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org<mailto:FreeSWITCH-dev@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev https://freeswitch.com<https://freeswitch.com/>
Adding the line to the sdp is the easy part. All the other code to properly handle that we did that is a different story. Doing it in a way that doesn't impact performance at scale is again a different story. Setting up split dns so you dont need to do any of that is trivial.
On May 28, 2020, at 12:40 PM, Jazmin Marina Florez Marino <Jazmin.Marino@on24.com> wrote:
Hi Mike In my dev tests, I modified switch_core_media.c file including a localRTP variable which I set in vars.conf.xml and then in the process to create SDP I added this condition to include it.
if (include_localrtp && !zstr(smh->mparams->rtpip) && strcmp(ice_out->cands[0][0].con_addr, smh->mparams->rtpip))
So, Now, the final SDP includes both, local and public IP as ICE candidates.
2020-05-13 12:04:55.581400 [DEBUG] mod_verto.c:2507 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1589367521 1589367522 IN IP4 190.84.118.88 s=FreeSWITCH c=IN IP4 190.84.118.88 t=0 0 a=msid-semantic: WMS ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 m=audio 21974 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:21974 IN IP4 190.84.118.88 a=ice-ufrag:h601eaiYuOore5o4 a=ice-pwd:BCDyR8UQpBtKHoOOkEFoEOdY a=candidate:0477192457 1 udp 659136 190.84.118.88 21974 typ host generation 0 a=candidate:0841264532 1 udp 659136 192.168.1.170 21974 typ host generation 0 a=end-of-candidates a=ssrc:1455801103 cname:ZFnI6oEw9rRMuf4e a=ssrc:1455801103 msid:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 a0 a=ssrc:1455801103 mslabel:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 a=ssrc:1455801103 label:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7a0 m=video 0 UDP/TLS/RTP/SAVPF 19
De: Mike Jerris [mailto:mike@freeswitch.org] Enviado el: martes, 26 de mayo de 2020 3:21 p. m. Para: FreeSWITCH-dev <freeswitch-dev@lists.freeswitch.org> Asunto: Re: [Freeswitch-dev] ADD 2 ICE CANDIDATES mod_verto
Use different profiles and splits dns to point the internal and external to different profiles. You cant send both.
On Apr 27, 2020, at 7:29 AM, Jazmin Marina Florez Marino <Jazmin.Marino@on24.com <mailto:Jazmin.Marino@on24.com>> wrote:
Hello all,
I am working with mod_verto in a scenario where I need to send public and private IP addresses as ICE candidates. When I modify the ext-rtp-ip parameter, it only sends one option as typ host ice candidate. However, for my implementation I need to send both.
What I need is the combination of those ice candidates, something like this: a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0
Is it possible to add both ice candidates in the same SDP from configuration files?
Thanks Jazmin Florez Marino +57 304 564 0193 Jazmin.marino@on24.com <mailto:Jazmin.marino@on24.com>
SDP with local IP 2020-04-24 14:13:49.395900 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587731419 1587731420 IN IP4 192.168.1.170 s=FreeSWITCH c=IN IP4 192.168.1.170 t=0 0 a=msid-semantic: WMS t9mERteVPrwT3aZbexPlp2U6Cspg78dq m=audio 24210 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:24210 IN IP4 192.168.1.170 a=ice-ufrag:mScCKXydfOjcMntK a=ice-pwd:Depc4PrcDqdqfgirZlTz8iCe a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0 a=end-of-candidates a=ssrc:3132020181 cname:7pVPJ0AphX8bXYd1 a=ssrc:3132020181 msid:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a0 a=ssrc:3132020181 mslabel:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a=ssrc:3132020181 label:t9mERteVPrwT3aZbexPlp2U6Cspg78dqa0 m=video 0 UDP/TLS/RTP/SAVPF 19
2020-04-24 14:13:49.395900 [NOTICE] mod_dptools.c:1360 Channel [verto.rtc/5715976] has been answered
SDP with Public IP <param name="ext-rtp-ip" value="190.84.118.88"/> 2020-04-24 14:17:23.715620 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587724815 1587724816 IN IP4 190.84.118.88 s=FreeSWITCH c=IN IP4 190.84.118.88 t=0 0 a=msid-semantic: WMS 8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO m=audio 31028 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:31028 IN IP4 190.84.118.88 a=ice-ufrag:BiYFM6pSItFoUq2t a=ice-pwd:wTz7x9b00ImLonRPvGl8CBRb a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=end-of-candidates a=ssrc:2930644107 cname:If1gLNJdD1HvUPbg a=ssrc:2930644107 msid:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a0 a=ssrc:2930644107 mslabel:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a=ssrc:2930644107 label:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVOa0 m=video 0 UDP/TLS/RTP/SAVPF 19
Hi Mike In our scenario we need to send both IPs (public and private). if a FW is blocking some ports between WebRTC client and FS, we need to guarantee the SDP negotiation. If the ice candidate (by public IP) option is blocked for any reason in client side, we deployed a TURN server to negotiate SDP by local IP. That's why we need to send both IPs, to reach FS using its local IP through TURN server. De: Mike Jerris [mailto:mike@freeswitch.org] Enviado el: viernes, 29 de mayo de 2020 3:07 p. m. Para: Jazmin Marina Florez Marino <Jazmin.Marino@on24.com>; FreeSWITCH-dev <freeswitch-dev@lists.freeswitch.org> Asunto: Re: [Freeswitch-dev] ADD 2 ICE CANDIDATES mod_verto Adding the line to the sdp is the easy part. All the other code to properly handle that we did that is a different story. Doing it in a way that doesn't impact performance at scale is again a different story. Setting up split dns so you dont need to do any of that is trivial. On May 28, 2020, at 12:40 PM, Jazmin Marina Florez Marino <Jazmin.Marino@on24.com<mailto:Jazmin.Marino@on24.com>> wrote: Hi Mike In my dev tests, I modified switch_core_media.c file including a localRTP variable which I set in vars.conf.xml and then in the process to create SDP I added this condition to include it. if (include_localrtp && !zstr(smh->mparams->rtpip) && strcmp(ice_out->cands[0][0].con_addr, smh->mparams->rtpip)) So, Now, the final SDP includes both, local and public IP as ICE candidates. 2020-05-13 12:04:55.581400 [DEBUG] mod_verto.c:2507 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1589367521 1589367522 IN IP4 190.84.118.88 s=FreeSWITCH c=IN IP4 190.84.118.88 t=0 0 a=msid-semantic: WMS ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 m=audio 21974 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:21974 IN IP4 190.84.118.88 a=ice-ufrag:h601eaiYuOore5o4 a=ice-pwd:BCDyR8UQpBtKHoOOkEFoEOdY a=candidate:0477192457 1 udp 659136 190.84.118.88 21974 typ host generation 0 a=candidate:0841264532 1 udp 659136 192.168.1.170 21974 typ host generation 0 a=end-of-candidates a=ssrc:1455801103 cname:ZFnI6oEw9rRMuf4e a=ssrc:1455801103 msid:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 a0 a=ssrc:1455801103 mslabel:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 a=ssrc:1455801103 label:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7a0 m=video 0 UDP/TLS/RTP/SAVPF 19 De: Mike Jerris [mailto:mike@freeswitch.org] Enviado el: martes, 26 de mayo de 2020 3:21 p. m. Para: FreeSWITCH-dev <freeswitch-dev@lists.freeswitch.org<mailto:freeswitch-dev@lists.freeswitch.org>> Asunto: Re: [Freeswitch-dev] ADD 2 ICE CANDIDATES mod_verto Use different profiles and splits dns to point the internal and external to different profiles. You cant send both. On Apr 27, 2020, at 7:29 AM, Jazmin Marina Florez Marino <Jazmin.Marino@on24.com<mailto:Jazmin.Marino@on24.com>> wrote: Hello all, I am working with mod_verto in a scenario where I need to send public and private IP addresses as ICE candidates. When I modify the ext-rtp-ip parameter, it only sends one option as typ host ice candidate. However, for my implementation I need to send both. What I need is the combination of those ice candidates, something like this: a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0 Is it possible to add both ice candidates in the same SDP from configuration files? Thanks Jazmin Florez Marino +57 304 564 0193 Jazmin.marino@on24.com<mailto:Jazmin.marino@on24.com> SDP with local IP 2020-04-24 14:13:49.395900 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587731419 1587731420 IN IP4 192.168.1.170 s=FreeSWITCH c=IN IP4 192.168.1.170 t=0 0 a=msid-semantic: WMS t9mERteVPrwT3aZbexPlp2U6Cspg78dq m=audio 24210 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:24210 IN IP4 192.168.1.170 a=ice-ufrag:mScCKXydfOjcMntK a=ice-pwd:Depc4PrcDqdqfgirZlTz8iCe a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0 a=end-of-candidates a=ssrc:3132020181 cname:7pVPJ0AphX8bXYd1 a=ssrc:3132020181 msid:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a0 a=ssrc:3132020181 mslabel:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a=ssrc:3132020181 label:t9mERteVPrwT3aZbexPlp2U6Cspg78dqa0 m=video 0 UDP/TLS/RTP/SAVPF 19 2020-04-24 14:13:49.395900 [NOTICE] mod_dptools.c:1360 Channel [verto.rtc/5715976] has been answered SDP with Public IP <param name="ext-rtp-ip" value="190.84.118.88"/> 2020-04-24 14:17:23.715620 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587724815 1587724816 IN IP4 190.84.118.88 s=FreeSWITCH c=IN IP4 190.84.118.88 t=0 0 a=msid-semantic: WMS 8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO m=audio 31028 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:31028 IN IP4 190.84.118.88 a=ice-ufrag:BiYFM6pSItFoUq2t a=ice-pwd:wTz7x9b00ImLonRPvGl8CBRb a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=end-of-candidates a=ssrc:2930644107 cname:If1gLNJdD1HvUPbg a=ssrc:2930644107 msid:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a0 a=ssrc:2930644107 mslabel:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a=ssrc:2930644107 label:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVOa0 m=video 0 UDP/TLS/RTP/SAVPF 19
Just set the variable include_external_ip=true /b On Tue, Jun 2, 2020 at 10:07 AM Jazmin Marina Florez Marino < Jazmin.Marino@on24.com> wrote:
Hi Mike
In our scenario we need to send both IPs (public and private). if a FW is blocking some ports between WebRTC client and FS, we need to guarantee the SDP negotiation. If the ice candidate (by public IP) option is blocked for any reason in client side, we deployed a TURN server to negotiate SDP by local IP. That’s why we need to send both IPs, to reach FS using its local IP through TURN server.
*De:* Mike Jerris [mailto:mike@freeswitch.org] *Enviado el:* viernes, 29 de mayo de 2020 3:07 p. m. *Para:* Jazmin Marina Florez Marino <Jazmin.Marino@on24.com>; FreeSWITCH-dev <freeswitch-dev@lists.freeswitch.org> *Asunto:* Re: [Freeswitch-dev] ADD 2 ICE CANDIDATES mod_verto
Adding the line to the sdp is the easy part. All the other code to properly handle that we did that is a different story. Doing it in a way that doesn't impact performance at scale is again a different story. Setting up split dns so you dont need to do any of that is trivial.
On May 28, 2020, at 12:40 PM, Jazmin Marina Florez Marino < Jazmin.Marino@on24.com> wrote:
Hi Mike
In my dev tests, I modified switch_core_media.c file including a localRTP variable which I set in vars.conf.xml and then in the process to create SDP I added this condition to include it.
if (include_localrtp && !zstr(smh->mparams->rtpip) && strcmp(ice_out->cands[0][0].con_addr, smh->mparams->rtpip))
So, Now, the final SDP includes both, local and public IP as ICE candidates.
2020-05-13 12:04:55.581400 [DEBUG] mod_verto.c:2507 Local SDP verto.rtc/5715976:
v=0
o=FreeSWITCH 1589367521 1589367522 IN IP4 190.84.118.88
s=FreeSWITCH
c=IN IP4 190.84.118.88
t=0 0
a=msid-semantic: WMS ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7
m=audio 21974 UDP/TLS/RTP/SAVPF 111 110
a=rtpmap:111 opus/48000/2
a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1
a=rtpmap:110 telephone-event/48000
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86
a=setup:active
a=rtcp-mux
a=rtcp:21974 IN IP4 190.84.118.88
a=ice-ufrag:h601eaiYuOore5o4
a=ice-pwd:BCDyR8UQpBtKHoOOkEFoEOdY
a=candidate:0477192457 1 udp 659136 190.84.118.88 21974 typ host generation 0
a=candidate:0841264532 1 udp 659136 192.168.1.170 21974 typ host generation 0
a=end-of-candidates
a=ssrc:1455801103 cname:ZFnI6oEw9rRMuf4e
a=ssrc:1455801103 msid:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 a0
a=ssrc:1455801103 mslabel:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7
a=ssrc:1455801103 label:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7a0
m=video 0 UDP/TLS/RTP/SAVPF 19
*De:* Mike Jerris [mailto:mike@freeswitch.org <mike@freeswitch.org>] *Enviado el:* martes, 26 de mayo de 2020 3:21 p. m. *Para:* FreeSWITCH-dev <freeswitch-dev@lists.freeswitch.org> *Asunto:* Re: [Freeswitch-dev] ADD 2 ICE CANDIDATES mod_verto
Use different profiles and splits dns to point the internal and external to different profiles. You cant send both.
On Apr 27, 2020, at 7:29 AM, Jazmin Marina Florez Marino < Jazmin.Marino@on24.com> wrote:
Hello all,
I am working with mod_verto in a scenario where I need to send public and private IP addresses as ICE candidates.
When I modify the ext-rtp-ip parameter, it only sends one option as typ host ice candidate. However, for my implementation I need to send both.
What I need is the combination of those ice candidates, something like this:
a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0
a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0
Is it possible to add both ice candidates in the same SDP from configuration files?
Thanks
Jazmin Florez Marino
+57 304 564 0193
Jazmin.marino@on24.com
*SDP with local IP*
2020-04-24 14:13:49.395900 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976:
v=0
o=FreeSWITCH 1587731419 1587731420 IN IP4 192.168.1.170
s=FreeSWITCH
c=IN IP4 192.168.1.170
t=0 0
a=msid-semantic: WMS t9mERteVPrwT3aZbexPlp2U6Cspg78dq
m=audio 24210 UDP/TLS/RTP/SAVPF 111 110
a=rtpmap:111 opus/48000/2
a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1
a=rtpmap:110 telephone-event/48000
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86
a=setup:active
a=rtcp-mux
a=rtcp:24210 IN IP4 192.168.1.170
a=ice-ufrag:mScCKXydfOjcMntK
a=ice-pwd:Depc4PrcDqdqfgirZlTz8iCe
*a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0*
a=end-of-candidates
a=ssrc:3132020181 cname:7pVPJ0AphX8bXYd1
a=ssrc:3132020181 msid:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a0
a=ssrc:3132020181 mslabel:t9mERteVPrwT3aZbexPlp2U6Cspg78dq
a=ssrc:3132020181 label:t9mERteVPrwT3aZbexPlp2U6Cspg78dqa0
m=video 0 UDP/TLS/RTP/SAVPF 19
2020-04-24 14:13:49.395900 [NOTICE] mod_dptools.c:1360 Channel [verto.rtc/5715976] has been answered
*SDP with Public IP*
*<param name="ext-rtp-ip" value="190.84.118.88"/>*
2020-04-24 14:17:23.715620 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976:
v=0
o=FreeSWITCH 1587724815 1587724816 IN IP4 190.84.118.88
s=FreeSWITCH
c=IN IP4 190.84.118.88
t=0 0
a=msid-semantic: WMS 8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO
m=audio 31028 UDP/TLS/RTP/SAVPF 111 110
a=rtpmap:111 opus/48000/2
a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1
a=rtpmap:110 telephone-event/48000
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86
a=setup:active
a=rtcp-mux
a=rtcp:31028 IN IP4 190.84.118.88
a=ice-ufrag:BiYFM6pSItFoUq2t
a=ice-pwd:wTz7x9b00ImLonRPvGl8CBRb
*a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0*
a=end-of-candidates
a=ssrc:2930644107 cname:If1gLNJdD1HvUPbg
a=ssrc:2930644107 msid:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a0
a=ssrc:2930644107 mslabel:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO
a=ssrc:2930644107 label:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVOa0
m=video 0 UDP/TLS/RTP/SAVPF 19
_________________________________________________________________________
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services sales@freeswitch.com https://freeswitch.com
Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev https://freeswitch.com
-- Brian West | Co-founder and Developer Need Commercial support? email sales@freeswitch.com FreeSWITCH Solutions | 17345 Civic Drive #2531 Brookfield, WI 53045 <https://maps.google.com/?q=17345+Civic+Drive+%232531+Brookfield,+WI+53045&entry=gmail&source=g> Email: brian@freeswitch.com Mobile: 918-424-9378 Website: https://www.FreeSWITCH.com <https://www.freeswitch.com/> [image: https://www.facebook.com/signalwireinc?src=email] <https://www.facebook.com/freeswitch> [image: https://twitter.com/freeswitch] <https://twitter.com/freeswitch>
Hi Brian I did it. However, the behavior that I got setting it, was getting duplicated ice candidates:public IP. Check the email that I replied you one month ago. FYI ################################################################# De: Jazmin Marina Florez Marino Enviado el: miércoles, 29 de abril de 2020 8:25 p. m. Para: Brian West <brian@freeswitch.com>; FreeSWITCH Users Help <freeswitch-users@lists.freeswitch.org> Asunto: RE: [Freeswitch-users] ADD 2 ICE CANDIDATES mod_verto Hello Brian I included that variable in vars.xml configuration file and after that change I get this. CASE 1: When I added the ext-rtp-ip value in verto.conf.xml, I got 2 ice candidates. However, they are the same (public ip). <param name="ext-rtp-ip" value="190.84.118.88"/> CASE 2: When I commented the ext-rtp-ip value in verto.conf.xml file, I only got local IP as ice candidate In these configurations ext-rtp-ip in internal and external sip_profiles are set with auto-nat values. How can I get both IPs (local and public) as valid Ice candidates in the SDP? CASE 1 2020-04-29 19:50:56.535350 [DEBUG] switch_core_media.c:8498 Audio params are unchanged for verto.rtc/5715976. 2020-04-29 19:50:56.535350 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1588188372 1588188373 IN IP4 190.84.118.88 s=FreeSWITCH c=IN IP4 190.84.118.88 t=0 0 a=msid-semantic: WMS RQn2gdt1uxyuNrfyPxHSSO3S0hq5M1jt m=audio 19484 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:19484 IN IP4 190.84.118.88 a=ice-ufrag:ICIqgB97Jp2mgcFO a=ice-pwd:yRsZnXKhQPN10ISzbqQhSPes a=candidate:2978044633 1 udp 659136 190.84.118.88 19484 typ host generation 0 a=candidate:3048048785 1 udp 659136 190.84.118.88 19484 typ host generation 0 a=end-of-candidates a=ssrc:917829176 cname:HwmNAFFU33fGlk40 a=ssrc:917829176 msid:RQn2gdt1uxyuNrfyPxHSSO3S0hq5M1jt a0 a=ssrc:917829176 mslabel:RQn2gdt1uxyuNrfyPxHSSO3S0hq5M1jt a=ssrc:917829176 label:RQn2gdt1uxyuNrfyPxHSSO3S0hq5M1jta0 m=video 0 UDP/TLS/RTP/SAVPF 19 CASE 2 2020-04-29 20:05:01.563371 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1588191001 1588191002 IN IP4 192.168.1.170 s=FreeSWITCH c=IN IP4 192.168.1.170 t=0 0 a=msid-semantic: WMS uwE5jFb2y1vHfnFvS07p6MR0MiZh3hfo m=audio 17700 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:17700 IN IP4 192.168.1.170 a=ice-ufrag:yBbvdTlQ2aXVi29M a=ice-pwd:CipItVdvMfCRN6EcxGxApIhh a=candidate:8338699166 1 udp 659136 192.168.1.170 17700 typ host generation 0 a=end-of-candidates a=ssrc:1119156645 cname:EKjNgkFEb1cheIDW a=ssrc:1119156645 msid:uwE5jFb2y1vHfnFvS07p6MR0MiZh3hfo a0 a=ssrc:1119156645 mslabel:uwE5jFb2y1vHfnFvS07p6MR0MiZh3hfo a=ssrc:1119156645 label:uwE5jFb2y1vHfnFvS07p6MR0MiZh3hfoa0 m=video 0 UDP/TLS/RTP/SAVPF 19 De: Brian West [mailto:brian@freeswitch.com] Enviado el: martes, 2 de junio de 2020 10:42 a. m. Para: freeswitch-dev@lists.freeswitch.org CC: Shishir Pokharel <Shishir.Pokharel@on24.com> Asunto: Re: [Freeswitch-dev] ADD 2 ICE CANDIDATES mod_verto Just set the variable include_external_ip=true /b On Tue, Jun 2, 2020 at 10:07 AM Jazmin Marina Florez Marino <Jazmin.Marino@on24.com<mailto:Jazmin.Marino@on24.com>> wrote: Hi Mike In our scenario we need to send both IPs (public and private). if a FW is blocking some ports between WebRTC client and FS, we need to guarantee the SDP negotiation. If the ice candidate (by public IP) option is blocked for any reason in client side, we deployed a TURN server to negotiate SDP by local IP. That’s why we need to send both IPs, to reach FS using its local IP through TURN server. De: Mike Jerris [mailto:mike@freeswitch.org<mailto:mike@freeswitch.org>] Enviado el: viernes, 29 de mayo de 2020 3:07 p. m. Para: Jazmin Marina Florez Marino <Jazmin.Marino@on24.com<mailto:Jazmin.Marino@on24.com>>; FreeSWITCH-dev <freeswitch-dev@lists.freeswitch.org<mailto:freeswitch-dev@lists.freeswitch.org>> Asunto: Re: [Freeswitch-dev] ADD 2 ICE CANDIDATES mod_verto Adding the line to the sdp is the easy part. All the other code to properly handle that we did that is a different story. Doing it in a way that doesn't impact performance at scale is again a different story. Setting up split dns so you dont need to do any of that is trivial. On May 28, 2020, at 12:40 PM, Jazmin Marina Florez Marino <Jazmin.Marino@on24.com<mailto:Jazmin.Marino@on24.com>> wrote: Hi Mike In my dev tests, I modified switch_core_media.c file including a localRTP variable which I set in vars.conf.xml and then in the process to create SDP I added this condition to include it. if (include_localrtp && !zstr(smh->mparams->rtpip) && strcmp(ice_out->cands[0][0].con_addr, smh->mparams->rtpip)) So, Now, the final SDP includes both, local and public IP as ICE candidates. 2020-05-13 12:04:55.581400 [DEBUG] mod_verto.c:2507 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1589367521 1589367522 IN IP4 190.84.118.88 s=FreeSWITCH c=IN IP4 190.84.118.88 t=0 0 a=msid-semantic: WMS ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 m=audio 21974 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:21974 IN IP4 190.84.118.88 a=ice-ufrag:h601eaiYuOore5o4 a=ice-pwd:BCDyR8UQpBtKHoOOkEFoEOdY a=candidate:0477192457 1 udp 659136 190.84.118.88 21974 typ host generation 0 a=candidate:0841264532 1 udp 659136 192.168.1.170 21974 typ host generation 0 a=end-of-candidates a=ssrc:1455801103 cname:ZFnI6oEw9rRMuf4e a=ssrc:1455801103 msid:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 a0 a=ssrc:1455801103 mslabel:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7 a=ssrc:1455801103 label:ayYpTBb6zUWvNcxrUbbVUikqTtFA7AR7a0 m=video 0 UDP/TLS/RTP/SAVPF 19 De: Mike Jerris [mailto:mike@freeswitch.org] Enviado el: martes, 26 de mayo de 2020 3:21 p. m. Para: FreeSWITCH-dev <freeswitch-dev@lists.freeswitch.org<mailto:freeswitch-dev@lists.freeswitch.org>> Asunto: Re: [Freeswitch-dev] ADD 2 ICE CANDIDATES mod_verto Use different profiles and splits dns to point the internal and external to different profiles. You cant send both. On Apr 27, 2020, at 7:29 AM, Jazmin Marina Florez Marino <Jazmin.Marino@on24.com<mailto:Jazmin.Marino@on24.com>> wrote: Hello all, I am working with mod_verto in a scenario where I need to send public and private IP addresses as ICE candidates. When I modify the ext-rtp-ip parameter, it only sends one option as typ host ice candidate. However, for my implementation I need to send both. What I need is the combination of those ice candidates, something like this: a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0 Is it possible to add both ice candidates in the same SDP from configuration files? Thanks Jazmin Florez Marino +57 304 564 0193 Jazmin.marino@on24.com<mailto:Jazmin.marino@on24.com> SDP with local IP 2020-04-24 14:13:49.395900 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587731419 1587731420 IN IP4 192.168.1.170 s=FreeSWITCH c=IN IP4 192.168.1.170 t=0 0 a=msid-semantic: WMS t9mERteVPrwT3aZbexPlp2U6Cspg78dq m=audio 24210 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:24210 IN IP4 192.168.1.170 a=ice-ufrag:mScCKXydfOjcMntK a=ice-pwd:Depc4PrcDqdqfgirZlTz8iCe a=candidate:3496438569 1 udp 659136 192.168.1.170 24210 typ host generation 0 a=end-of-candidates a=ssrc:3132020181 cname:7pVPJ0AphX8bXYd1 a=ssrc:3132020181 msid:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a0 a=ssrc:3132020181 mslabel:t9mERteVPrwT3aZbexPlp2U6Cspg78dq a=ssrc:3132020181 label:t9mERteVPrwT3aZbexPlp2U6Cspg78dqa0 m=video 0 UDP/TLS/RTP/SAVPF 19 2020-04-24 14:13:49.395900 [NOTICE] mod_dptools.c:1360 Channel [verto.rtc/5715976] has been answered SDP with Public IP <param name="ext-rtp-ip" value="190.84.118.88"/> 2020-04-24 14:17:23.715620 [DEBUG] mod_verto.c:2502 Local SDP verto.rtc/5715976: v=0 o=FreeSWITCH 1587724815 1587724816 IN IP4 190.84.118.88 s=FreeSWITCH c=IN IP4 190.84.118.88 t=0 0 a=msid-semantic: WMS 8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO m=audio 31028 UDP/TLS/RTP/SAVPF 111 110 a=rtpmap:111 opus/48000/2 a=fmtp:111 useinbandfec=1; minptime=10; stereo=1; sprop-stereo=1 a=rtpmap:110 telephone-event/48000 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv a=fingerprint:sha-256 FD:DF:48:02:C3:F8:D9:57:F8:C8:97:CD:3A:AB:6A:A6:97:4A:BA:A5:48:5A:3A:2D:0F:18:14:EC:D5:A9:21:86 a=setup:active a=rtcp-mux a=rtcp:31028 IN IP4 190.84.118.88 a=ice-ufrag:BiYFM6pSItFoUq2t a=ice-pwd:wTz7x9b00ImLonRPvGl8CBRb a=candidate:8228103366 1 udp 659136 190.84.118.88 31028 typ host generation 0 a=end-of-candidates a=ssrc:2930644107 cname:If1gLNJdD1HvUPbg a=ssrc:2930644107 msid:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a0 a=ssrc:2930644107 mslabel:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVO a=ssrc:2930644107 label:8gumHFWDC0sD12iPvVhSeEhUfLdXQBVOa0 m=video 0 UDP/TLS/RTP/SAVPF 19 _________________________________________________________________________ The FreeSWITCH project is sponsored by SignalWire https://signalwire.com Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform. Join our online community to chat in real time https://signalwire.community Professional FreeSWITCH Services sales@freeswitch.com<mailto:sales@freeswitch.com> https://freeswitch.com Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://cluecon.com FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org<mailto:FreeSWITCH-dev@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev https://freeswitch.com -- Brian West | Co-founder and Developer Need Commercial support? email sales@freeswitch.com<mailto:sales@freeswitch.com> FreeSWITCH Solutions | 17345 Civic Drive #2531 Brookfield, WI 53045<https://maps.google.com/?q=17345+Civic+Drive+%232531+Brookfield,+WI+53045&entry=gmail&source=g> Email: brian@freeswitch.com<mailto:brian@freeswitch.com> Mobile: 918-424-9378 Website: https://www.FreeSWITCH.com<https://www.freeswitch.com/> [https://www.facebook.com/signalwireinc?src=email]<https://www.facebook.com/freeswitch>[https://twitter.com/freeswitch]<https://twitter.com/freeswitch>
participants (3)
-
Brian West
-
Jazmin Marina Florez Marino
-
Mike Jerris