JIGASI SIP registration retry

We notice that sometimes Jigasi 1.0- 210 loses SIP registration to our SIP server (Freeswitch). The only way to force re-registration is to restart JIGASI server. Is there any way to refresh SIP registration from Jigasi?

It should re-register itself. Do you have logs from such situation?

Hi Damencho

we use jigasi 1.0-210

seems it try to register to server for 30 seconds, then stops trying.

This is log from jigasi :

2018-11-09 17:37:44.981 INFO: [23] impl.protocol.sip.SipLogger.logInfo().196 Info from the JAIN-SIP stack: value -1000 will be used for reliableConnectionKeepAliveTimeout stack property
2018-11-09 17:37:44.981 INFO: [23] impl.protocol.sip.SipLogger.logInfo().196 Info from the JAIN-SIP stack: Setting Stack Thread priority to 10
2018-11-09 17:37:44.997 WARNING: [23] impl.protocol.sip.SipLogger.logWarning().185 Warning from the JAIN-SIP stackusing default tls security policy
2018-11-09 17:37:45.008 WARNING: [23] impl.protocol.sip.SipLogger.logWarning().185 Warning from the JAIN-SIP stackUsing default keystore type jks
2018-11-09 17:37:45.008 WARNING: [23] impl.protocol.sip.SipLogger.logWarning().185 Warning from the JAIN-SIP stackTLS server settings will be inactive - TLS key store will use JVM defaults keyStoreType=jks javax.net.ssl.keyStore=null javax.net.ssl.keyStorePassword=null
2018-11-09 17:37:45.008 INFO: [23] impl.protocol.sip.SipLogger.logInfo().196 Info from the JAIN-SIP stack: javax.net.ssl.trustStorePassword is null, using the password passed through javax.net.ssl.keyStorePassword
2018-11-09 17:37:45.008 WARNING: [23] impl.protocol.sip.SipLogger.logWarning().185 Warning from the JAIN-SIP stackUsing default truststore type jks
2018-11-09 17:37:45.008 WARNING: [23] impl.protocol.sip.SipLogger.logWarning().185 Warning from the JAIN-SIP stackTLS trust settings will be inactive - TLS trust store will use JVM defaults. trustStoreType=jks javax.net.ssl.trustStore=null javax.net.ssl.trustStorePassword=null
2018-11-09 17:37:45.084 INFO: [23] impl.protocol.sip.SipLogger.logInfo().196 Info from the JAIN-SIP stack: the sip stack timer gov.nist.javax.sip.stack.timers.DefaultSipTimer has been started
2018-11-09 17:37:46.378 INFO: [43] org.jitsi.jigasi.SipGateway.registrationStateChanged().105 REG STATE CHANGE ProtocolProviderServiceSipImpl(videoconference@XXXXXXXXXXXXXX (SIP)) -> RegistrationStateChangeEvent[ oldState=Unregistered; newState=RegistrationState=Registering; reasonCode=-1; reason=null]
2018-11-09 17:38:18.457 INFO: [39] org.jitsi.jigasi.SipGateway.registrationStateChanged().105 REG STATE CHANGE ProtocolProviderServiceSipImpl(videoconference@XXXXXXXXXXXXXX (SIP)) -> RegistrationStateChangeEvent[ oldState=Registering; newState=RegistrationState=Connection Failed; reasonCode=-1; reason=A timeout occurred while trying to connect to the server.]
2018-11-09 17:38:18.460 INFO: [39] impl.protocol.sip.SipLogger.logInfo().196 Info from the JAIN-SIP stack: the sip stack timer gov.nist.javax.sip.stack.timers.DefaultSipTimer has been stopped
2018-11-09 17:38:19.461 INFO: [39] impl.protocol.sip.SipLogger.logInfo().196 Info from the JAIN-SIP stack: the sip stack timer gov.nist.javax.sip.stack.timers.DefaultSipTimer has been stopped

This is the tcpdump taken from the sip server, with sip profile blocked:

