Solved: Error starting Jigasi (1.1-178-g3c53cf6-1)

Hey guys, I am getting this error when starting Jigasi on my machine:

2021-05-10 15:46:37.888 SEVERE: [40] impl.protocol.sip.ProtocolProviderServiceSipImpl.getLocalViaHeaders().1367 Unable to create a via header for port 5060
javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:336)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:292)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:283)
	at java.base/sun.security.ssl.ServerHello$ServerHelloConsumer.onServerHello(ServerHello.java:956)
	at java.base/sun.security.ssl.ServerHello$ServerHelloConsumer.consume(ServerHello.java:878)
	at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421)
	at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:182)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:171)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1418)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1324)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:440)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:411)
	at gov.nist.javax.sip.stack.IOHandler.getLocalAddressForTlsDst(IOHandler.java:223)
	at gov.nist.javax.sip.stack.SIPTransactionStack.getLocalAddressForTlsDst(SIPTransactionStack.java:668)
	at net.java.sip.communicator.impl.protocol.sip.SipStackSharing.getLocalAddressForDestination(SipStackSharing.java:1209)
	at net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.getLocalViaHeaders(ProtocolProviderServiceSipImpl.java:1325)
	at net.java.sip.communicator.impl.protocol.sip.SipMessageFactory.createRegisterRequest(SipMessageFactory.java:1094)
	at net.java.sip.communicator.impl.protocol.sip.SipRegistrarConnection.register(SipRegistrarConnection.java:268)
	at net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.registerUsingNextAddress(ProtocolProviderServiceSipImpl.java:2738)
	at net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.register(ProtocolProviderServiceSipImpl.java:442)
	at org.jitsi.jigasi.util.RegisterThread.run(RegisterThread.java:59)

And then finally errors out like this:

2021-05-10 15:46:40.094 SEVERE: [40] impl.protocol.sip.ProtocolProviderServiceSipImpl.register().444 No address found for ProtocolProviderServiceSipImpl(SIP:user_name@domain.com)
2021-05-10 15:46:40.094 INFO: [40] org.jitsi.jigasi.SipGateway.registrationStateChanged().120 REG STATE CHANGE ProtocolProviderServiceSipImpl(SIP:SIP:user_name@domain.com) -> RegistrationStateChangeEvent[ oldState=Registering; newState=RegistrationState=Connection Failed; userRequest=false; reasonCode=8; reason=Invalid or inaccessible server address.]

Any idea what might be going on?

FYI: I have a proxy setup in Jigasi properties file as below:

net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROXY_ADDRESS=<proxy_domain>
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROXY_AUTO_CONFIG=false
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROXY_PORT=5061
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PREFERRED_TRANSPORT=TLS

It used to work before for me, but not anymore. 1 difference I see in my previous setups and the new one is Java version:

Previous setup:

openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode, sharing)

New Setup:

openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode, sharing)

TLSv1 and TLSv1.1 Disabled by Default in Java after April 2021

We either need to modify this on the servers to not disable it, till Jigasi is upgraded to make use of newer TLS versions.

FYI @damencho Something to check out.

1 Like