hank5000 / ice4j

Automatically exported from code.google.com/p/ice4j
0 stars 0 forks source link

Wrong preference for choosing default candidate (not in accordance with rfc5245) #24

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
Just see sources:
Candidate.java getDefaultPreference() and Component.java 
selectDefaultCandidate()

The issue is wrong preference for choosing default candidate. 

What is the expected output? What do you see instead?
Candidates priority must be:
relayed 
reflexive 
host

Currently designed in ice4j:
relayed
host
reflexive 

https://tools.ietf.org/html/rfc5245#page-25

   It is RECOMMENDED that default candidates be chosen based on the
   likelihood of those candidates to work with the peer that is being
   contacted.  It is RECOMMENDED that the default candidates are the
   relayed candidates (if relayed candidates are available), server
   reflexive candidates (if server reflexive candidates are available),
   and finally host candidates.

What version of the product are you using? On what operating system?
latest trunk version, revision 470

Please provide any additional information below.

Nov 10, 2014 3:32:33 PM org.ice4j.ice.Agent gatherCandidates
INFO: Gather candidates for component command.RTP
Nov 10, 2014 3:32:33 PM org.ice4j.ice.Agent createComponent
INFO:   [fe80:0:0:0:a6:19ff:fe55:827a]:8888/udp (host)
Nov 10, 2014 3:32:33 PM org.ice4j.ice.Agent createComponent
INFO:   10.0.0.83:8888/udp (host)
Nov 10, 2014 3:32:33 PM org.ice4j.ice.Agent createComponent
INFO:   55.171.215.212:8888/udp (srflx)
Nov 10, 2014 3:32:33 PM com.streamer.iceagent.Ice createStream
INFO: RTP Component created in 75 ms
Nov 10, 2014 3:32:33 PM com.streamer.iceagent.Ice createAgent
INFO: Total harvesting time: 123ms.

media stream:command (component count=1)
Component id=1 parent stream=command
3 Local candidates:
default candidate: candidate:2 1 udp 2130706431 10.0.0.83 8888 typ host
candidate:1 1 udp 2130706431 fe80:0:0:0:a6:19ff:fe55:827a 8888 typ host
candidate:2 1 udp 2130706431 10.0.0.83 8888 typ host
candidate:3 1 udp 1677724415 55.171.215.212 8888 typ srflx raddr 10.0.0.83 
rport 8888
no remote candidates.

Original issue reported on code.google.com by aiexdr.s...@gmail.com on 10 Nov 2014 at 4:04