17:37:45.861430 IP JIGASI_IP.5060 > SIP_IP.5060: SIP: REGISTER sip:SIP_FQDN SIP/2.0
17:37:45.861561 IP SIP_IP > JIGASI_IP: ICMP SIP_IP udp port 5060 unreachable, length 556
17:37:46.363092 IP JIGASI_IP.5060 > SIP_IP.5060: SIP: REGISTER sip:SIP_FQDN SIP/2.0
17:37:46.363143 IP SIP_IP > JIGASI_IP: ICMP SIP_IP udp port 5060 unreachable, length 556
17:37:47.362951 IP JIGASI_IP.5060 > SIP_IP.5060: SIP: REGISTER sip:SIP_FQDN SIP/2.0
17:37:47.363069 IP SIP_IP > JIGASI_IP: ICMP SIP_IP udp port 5060 unreachable, length 556
17:37:49.363279 IP JIGASI_IP.5060 > SIP_IP.5060: SIP: REGISTER sip:SIP_FQDN SIP/2.0
17:37:49.363336 IP SIP_IP > JIGASI_IP: ICMP SIP_IP udp port 5060 unreachable, length 556
17:37:53.364060 IP JIGASI_IP.5060 > SIP_IP.5060: SIP: REGISTER sip:SIP_FQDN SIP/2.0
17:37:53.364127 IP SIP_IP > JIGASI_IP: ICMP SIP_IP udp port 5060 unreachable, length 556
17:37:57.365035 IP JIGASI_IP.5060 > SIP_IP.5060: SIP: REGISTER sip:SIP_FQDN SIP/2.0
17:37:57.365384 IP SIP_IP > JIGASI_IP: ICMP SIP_IP udp port 5060 unreachable, length 556
17:38:01.366206 IP JIGASI_IP.5060 > SIP_IP.5060: SIP: REGISTER sip:SIP_FQDN SIP/2.0
17:38:01.366271 IP SIP_IP > JIGASI_IP: ICMP SIP_IP udp port 5060 unreachable, length 556
17:38:05.367090 IP JIGASI_IP.5060 > SIP_IP.5060: SIP: REGISTER sip:SIP_FQDN SIP/2.0
17:38:05.367151 IP SIP_IP > JIGASI_IP: ICMP SIP_IP udp port 5060 unreachable, length 556
17:38:09.368459 IP JIGASI_IP.5060 > SIP_IP.5060: SIP: REGISTER sip:SIP_FQDN SIP/2.0
17:38:09.368561 IP SIP_IP > JIGASI_IP: ICMP SIP_IP udp port 5060 unreachable, length 556
17:38:13.369141 IP JIGASI_IP.5060 > SIP_IP.5060: SIP: REGISTER sip:SIP_FQDN SIP/2.0
17:38:13.369284 IP SIP_IP > JIGASI_IP: ICMP SIP_IP udp port 5060 unreachable, length 556
17:38:17.369278 IP JIGASI_IP.5060 > SIP_IP.5060: SIP: REGISTER sip:SIP_FQDN SIP/2.0
17:38:17.369342 IP SIP_IP > JIGASI_IP: ICMP SIP_IP udp port 5060 unreachable, length 556

If can help to have our jigasi configuration file, don’t hesitate to ask

Thank you for support

I don’t see a problem here. It tries to connect, it cannot connect and it gives up. Apparently, udp port 5060 on SIP_IP is not reachable.

The problem is that it doesn’t retry any more.

Could i configure a periodical retry timer when jigasi is unregistered? In example do one REGISETR REQ retry every 60 seconds?

Well this is how it is suppose to work. Once there is a successful connection at least once, and network goes down it will retry with increasing timeout.
But the problem is that you cannot do initial successful registration, so if address or port is wrong, or padsword is wrong initial reg will fail and no other will succeed.
So fix the port or ip address for the sip server, so it can succeed at least once and it will reconnect.
There is also keepalive setring which by default is options messages, but it can be configured to be register. Normally re-register timeout is configured from server. The response of sip register message cobtains the time for the client to do the next registration.

Hi, thank you fro the workaround, but i’ts important to save the following cases:

  1. If Jigasi fails to register for any reason (wrong SIP password, SIP server not responding at the moment,…) Jigasi will try to register after a TIMER1.

  2. The REGISTER message has an Expiry Time. The standard SIP client behaviour is to try to renew the registration when half the expiry time has passed.

This is the way most SIP phones /clients behaves. It’s very important for interop purposes and availability reasons that Jigasi follow those best practices, with correct SIP messages.

Do you agree?
Please refer to RFC or to major SIP phone producers (CISCO, YEALINK, POLYCOM) implementation.

Thank you.

My question for you: was that protocol provider registered successfully at least once?

It is implemented to work as you describe. Here is the code, feel free to propose a change:

Why not to retry even if jigasi didn’t arrive to register ate least once? I’ve Never see on SIP that if the SIP client fail to register doesn’ try anymore

Please remove this if condition: if(!hasAtLeastOneSuccessfulConnection(pp))

This is there because of the following case: you open the UI enter some data, like ip-address, which is wrong.
Tries ones, fails and shows the user what is the problem, so the problem can be fixed, otherwise it will keep trying to reconnect without giving a chance the user to fix the wrong information.

Ok.
The other case is: nightime scheduled reboot of server: the SIP server, then the Jigasi server. If there are no synchronization between the two servers, jigasi never registers.
This case can happen every night in some data-center, for maintenance purppose.
Could you fix this case. please?

Thank you.

You can easily workaround this by just adding a configuration:
net.java.sip.communicator.plugin.reconnectplugin.ATLEAST_ONE_SUCCESSFUL_CONNECTION.<AccountUniqueID>=true
Where AccountUniqueID is the value of your provider property - ACCOUNT_UID.


In may case its SIP\:damencho@my.sip.server.net

I have a similar issue , using Asterisk. Fresh Boot or reboot doesn’t register, but restarting jigasi does register and very quickly.

I tried the added line, but still same behavior. Is this the correct syntax using your example (along with the angled brackets < > )?

net.java.sip.communicator.plugin.reconnectplugin.ATLEAST_ONE_SUCCESSFUL_CONNECTION.<SIP\:damencho@my.sip.server.net>=true

Here’s the bulk of sip-communicator.properties (censored of course) :

