Opened 9 years ago
Closed 9 years ago
#1891 closed defect (fixed)
ICE negotiation fails after each component has successful connectivity check
Reported by: | nanang | Owned by: | bennylp |
---|---|---|---|
Priority: | normal | Milestone: | release-2.5 |
Component: | pjnath | Version: | trunk |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: | no |
Description
Ice negotiation scenario:
- Receive ICE check response for component 1 with an unknown XOR-MAPPED-ADDRESS, ICE adds this unknown address as a new peer reflexive candidate.
- Receive ICE check response for component 2 with the same XOR-MAPPED-ADDRESS as above (somehow!), ICE wrongly assumes it is for the same candidate as the one just created above due to similar XOR-MAPPED-ADDRESS address, hence the successful check flag is assigned to wrong component too.
- As only two checks above are successful in the negotiation and ICE thinks both are for component 1 (so no successful check for component 2), the ICE negotiation status is set as failed.
After investigation, we found that ICE only matches the XOR-MAPPED-ADDRESS in looking up the local candidate, so in the scenario no 2 above, instead of adding a new (peer reflexive) candidate, it uses an existing one which actually belongs to a different component.
Thanks Roland Wallner for the report.
Change History (1)
comment:1 Changed 9 years ago by nanang
- Resolution set to fixed
- Status changed from new to closed
Note: See
TracTickets for help on using
tickets.
In 5184: