<div dir="ltr">Hello,<div><br></div><div>I am trying to resolve asterisk bug <a href="https://issues.asterisk.org/jira/browse/ASTERISK-22911">https://issues.asterisk.org/jira/browse/ASTERISK-22911</a>, but I have some questions regarding existing code:</div>
<div><br></div><div>[ I am working on 11.5.1 version ]</div><div><br></div><div>Currently ICE session is initialised on first SDP INVITE, during initialisation it pairs received remote candidates with known local candidates and effectively establishes a route from asterisk to requesting client.</div>
<div>When WebRTC client issues unhold reinvite, ICE session is not altered, thus rendering connection from asterisk to client broken.</div><div><br></div><div>How should I alter the ICE session?</div><div>Things I already tried:</div>
<div>1. Force asterisk to provide PJICE with completely fresh copy of remote candidates (not a concat of newly received and old candidates) (I think this is a separate bug.)</div><div>2. Force ICE session to recheck all available candidates by either reseting the check container or by removing them altogether. Both of these approaches failed, and I suspect the failures are related to async STUN checking, that use previously registered checks. I could not find any documentation/methods/help within PJSIP.</div>
<div><br></div><div>Things I would like to try, yet may not find a logical approach to them:</div><div>1. Scrap the whole ICE session and reinitiate a new one. That was my first idea yet I can not determine where the ICE session was created in the first place. All the places I suspected were not executed over the whole lifetime of asterisk application.</div>
<div>2. Just forget the session when receiving and SDP reinvite and build a new one. This seems logical, yet I can not determine will it work for all cases, since I know only my own little case.</div><div><br></div><div>Please help me, I am struggling for over a week...</div>
<div><br></div><div>Vytis</div></div>