[asterisk-dev] Guidance required

Vytis Valentinavičius xytis2000 at gmail.com
Thu Dec 5 06:14:49 CST 2013


Hello,

I am trying to resolve asterisk bug
https://issues.asterisk.org/jira/browse/ASTERISK-22911, but I have some
questions regarding existing code:

[ I am working on 11.5.1 version ]

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.
When WebRTC client issues unhold reinvite, ICE session is not altered, thus
rendering connection from asterisk to client broken.

How should I alter the ICE session?
Things I already tried:
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.)
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.

Things I would like to try, yet may not find a logical approach to them:
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.
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.

Please help me, I am struggling for over a week...

Vytis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20131205/c981eb84/attachment.html>


More information about the asterisk-dev mailing list