[jitsi-users] How to force an alternate DNS resolver? Jitsi fails resolving


#1

Thank you, Ingo.

I have forced dns resolving through 127.0.0.2
(a situation where the dig command succeeds in resolving _xmpp-client._tcp.google.com./SRV (see in previous post on this thread));
and _in_addition_ , I enabled (at the Jitsi "Options") the "parallel resolver", again at 127.0.0.2; _but_Jitsi_fails_:

Here is the error message at the terminal:
  > 08:38:14.103 SEVERE: [51] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectUsingSRVRecords().901 No SRV addresses found for _xmpp-client._tcp.google.com

And here is the relevant Jitsi log file (omitting some redundancies):

···

08:35:40.858 INFO: [13] org.jitsi.service.libjitsi.LibJitsi.info() Successfully started LibJitsi using as implementation: org.jitsi.impl.libjitsi.LibJitsiOSGiImpl

  > 08:35:40.963 INFO: [13] plugin.defaultresourcepack.DefaultResourcePackActivator.start().93 Default resources ... [REGISTERED]
  > 08:35:40.996 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.runtime.name=OpenJDK Runtime Environment
  > 08:35:40.996 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() felix.config.properties=file:/usr/share/jitsi/lib/felix.client.run.properties
  > 08:35:40.996 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() sun.boot.library.path=/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386
  > 08:35:40.996 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.vm.version=24.79-b02
  > 08:35:40.996 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.vm.vendor=Oracle Corporation
  > 08:35:40.997 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.vendor.url=http://java.oracle.com/
  > 08:35:40.997 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() path.separator=:
  > 08:35:40.997 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.util.logging.config.file=/usr/share/jitsi/lib/logging.properties
  > 08:35:40.997 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.vm.name=OpenJDK Server VM
  > 08:35:40.997 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() file.encoding.pkg=sun.io
  > 08:35:40.997 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() user.country=US
  > 08:35:40.997 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() sun.java.launcher=SUN_STANDARD
  > 08:35:40.997 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() sun.os.patch.level=unknown
  > 08:35:40.997 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.vm.specification.name=Java Virtual Machine Specification
  > 08:35:40.997 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() user.dir=/usr/share/jitsi
  > 08:35:40.998 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.runtime.version=1.7.0_79-b14
  > 08:35:40.998 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
  > 08:35:40.998 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.endorsed.dirs=/usr/lib/jvm/java-7-openjdk-i386/jre/lib/endorsed
  > 08:35:40.998 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() os.arch=i386
  > 08:35:40.998 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.io.tmpdir=/tmp
  > 08:35:40.998 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() line.separator=
  > 08:35:40.998 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.vm.specification.vendor=Oracle Corporation
  > 08:35:40.998 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() os.name=Linux
  > 08:35:40.998 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() sun.jnu.encoding=UTF-8
  > 08:35:40.998 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.library.path=/usr/share/jitsi/lib/native:/usr/java/packages/lib/i386:/usr/lib/i386-linux-gnu/jni:/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu:/usr/lib/jni:/lib:/usr/lib
  > 08:35:40.998 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() net.java.sip.communicator.SC_CACHE_DIR_LOCATION=/home/harry
  > .
  > .
  > .
  > 08:35:40.999 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() jna.library.path=/usr/share/jitsi/lib/native
  > 08:35:41.000 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.class.path=/usr/share/jitsi/lib/felix.jar:/usr/share/jitsi/sc-bundles/sc-launcher.jar:/usr/share/jitsi/sc-bundles/util.jar:/usr/share/jitsi/lib
  > 08:35:41.000 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.vm.specification.version=1.7
  > 08:35:41.000 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() sun.java.command=net.java.sip.communicator.launcher.SIPCommunicator
  > 08:35:41.000 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.home=/usr/lib/jvm/java-7-openjdk-i386/jre
  > 08:35:41.000 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() sun.arch.data.model=32
  > 08:35:41.000 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() user.language=en
  > 08:35:41.000 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.specification.vendor=Oracle Corporation
  > 08:35:41.000 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() awt.toolkit=sun.awt.X11.XToolkit
  > 08:35:41.000 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.vm.info=mixed mode
  > 08:35:41.000 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.version=1.7.0_79
  > 08:35:41.001 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() java.ext.dirs=/usr/lib/jvm/java-7-openjdk-i386/jre/lib/ext:/usr/java/packages/lib/ext
  > 08:35:41.001 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() sun.boot.class.path=/usr/lib/jvm/java-7-openjdk-i386/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/jfr.jar:/usr/lib/jvm/java-7-openjdk-i386/jre/classes
  > 08:35:41.001 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() net.java.sip.communicator.SC_HOME_DIR_LOCATION=/home/harry
  > 08:35:41.003 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() Normal classloader
  > 08:35:41.003 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() failed to find jitsi-default-overrides.properties with class loader, will continue without it.
  > 08:35:41.086 INFO: [13] impl.resources.ResourceManagementActivator.start().70 Resource manager STARTED
  > 08:35:41.087 INFO: [13] impl.resources.ResourceManagementActivator.start().79 Resource manager REGISTERED
  > 08:35:41.093 INFO: [13] service.notification.NotificationServiceActivator.start().37 Notification Service...[ STARTED ]
  > 08:35:41.111 INFO: [13] service.notification.NotificationServiceActivator.start().44 Notification Service ...[REGISTERED]
  > 08:35:41.120 INFO: [13] impl.dns.DnsUtilActivator.start().107 DNS service ... [STARTING]
  > 08:35:41.138 INFO: [13] impl.dns.DnsUtilActivator.start().133 ParallelResolver ... [REGISTERED]
  > 08:35:41.139 INFO: [13] impl.dns.DnsUtilActivator.start().147 DNS service ... [STARTED]
  > 08:35:41.167 INFO: [13] impl.netaddr.NetworkAddressManagerServiceImpl.start().81 Network Address Manager ...[ STARTED ]
  > 08:35:41.169 INFO: [13] impl.netaddr.NetworkConfigurationWatcher.checkNetworkInterfaces().387 Currently Active eth0:[/10.0.1.164]
  > 08:35:41.169 INFO: [13] impl.dns.DnsUtilActivator.logDNSServers().282 Loading or Reloading resolver config, default DNS servers are: 127.0.0.2,
  > 08:35:41.170 INFO: [13] impl.netaddr.NetworkAddressManagerServiceImpl.start().87 Network Address Manager Service ...[REGISTERED]
  > 08:35:41.231 INFO: [13] impl.browserlauncher.BrowserLauncherActivator.start().70 Browser Launcher Service STARTED
  > 08:35:41.236 INFO: [13] impl.browserlauncher.BrowserLauncherActivator.start().79 Browser Launcher Service REGISTERED
  > 08:35:41.253 INFO: [13] impl.packetlogging.PacketLoggingActivator.start().89 Packet Logging Service ...[REGISTERED]
  > 08:35:41.262 INFO: [13] impl.version.VersionActivator.start() Jitsi Version: Jitsi 2.8.5426
  > 08:35:41.364 INFO: [13] plugin.globalproxyconfig.GlobalProxyPluginActivator.start().79 GLOBAL PROXY CONFIGURATION PLUGIN... [REGISTERED]
  > 08:35:41.371 INFO: [13] impl.phonenumbers.PhoneNumberServiceActivator.start().37 Packet Logging Service ...[REGISTERED]
  > .
  > .
  > .
  > 08:35:42.761 INFO: [39] plugin.simpleaccreg.SimpleAccountRegistrationActivator.init().185 SIMPLE ACCOUNT REGISTRATION ...[STARTED]
  > 08:35:43.662 INFO: [29] org.jitsi.impl.neomedia.transform.zrtp.ZrtpFortunaEntropyGatherer.info() GatherEntropy got: 176400 bytes
  > 08:35:52.664 INFO: [51] impl.dns.ParallelResolverImpl.send().219 Primary DNS seems laggy: no response for _xmpp-client._tcp.google.com./SRV after 10000ms. Enabling redundant mode.
  > 08:35:52.666 INFO: [57] impl.dns.ParallelResolverImpl.run().559 Sending query for _xmpp-client._tcp.google.com./SRV to backup resolvers
  > 08:35:52.668 SEVERE: [51] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectUsingSRVRecords().901 No SRV addresses found for _xmpp-client._tcp.google.com
  > 08:35:52.670 INFO: [58] impl.dns.ParallelResolverImpl.run().559 Sending query for google.com./A to backup resolvers
  > 08:35:53.118 INFO: [60] impl.dns.ParallelResolverImpl.run().559 Sending query for google.com./AAAA to backup resolvers
  > 08:36:12.696 INFO: [54] impl.dns.ParallelResolverImpl.run().511 Default DNS resolver timed out.
  > 08:37:42.833 INFO: [69] impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged().114 Jingle : OFF
  > 08:37:44.639 INFO: [78] impl.dns.ParallelResolverImpl.run().559 Sending query for _xmpp-client._tcp.google.com./SRV to backup resolvers
  > 08:37:44.640 SEVERE: [75] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectUsingSRVRecords().901 No SRV addresses found for _xmpp-client._tcp.google.com
  > 08:37:44.643 INFO: [79] impl.dns.ParallelResolverImpl.run().559 Sending query for google.com./A to backup resolvers
  > 08:37:45.087 INFO: [82] impl.dns.ParallelResolverImpl.run().559 Sending query for google.com./AAAA to backup resolvers
  > 08:38:14.670 INFO: [77] impl.dns.ParallelResolverImpl.run().511 Default DNS resolver timed out.