net.java.sip.communicator.impl.protocol.sip.acc1503906472738=acc1503906472738
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.ACCOUNT_UID=SIP\:888@voip.domain.com
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.PASSWORD=mybase64password
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.PROTOCOL_NAME=SIP
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.SERVER_ADDRESS=voip.domain.com
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.SERVER_PORT=5160
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.PROXY_ADDRESS=voip.domain.com
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.PROXY_PORT=5160
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.PROXY_ADDRESS_VALIDATED=true
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.PROXY_AUTO_CONFIG=false
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.PREFERRED_TRANSPORT=udp
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.USER_ID=888@voip.domain.com
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.KEEP_ALIVE_INTERVAL=25
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.KEEP_ALIVE_METHOD=OPTIONS
net.java.sip.communicator.impl.protocol.sip.acc1503906472738.VOICEMAIL_ENABLED=false

and jigasi log from a fresh boot.

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/share/jigasi/lib/slf4j-jdk14-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/share/jigasi/lib/slf4j-simple-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory]
2020-05-02 14:31:32.972 INFO: [11] org.jitsi.service.libjitsi.LibJitsi.log() Successfully started LibJitsi using as implementation: org.jitsi.impl.libjitsi.LibJitsiOSGiImpl
2020-05-02 14:31:33.069 INFO: [11] impl.configuration.ConfigurationActivator.log() Using properties file configuration store.
2020-05-02 14:31:33.108 INFO: [11] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() java.vendor=Private Build
sun.java.launcher=SUN_STANDARD
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
os.name=Linux
sun.boot.class.path=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/classes
net.java.sip.communicator.service.protocol.MIN_MEDIA_PORT_NUMBER=10000
java.util.logging.config.file=/etc/jitsi/jigasi/logging.properties
java.vm.specification.vendor=Oracle Corporation
java.runtime.version=1.8.0_252-8u252-b09-1ubuntu1-b09
user.name=jigasi
net.java.sip.communicator.impl.configuration.USE_PROPFILE_CONFIG=true
user.language=en
org.jitsi.impl.neomedia.transform.csrc.SsrcTransformEngine.dropMutedAudioSourceInReverseTransform=true
sun.boot.library.path=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64
net.java.sip.communicator.service.media.MIN_PORT_NUMBER=10000
java.version=1.8.0_252
user.timezone=America/New_York
sun.arch.data.model=64
java.endorsed.dirs=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/endorsed
sun.cpu.isalist=
sun.jnu.encoding=UTF-8
file.encoding.pkg=sun.io
file.separator=/
java.specification.name=Java Platform API Specification
java.class.version=52.0
user.country=US
net.java.sip.communicator.service.media.DISABLE_VIDEO_SUPPORT=true
java.home=/usr/lib/jvm/java-8-openjdk-amd64/jre
callstats.configurationFile=/etc/jitsi/jigasi/callstats-java-sdk.properties
java.vm.info=mixed mode
os.version=5.4.0-28-generic
net.java.sip.communicator.impl.protocol.sip.SKIP_REINVITE_ON_FOCUS_CHANGE_PROP=true
path.separator=:
java.vm.version=25.252-b09
net.java.sip.communicator.CONFIGURATION_FILE_IS_READ_ONLY=true
java.awt.printerjob=sun.print.PSPrinterJob
sun.io.unicode.encoding=UnicodeLittle
awt.toolkit=sun.awt.X11.XToolkit
user.home=/usr/share/jigasi
java.specification.vendor=Oracle Corporation
net.java.sip.communicator.impl.protocol.jabber.DISABLE_COIN=true
net.java.sip.communicator.impl.neomedia.audioSystem=audiosilence
java.library.path=/usr/share/jigasi/lib
java.vendor.url=http://java.oracle.com/
org.jitsi.service.audionotifier.AudioNotifierService=org.jitsi.impl.neomedia.notify.AudioNotifierServiceImpl
net.java.sip.communicator.service.protocol.MAX_MEDIA_PORT_NUMBER=20000
java.vm.vendor=Private Build
java.runtime.name=OpenJDK Runtime Environment
sun.java.command=org.jitsi.jigasi.Main --host=localhost --domain=meet.jitsidomain.com --subdomain=callcontrol --secret=X --logdir=/var/log/jitsi --configdir=/etc/jitsi --configdirname=jigasi
java.class.path=/usr/share/jigasi/jigasi.jar:/usr/share/jigasi/lib/agafua-syslog-0.4.jar:/usr/share/jigasi/lib/animal-sniffer-annotations-1.17.jar:/usr/share/jigasi/lib/annotations-15.0.jar:/usr/share/jigasi/lib/annotations-4.1.1.4.jar:/usr/share/jigasi/lib/aopalliance-repackaged-2.5.0.jar:/usr/share/jigasi/lib/api-common-1.8.1.jar:/usr/share/jigasi/lib/auto-value-annotations-1.6.6.jar:/usr/share/jigasi/lib/bccontrib-1.0.jar:/usr/share/jigasi/lib/bcpkix-jdk15on-1.54.jar:/usr/share/jigasi/lib/bcprov-jdk15on-1.54.jar:/usr/share/jigasi/lib/callstats-java-sdk-5.0.0.jar:/usr/share/jigasi/lib/cglib-nodep-2.2.jar:/usr/share/jigasi/lib/checker-qual-2.5.2.jar:/usr/share/jigasi/lib/commons-codec-1.6.jar:/usr/share/jigasi/lib/commons-compress-1.18.jar:/usr/share/jigasi/lib/commons-lang3-3.1.jar:/usr/share/jigasi/lib/commons-logging-1.2.jar:/usr/share/jigasi/lib/concurrentlinkedhashmap-lru-1.0_jdk5.jar:/usr/share/jigasi/lib/conscrypt-openjdk-uber-2.2.1.jar:/usr/share/jigasi/lib/core-2.0.1.jar:/usr/share/jigasi/lib/dbus-java-2.7.jar:/usr/share/jigasi/lib/debug-1.1.1.jar:/usr/share/jigasi/lib/dnsjava-2.1.7.jar:/usr/share/jigasi/lib/dnssecjava-1.1.jar:/usr/share/jigasi/lib/dom4j-1.6.1.jar:/usr/share/jigasi/lib/error_prone_annotations-2.2.0.jar:/usr/share/jigasi/lib/failureaccess-1.0.jar:/usr/share/jigasi/lib/fmj-1.0-SNAPSHOT.jar:/usr/share/jigasi/lib/gax-1.50.1.jar:/usr/share/jigasi/lib/gax-grpc-1.50.1.jar:/usr/share/jigasi/lib/gax-httpjson-0.66.1.jar:/usr/share/jigasi/lib/google-api-client-1.30.4.jar:/usr/share/jigasi/lib/google-api-services-translate-v2-rev20170525-1.30.1.jar:/usr/share/jigasi/lib/google-auth-library-credentials-0.18.0.jar:/usr/share/jigasi/lib/google-auth-library-oauth2-http-0.18.0.jar:/usr/share/jigasi/lib/google-cloud-core-1.91.3.jar:/usr/share/jigasi/lib/google-cloud-core-http-1.91.3.jar:/usr/share/jigasi/lib/google-cloud-speech-1.22.1.jar:/usr/share/jigasi/lib/google-cloud-translate-1.94.1.jar:/usr/share/jigasi/lib/google-http-client-1.32.1.jar:/usr/share/jigasi/lib/google-http-client-appengine-1.32.1.jar:/usr/share/jigasi/lib/google-http-client-jackson2-1.32.1.jar:/usr/share/jigasi/lib/google-oauth-client-1.30.3.jar:/usr/share/jigasi/lib/grpc-alts-1.25.0.jar:/usr/share/jigasi/lib/grpc-api-1.25.0.jar:/usr/share/jigasi/lib/grpc-auth-1.25.0.jar:/usr/share/jigasi/lib/grpc-context-1.25.0.jar:/usr/share/jigasi/lib/grpc-core-1.25.0.jar:/usr/share/jigasi/lib/grpc-grpclb-1.25.0.jar:/usr/share/jigasi/lib/grpc-netty-shaded-1.25.0.jar:/usr/share/jigasi/lib/grpc-protobuf-1.25.0.jar:/usr/share/jigasi/lib/grpc-protobuf-lite-1.25.0.jar:/usr/share/jigasi/lib/grpc-stub-1.25.0.jar:/usr/share/jigasi/lib/gson-2.3.1.jar:/usr/share/jigasi/lib/guava-27.0-jre.jar:/usr/share/jigasi/lib/hexdump-0.2.1.jar:/usr/share/jigasi/lib/hk2-api-2.5.0.jar:/usr/share/jigasi/lib/hk2-locator-2.5.0.jar:/usr/share/jigasi/lib/hk2-utils-2.5.0.jar:/usr/share/jigasi/lib/httpclient-4.4.jar:/usr/share/jigasi/lib/httpcore-4.4.jar:/usr/share/jigasi/lib/httpmime-4.4.jar:/usr/share/jigasi/lib/ice4j-2.0.0-SNAPSHOT.jar:/usr/share/jigasi/lib/j2objc-annotations-1.1.jar:/usr/share/jigasi/lib/jackson-annotations-2.9.9.jar:/usr/share/jigasi/lib/jackson-core-2.9.9.jar:/usr/share/jigasi/lib/jackson-databind-2.9.9.jar:/usr/share/jigasi/lib/jackson-module-jaxb-annotations-2.9.9.jar:/usr/share/jigasi/lib/jain-sip-ri-ossonly-1.2.98c7f8c-jitsi-oss1.jar:/usr/share/jigasi/lib/jakarta.annotation-api-1.3.4.jar:/usr/share/jigasi/lib/jakarta.inject-2.5.0.jar:/usr/share/jigasi/lib/jakarta.ws.rs-api-2.1.5.jar:/usr/share/jigasi/lib/java-dogstatsd-client-2.5.jar:/usr/share/jigasi/lib/java-sdp-nist-bridge-1.2.jar:/usr/share/jigasi/lib/javassist-3.22.0-CR2.jar:/usr/share/jigasi/lib/javax.annotation-api-1.3.2.jar:/usr/share/jigasi/lib/javax.servlet-api-3.1.0.jar:/usr/share/jigasi/lib/jbosh-0.9.2.jar:/usr/share/jigasi/lib/jcip-annotations-1.0.jar:/usr/share/jigasi/lib/jcl-core-2.8.jar:/usr/share/jigasi/lib/jersey-client-2.29.jar:/usr/share/jigasi/lib/jersey-common-2.29.jar:/usr/share/jigasi/lib/jersey-container-jetty-http-2.29.jar:/usr/share/jigasi/lib/jersey-container-servlet-2.29.jar:/usr/share/jigasi/lib/jersey-container-servlet-core-2.29.jar:/usr/share/jigasi/lib/jersey-entity-filtering-2.29.jar:/usr/share/jigasi/lib/jersey-hk2-2.29.jar:/usr/share/jigasi/lib/jersey-media-jaxb-2.29.jar:/usr/share/jigasi/lib/jersey-media-json-jackson-2.29.jar:/usr/share/jigasi/lib/jersey-server-2.29.jar:/usr/share/jigasi/lib/jetty-client-9.4.15.v20190215.jar:/usr/share/jigasi/lib/jetty-continuation-9.4.12.v20180830.jar:/usr/share/jigasi/lib/jetty-http-9.4.17.v20190418.jar:/usr/share/jigasi/lib/jetty-io-9.4.17.v20190418.jar:/usr/share/jigasi/lib/jetty-proxy-9.4.15.v20190215.jar:/usr/share/jigasi/lib/jetty-security-9.4.15.v20190215.jar:/usr/share/jigasi/lib/jetty-server-9.4.17.v20190418.jar:/usr/share/jigasi/lib/jetty-servlet-9.4.15.v20190215.jar:/usr/share/jigasi/lib/jetty-util-9.4.17.v20190418.jar:/usr/share/jigasi/lib/jetty-webapp-7.0.1.v20091125.jar:/usr/share/jigasi/lib/jetty-xml-7.0.1.v20091125.jar:/usr/share/jigasi/lib/jicoco-1.1-22-gbec9167.jar:/usr/share/jigasi/lib/jitsi-android-osgi-1.0-SNAPSHOT.jar:/usr/share/jigasi/lib/jitsi-argdelegation-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-certificate-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-configuration-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-contactlist-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-credentialsstorage-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-desktoputil-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-dns-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-dnsservice-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-fileaccess-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-globaldisplaydetails-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-hid-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-lgpl-dependencies-1.1-SNAPSHOT.jar:/usr/share/jigasi/lib/jitsi-muc-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-neomedia-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-netaddr-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-notification-service-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-packetlogging-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-protocol-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-protocol-jabber-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-protocol-media-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-protocol-sip-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-reconnect-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-resourcemanager-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-stats-1.0-3-gd5cc199.jar:/usr/share/jigasi/lib/jitsi-sysactivity-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-systray-service-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-ui-service-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-util-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-utils-1.0-39-gd481c98.jar:/usr/share/jigasi/lib/jitsi-version-2.13.01c5f190a.jar:/usr/share/jigasi/lib/jitsi-xmpp-extensions-1.0-8-g340be56.jar:/usr/share/jigasi/lib/jna-4.1.0.jar:/usr/share/jigasi/lib/jnsapi-0.0.3-jitsi-smack4.2-3.jar:/usr/share/jigasi/lib/jose4j-0.5.1.jar:/usr/share/jigasi/lib/json-20180130.jar:/usr/share/jigasi/lib/json-simple-1.1.1.jar:/usr/share/jigasi/lib/jsr305-3.0.2.jar:/usr/share/jigasi/lib/jxmpp-core-0.6.2.jar:/usr/share/jigasi/lib/jxmpp-jid-0.6.2.jar:/usr/share/jigasi/lib/jxmpp-util-cache-0.6.2.jar:/usr/share/jigasi/lib/laf-widget-4.0.jar:/usr/share/jigasi/lib/libidn-1.15.jar:/usr/share/jigasi/lib/libjitsi-1.0-25-g836ce9e7.jar:/usr/share/jigasi/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/usr/share/jigasi/lib/log4j-api-2.3.jar:/usr/share/jigasi/lib/log4j-core-2.3.jar:/usr/share/jigasi/lib/object-cloner-0.1.jar:/usr/share/jigasi/lib/objenesis-2.1.jar:/usr/share/jigasi/lib/okhttp-3.9.1.jar:/usr/share/jigasi/lib/okio-1.13.0.jar:/usr/share/jigasi/lib/opencensus-api-0.24.0.jar:/usr/share/jigasi/lib/opencensus-contrib-grpc-metrics-0.21.0.jar:/usr/share/jigasi/lib/opencensus-contrib-http-util-0.24.0.jar:/usr/share/jigasi/lib/orange-extensions-1.3.0.jar:/usr/share/jigasi/lib/org.apache.felix.framework-4.4.0.jar:/usr/share/jigasi/lib/org.apache.felix.main-4.4.0.jar:/usr/share/jigasi/lib/org.osgi.core-4.3.1.jar:/usr/share/jigasi/lib/osgi-resource-locator-1.0.3.jar:/usr/share/jigasi/lib/perfmark-api-0.19.0.jar:/usr/share/jigasi/lib/protobuf-java-3.10.0.jar:/usr/share/jigasi/lib/protobuf-java-util-3.10.0.jar:/usr/share/jigasi/lib/proto-google-cloud-speech-v1-1.22.1.jar:/usr/share/jigasi/lib/proto-google-cloud-speech-v1p1beta1-0.75.1.jar:/usr/share/jigasi/lib/proto-google-cloud-translate-v3-1.0.1.jar:/usr/share/jigasi/lib/proto-google-cloud-translate-v3beta1-0.77.1.jar:/usr/share/jigasi/lib/proto-google-common-protos-1.17.0.jar:/usr/share/jigasi/lib/proto-google-iam-v1-0.13.0.jar:/usr/share/jigasi/lib/reflections-0.9.11.jar:/usr/share/jigasi/lib/sdes4j-1.1.3.jar:/usr/share/jigasi/lib/sdp-api-1.0.jar:/usr/share/jigasi/lib/sip-api-1.2-1.2.jar:/usr/share/jigasi/lib/slf4j-api-1.7.26.jar:/usr/share/jigasi/lib/slf4j-jdk14-1.7.26.jar:/usr/share/jigasi/lib/slf4j-simple-1.6.1.jar:/usr/share/jigasi/lib/smack-bosh-4.2.4-47d17fc.jar:/usr/share/jigasi/lib/smack-core-4.2.4-47d17fc.jar:/usr/share/jigasi/lib/smack-debug-4.2.4-47d17fc.jar:/usr/share/jigasi/lib/smack-experimental-4.2.4-47d17fc.jar:/usr/share/jigasi/lib/smack-extensions-4.2.4-47d17fc.jar:/usr/share/jigasi/lib/smack-im-4.2.4-47d17fc.jar:/usr/share/jigasi/lib/smack-java7-4.2.4-47d17fc.jar:/usr/share/jigasi/lib/smack-legacy-4.2.4-47d17fc.jar:/usr/share/jigasi/lib/smack-resolver-javax-4.2.4-47d17fc.jar:/usr/share/jigasi/lib/smack-sasl-javax-4.2.4-47d17fc.jar:/usr/share/jigasi/lib/smack-tcp-4.2.4-47d17fc.jar:/usr/share/jigasi/lib/spotbugs-annotations-4.0.0-RC1.jar:/usr/share/jigasi/lib/threetenbp-1.4.0.jar:/usr/share/jigasi/lib/tinder-1.2.3.jar:/usr/share/jigasi/lib/unix-0.5.1.jar:/usr/share/jigasi/lib/validation-api-2.0.1.Final.jar:/usr/share/jigasi/lib/vorbis-java-core-0.8.jar:/usr/share/jigasi/lib/weupnp-0.1.4.jar:/usr/share/jigasi/lib/xml-apis-1.0.b2.jar:/usr/share/jigasi/lib/xmlpull-1.1.3.4a.jar:/usr/share/jigasi/lib/xpp3-1.1.4c.jar:/usr/share/jigasi/lib/zrtp4j-light-4.1.0-jitsi-1-SNAPSHOT.jar
net.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi
java.vm.specification.name=Java Virtual Machine Specification
net.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi
net.java.sip.communicator.service.media.DISABLE_AUDIO_SUPPORT=false
java.vm.specification.version=1.8
sun.cpu.endian=little
sun.os.patch.level=unknown
java.io.tmpdir=/tmp
net.java.sip.communicator.service.media.MAX_PORT_NUMBER=20000
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
net.java.sip.communicator.SC_CACHE_DIR_LOCATION=/var/log/jitsi
os.arch=amd64
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.ext.dirs=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext
user.dir=/
line.separator=

