[Freeswitch-users] Verto ice restart

David P davidswalkabout at gmail.com
Thu Feb 6 00:57:41 UTC 2020

I'm looking for best practices about how to detect a) that an ice restart
is needed (in verto), and b) how to invoke the restart.

FWIW, we use FS v1.8 and will soon try 1.10.2.

For detection, I think it could be done either of these ways:

a1) In the 1st arg to jQuery.verto(), provide an object with
property deviceParams.onICEComplete set to a callback. In the callback,
iterate over mediaData.candidateList. For example, check if all candidates
are private IPs but all your callers are expected to have public IPs.

a2) In the 2nd arg to jQuery.verto(), provide an object with property
'onDialogState' set to a callback. In the callback, if arg1.state.name is
"hangup" and arg1.cause is "INCOMPATIBLE DESTINATION". (Ignoring that this
hangup cause occurs for other reasons also.)

To do the actual restart...

In method (a1) we should have access to the peer connection object via
arg1.peer. Would it mess up the state of verto to do
arg1.peer.createOffer({iceRestart:true}) ? Do we want to limit this
reaction to happen just once per call attempt in order to avoid possibly
many chained failures?

In method (a2), I'm not sure there's any way to access the peer connection.

I searched jquery.FSRTC.js for "restart" in case there's a standard way of
doing this, but found no match.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20200205/c296d927/attachment.html>

More information about the FreeSWITCH-users mailing list