On , Ingo Bauersachs wrote:

Usually Jitsi would obtain the DNS server ip from /etc/resolv.conf. Have you checked the logs? Jitsi writes out which nameservers are being queried.
The manual configuration is in Tools/Options/Advanced/DNS

Ingo

Freundliche Grüsse,
Ingo Bauersachs

-- sent from my mobile

On 04.02.2016, at 13:57, Hsu Tsai <hsutsai@yandex.com> wrote:

Is there a Jitsi command-line parmeter, (or Jitsi "property") which dictates to Jitsi which name server to use?

Is this what Bauersachs hints to, in this article:

http://www.internetsociety.org/deploy360/blog/2012/04/jitsi-is-the-first-voip-softphone-to-support-dnssec/,
Mr. Bauersachs, one of Jitsi's developers, mentions an option to override the OS default resolver, for running Jitsi:
> The option to override the OS’s default resolver is there because during development,
> the only servers supporting all relevant record types were from DNS-OARC and Verisign.

The file: /etc/resolv.conf links to: /etc/resolvconf/run/resolv.conf

The directory: /etc/resolvconf/run/ links to the directory: /run/resolvconf

Therefore the file: /run/resolvconf/resolv.conf, which I have modified (as mentioned in the OP), is the end entity, pointed to by /etc/resolv.conf

So the question remains; why does Jitsi fail in dns srv resolution, while the dig command succeeds under the same conditions. And most importantly: how to fix this? (since it prevents Jitsi from running)?

On Thursday 04 February 2016 at 00:18:51, Hsu Tsai wrote:

Thank you, Marious. But sorry I wasn't clear enough: I have erased the
previous name server address, and left only

the new one. Here is the entire /run/resolvconf/resolv.conf file:

> # Dynamic resolv.conf(5) file for glibc resolver(3) generated by
> resolvconf(8)
> # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
> nameserver 127.0.0.2

and still, dig works fine (uses the 127.0.0.2 name server address, and
succeeds in resolving), but Jitsi fails.

Do you also have a file /etc/resolv.conf ?

If yes, do the contents differ from the above "nameserver 127.0.0.2"?

Antony.

Please reply to the list; please *don't* CC me.