java.vm.name=OpenJDK 64-Bit Server VM
org.jitsi.impl.neomedia.device.PulseAudioSystem.disabled=true
org.jitsi.impl.neomedia.device.PortAudioSystem.disabled=true
net.java.sip.communicator.impl.neomedia.video.maxbandwidth=2147483647
log4j.configurationFile=/etc/jitsi/jigasi/log4j2.xml
file.encoding=UTF-8
java.specification.version=1.8
net.java.sip.communicator.SC_HOME_DIR_NAME=jigasi

2020-05-02 14:31:33.111 INFO: [11] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() Normal classloader
2020-05-02 14:31:33.113 INFO: [11] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() failed to find jitsi-defaults.properties with class loader, will continue without it.
2020-05-02 14:31:33.115 INFO: [11] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() Normal classloader
2020-05-02 14:31:33.117 INFO: [11] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() failed to find jitsi-default-overrides.properties with class loader, will continue without it.
2020-05-02 14:31:33.171 SEVERE: [11] impl.configuration.ConfigurationActivator.log() Error creating c lib instance for fixing file permissions
java.nio.file.FileSystemException: /etc/jitsi/jigasi: Operation not permitted
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
	at sun.nio.fs.UnixFileAttributeViews$Posix.setMode(UnixFileAttributeViews.java:238)
	at sun.nio.fs.UnixFileAttributeViews$Posix.setPermissions(UnixFileAttributeViews.java:260)
	at java.nio.file.Files.setPosixFilePermissions(Files.java:2045)
	at net.java.sip.communicator.impl.configuration.ConfigurationActivator.fixPermissions(ConfigurationActivator.java:167)
	at net.java.sip.communicator.impl.configuration.ConfigurationActivator.start(ConfigurationActivator.java:88)
	at org.jitsi.impl.osgi.framework.BundleImpl.start(BundleImpl.java:307)
	at org.jitsi.impl.osgi.framework.launch.FrameworkImpl.startLevelChanged(FrameworkImpl.java:472)
	at org.jitsi.impl.osgi.framework.startlevel.FrameworkStartLevelImpl$Command.run(FrameworkStartLevelImpl.java:137)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.runInThread(AsyncExecutor.java:122)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.access$000(AsyncExecutor.java:28)
	at org.jitsi.impl.osgi.framework.AsyncExecutor$1.run(AsyncExecutor.java:231)
