Ticket #1972 (closed defect: fixed)
ICE initialization issues when creating a component/candidate fails.
|Reported by:||nanang||Owned by:||bennylp|
|Backport to 1.x milestone:||Backported:||no|
Description (last modified by ming) (diff)
- ICE initialization hangs when using DNS SRV and unresolvable TURN server.
When making call with IPv6, ICE/TURN, and DNS SRV enabled, the media initialization seems to get stuck and no INVITE message is not generated/sent.
After investigation it turns out that ICE transport does not update TURN candidate status from PJ_EPENDING when the asynchronous TURN server name resolution fails, so that ICE initialization never reaches state PJ_ICE_STRANS_STATE_READY and callback on_ice_complete() never gets invoked.
- Assertions when trying to access other components/candidates.
Failure in the process of creating a component/candidate, such as connection failure to a TURN server, could also lead to other problems, such as assertions when trying to access other components/candidates, which have not been initialized yet.
- Crash when accessing the failed component.
Failure in creating a TURN candidate would result in crash when trying to access the already-destroyed TURN socket.
Thanks to Bing Huan, Chio for the report.
- Description modified (diff)
- Summary changed from ICE initialization hangs when using DNS SRV and unresolvable TURN server to ICE initialization issues when creating a component/candidate fails.