<div dir="ltr">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.<div><br></div><div>FWIW, we use FS v1.8 and will soon try 1.10.2.<br><div><br></div><div>For detection, I think it could be done either of these ways:</div><div><br></div><div>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.</div><div><br></div><div>a2) In the 2nd arg to 

jQuery.verto(), provide an object with property 'onDialogState' set to a callback. In the callback, if <a href="http://arg1.state.name">arg1.state.name</a> is "hangup" and arg1.cause is "INCOMPATIBLE DESTINATION". (Ignoring that this hangup cause occurs for other reasons also.)</div><div><br></div><div>To do the actual restart...</div></div><div><br></div><div>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?</div><div><br></div><div>In method (a2), I'm not sure there's any way to access the peer connection.</div><div><br></div><div>I searched jquery.FSRTC.js for "restart" in case there's a standard way of doing this, but found no match.</div><div><br></div><div>Cheers,</div><div>David</div></div>