2020-05-02 14:31:33.211 INFO: [11] impl.resources.ResourceManagementActivator.start().81 Resource manager STARTED
2020-05-02 14:31:33.214 INFO: [11] impl.resources.ResourceManagementActivator.start().90 Resource manager REGISTERED
2020-05-02 14:31:33.223 INFO: [11] impl.dns.DnsUtilActivator.start().118 DNS service ... [STARTING]
2020-05-02 14:31:33.340 INFO: [11] util.NetworkUtils.<clinit>().117 java.net.preferIPv6Addresses=null
2020-05-02 14:31:33.348 INFO: [11] util.NetworkUtils.<clinit>().118 java.net.preferIPv4Stack=null
2020-05-02 14:31:33.530 INFO: [11] impl.dns.DnsUtilActivator.start().144 ParallelResolver ... [REGISTERED]
2020-05-02 14:31:33.530 INFO: [11] impl.dns.DnsUtilActivator.start().158 DNS service ... [STARTED]
2020-05-02 14:31:34.186 INFO: [11] impl.netaddr.NetworkAddressManagerServiceImpl.start().92 Network Address Manager         ...[  STARTED ]
2020-05-02 14:31:34.188 INFO: [11] impl.netaddr.NetworkAddressManagerServiceImpl.start().98 Network Address Manager Service ...[REGISTERED]
2020-05-02 14:31:34.203 INFO: [12] impl.netaddr.NetworkConfigurationWatcher.checkNetworkInterfaces().398 Currently Active enp4s0:[/172.16.0.32]
2020-05-02 14:31:34.206 INFO: [12] impl.dns.DnsUtilActivator.logDNSServers().293 Loading or Reloading resolver config, default DNS servers are: 127.0.0.53, 
2020-05-02 14:31:34.400 WARNING: [11] impl.sysactivity.SystemActivityNotifications.<clinit>().141 Failed to initialize native counterpart
java.lang.UnsatisfiedLinkError: /tmp/jna--1160142225/jna2142891342100338269.tmp: libgdk-x11-2.0.so.0: cannot open shared object file: No such file or directory
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
	at java.lang.Runtime.load0(Runtime.java:809)
	at java.lang.System.load(System.java:1088)
	at org.jitsi.util.JNIUtils.loadLibrary(JNIUtils.java:96)
	at org.jitsi.util.JNIUtils.loadLibrary(JNIUtils.java:37)
	at net.java.sip.communicator.impl.sysactivity.SystemActivityNotifications.<clinit>(SystemActivityNotifications.java:125)
	at net.java.sip.communicator.impl.sysactivity.SystemActivityNotificationsServiceImpl.isSupported(SystemActivityNotificationsServiceImpl.java:606)
	at net.java.sip.communicator.impl.sysactivity.SystemActivityNotificationsServiceImpl.start(SystemActivityNotificationsServiceImpl.java:143)
	at net.java.sip.communicator.impl.sysactivity.SysActivityActivator.start(SysActivityActivator.java:70)
	at org.jitsi.impl.osgi.framework.BundleImpl.start(BundleImpl.java:307)
	at org.jitsi.impl.osgi.framework.launch.FrameworkImpl.startLevelChanged(FrameworkImpl.java:472)
	at org.jitsi.impl.osgi.framework.startlevel.FrameworkStartLevelImpl$Command.run(FrameworkStartLevelImpl.java:137)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.runInThread(AsyncExecutor.java:122)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.access$000(AsyncExecutor.java:28)
	at org.jitsi.impl.osgi.framework.AsyncExecutor$1.run(AsyncExecutor.java:231)
