Open da2x opened 9 years ago
This is an interesting issue. I suppose what you are seeing here is a bug in Android's Java runtime implementation. Neither yaxim nor smack (the underlying XMPP library) do resolve AAAA or A records, they only obtain the SRV record for the XMPP service, and then let the Java runtime connect to the given hostname.
I remember I saw this issue on older Android releases, but I really hoped they would have nailed it by now. I suppose I need to bring that up on the smack issue tracker and see if we want to create a workaround. And then, I need to use the newest version of smack in yaxim. Until all of this happens, IPv4 is probably deprecated ;-)
yaxim tries to connect to AAAA for about a minute and then fails completely (ETIMEOUT). Retries the AAAA connection after an interval.
RFC-6555 says to:
IPv6 will, unfortunately, continue to be a source of inexplainable problems for users for a long time. RFC-6555 is important because networks often are broken.
An alternative implementation (popular before RFC-6555):
This should be easier to implement.
I can’t say I’ve had many IPv6 problems with any app on Android other than some third-party calendar plug-ins.