2020-05-02 14:31:34.939 INFO: [11] impl.packetlogging.PacketLoggingActivator.start().100 Packet Logging Service ...[REGISTERED]
2020-05-02 14:31:34.972 INFO: [11] service.notification.NotificationServiceActivator.start().48 Notification Service...[  STARTED ]
2020-05-02 14:31:34.992 INFO: [11] service.notification.NotificationServiceActivator.start().55 Notification Service ...[REGISTERED]
2020-05-02 14:31:36.365 SEVERE: [11] org.jitsi.impl.neomedia.device.DeviceConfiguration.log() Failed to register custom Renderer org.jitsi.impl.neomedia.jmfext.media.renderer.audio.PulseAudioRenderer with JMF.
java.lang.IllegalStateException: audioSystem
	at org.jitsi.impl.neomedia.jmfext.media.renderer.audio.PulseAudioRenderer.<init>(PulseAudioRenderer.java:156)
	at org.jitsi.impl.neomedia.jmfext.media.renderer.audio.PulseAudioRenderer.<init>(PulseAudioRenderer.java:136)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.Class.newInstance(Class.java:442)
	at org.jitsi.impl.neomedia.device.DeviceConfiguration.registerCustomRenderers(DeviceConfiguration.java:1047)
	at org.jitsi.impl.neomedia.device.DeviceConfiguration.<init>(DeviceConfiguration.java:366)
	at org.jitsi.impl.neomedia.MediaServiceImpl.<init>(MediaServiceImpl.java:162)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.Class.newInstance(Class.java:442)
	at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.initializeService(LibJitsiImpl.java:196)
	at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.getService(LibJitsiImpl.java:131)
	at org.jitsi.impl.libjitsi.LibJitsiImpl.getService(LibJitsiImpl.java:91)
	at org.jitsi.impl.libjitsi.LibJitsiOSGiImpl.getService(LibJitsiOSGiImpl.java:95)
	at org.jitsi.service.libjitsi.LibJitsi.invokeGetServiceOnImpl(LibJitsi.java:172)
	at org.jitsi.service.libjitsi.LibJitsi.getMediaService(LibJitsi.java:124)
	at net.java.sip.communicator.impl.neomedia.NeomediaActivator.start(NeomediaActivator.java:391)
	at org.jitsi.impl.osgi.framework.BundleImpl.start(BundleImpl.java:307)
	at org.jitsi.impl.osgi.framework.launch.FrameworkImpl.startLevelChanged(FrameworkImpl.java:472)
	at org.jitsi.impl.osgi.framework.startlevel.FrameworkStartLevelImpl$Command.run(FrameworkStartLevelImpl.java:137)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.runInThread(AsyncExecutor.java:122)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.access$000(AsyncExecutor.java:28)
	at org.jitsi.impl.osgi.framework.AsyncExecutor$1.run(AsyncExecutor.java:231)
2020-05-02 14:31:36.452 INFO: [11] impl.neomedia.NeomediaActivator.start().542 Audio Notifier Service ...[REGISTERED]
2020-05-02 14:31:36.508 INFO: [11] org.jitsi.version.AbstractVersionActivator.log() VersionService registered: Jigasi 1.1.101-g3b2a0e5
2020-05-02 14:31:36.568 FINE: [11] plugin.reconnectplugin.ReconnectPluginActivator.start().193 Found 0 already installed providers.
2020-05-02 14:31:36.751 INFO: [11] org.jitsi.jigasi.JigasiBundleActivator.start().186 initialized SipGateway
2020-05-02 14:31:36.769 INFO: [11] org.jitsi.jigasi.JigasiBundleActivator.start().224 skipped initialization of TranscriptionGateway
2020-05-02 14:31:37.013 INFO: [11] org.eclipse.jetty.util.log.initialized() Logging initialized @8127ms to org.eclipse.jetty.util.log.Slf4jLog
2020-05-02 14:31:37.423 INFO: [11] org.eclipse.jetty.server.Server.doStart() jetty-9.4.17.v20190418; built: 2019-04-18T19:45:35.259Z; git: aa1c656c315c011c01e7b21aabb04066635b9f67; jvm 1.8.0_252-8u252-b09-1ubuntu1-b09
2020-05-02 14:31:37.738 INFO: [11] org.eclipse.jetty.server.AbstractConnector.doStart() Started MuxServerConnector@440d14fb{HTTP/1.1,[http/1.1]}{0.0.0.0:8788}
2020-05-02 14:31:37.740 INFO: [11] org.eclipse.jetty.server.Server.doStart() Started @8874ms
2020-05-02 14:31:37.742 INFO: [11] org.jitsi.rest.AbstractJettyBundleActivator.log() Not starting the Jetty service for org.jitsi.jigasi.rest.TranscriptServerBundleActivator(port=-1)

@Craig_Eustice if I understood right (given damencho’s message + another post on this forum), you should have the following in your config:
net.java.sip.communicator.plugin.reconnectplugin.ATLEAST_ONE_SUCCESSFUL_CONNECTION.SIP\:damencho@my.sip.server.net=true
and not
net.java.sip.communicator.plugin.reconnectplugin.ATLEAST_ONE_SUCCESSFUL_CONNECTION.<SIP\:damencho@my.sip.server.net>=true

@damencho can you confirm this ? Also, can you explain the difference with ATLEAST_ONE_SUCCESSFUL_CONNECTION=true without the ACCOUNT_UID ?

Many thanks in advance

There is no such thing, the reconnectplugin looks for account uid to match the accounts.

1 Like