Jitsi not picking up call from Voximplant

I have installed Jitsi on Ubuntu 20.04 DigitalOcean droplet. I an trying to link it into Voximplant with a rented number from them. After installing Jitsi does not pick up a call attempting to join a meeting.

This is a message from Voximplant technical team:

In fresh log file we see the result of callUser - ringing, that mean that the user now registered successfully.
We can assume that there is some problem with the call settings in jitsi, but unfortunately we can’t tell you what exactly to pay attention to. You need to check what is happening with the call to user “Jigasi-dial-in-user” from the jitsi side.

Evgeniy Bugreev
Voximplant

These are a few lines from /var/log/jitsi/jigasi.log:

2020-10-07 04:13:27.350 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() Normal classloader
2020-10-07 04:13:27.351 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() failed to find jitsi-defaults.properties wit>
2020-10-07 04:13:27.352 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() Normal classloader
2020-10-07 04:13:27.352 INFO: [13] org.jitsi.impl.configuration.ConfigurationServiceImpl.log() failed to find jitsi-default-overrides.prope>
2020-10-07 04:13:27.371 SEVERE: [13] impl.configuration.ConfigurationActivator.log() Error creating c lib instance for fixing file permissi>
java.nio.file.FileSystemException: /etc/jitsi/jigasi: Operation not permitted
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.setMode(UnixFileAttributeViews.java:275)
at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.setPermissions(UnixFileAttributeViews.java:297)

and the log file reports the failure as:

2020-10-14 23:50:05.457 SEVERE: [39] org.jitsi.meet.ComponentMain.log() not-authorized, host:localhost, port:5347
org.xmpp.component.ComponentException: not-authorized
at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:243)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:242)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:222)
at org.jitsi.meet.ComponentMain.lambda$getConnectCallable$0(ComponentMain.java:285)
at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:832)

This looks like an ownership problem with port 5347 or an incorrect setting.

Can anyone help please?

This is jigasi trying to connect to xmpp server as component. We still haven’t switched the default install tobusing mucs method. Anyway, have you tried following this guide which covers all those Guide for setting up Jigasi with Voximplant?

Yes @damencho, I have read through that and set up Voximplant and Jigasi according to those instructions. Are you saying that doesn’t work and I have to use a mucs method? I’m starting to get out of my depth here.

Thanks for your reply.

Sorry, my fault I was thinking that there it is given the mucs as an example.
Ignore this with mucs and component for now. That doc should be correct and should be working.

This means that jigasi connects to the prosody but the secret is wrong.
The secret I’m talking about is in /etc/jitsi/jigasi/config JIGASI_SECRET that should be the same as the one in prosody config, you should have there Component callcontrol.youdomain.com component_secret … match those secrets.

Thanks @damencho. I have done that, copy and pasted component_secret from /etc/prosody/conf.d/ jitsi.your_domain.cfg.lua to JIGASI_SECRET in /etc/jitsi/jigasi/conf.d/config.

I put quotation marks around TOP_SECRET and got this:
root@jitsi:/var/log/prosody# more porosody.log
more: stat of porosody.log failed: No such file or directory
root@jitsi:/var/log/prosody# more prosody.log
Oct 11 00:00:03 jcp55b5d90f65d0 info Incoming Jabber component connection
Oct 11 00:00:03 callcontrol.jitsi.physical-truth.com:component info Component authentication failed for callcontrol.jitsi.physical-truth
.com
Oct 11 00:00:03 mod_component info Disconnecting component, stream:error is: stream:errorGiven token does not match calculated token</stream:error>
Oct 11 00:00:03 jcp55b5d90f65d0 info component disconnected: callcontrol.jitsi.physical-truth.com (false)
Oct 11 00:00:08 jcp55b5d84901b0 info Incoming Jabber component connection
Oct 11 00:00:08 callcontrol.jitsi.physical-truth.com:component info Component authentication failed for callcontrol.jitsi.physical-truth
.com

and it looks the same without the quatation marks:

more: stat of porosody.log failed: No such file or directory
root@jitsi:/var/log/prosody# more prosody.log
Oct 11 00:00:03 jcp55b5d90f65d0 info Incoming Jabber component connection
Oct 11 00:00:03 callcontrol.jitsi.physical-truth.com:component info Component authentication failed for callcontrol.jitsi.physical-truth
.com
Oct 11 00:00:03 mod_component info Disconnecting component, stream:error is: stream:errorGiven token does not match calculated token</stream:error>
Oct 11 00:00:03 jcp55b5d90f65d0 info component disconnected: callcontrol.jitsi.physical-truth.com (false)
Oct 11 00:00:08 jcp55b5d84901b0 info Incoming Jabber component connection
Oct 11 00:00:08 callcontrol.jitsi.physical-truth.com:component info Component authentication failed for callcontrol.jitsi.physical-truth
.com

Prosody.err gives:

Oct 11 03:15:37 portmanager error Error binding encrypted port for https: No certificate present in SSL/TLS configuration for https po
rt 5281

Prosody.log.1 yields:

prosody.err prosody.err.1 prosody.log prosody.log.1
root@jitsi:/var/log/prosody# more prosody.log.1
Oct 03 20:36:50 startup info Hello and welcome to Prosody version 0.11.4
Oct 03 20:36:50 startup info Prosody is using the select backend for connection handling
Oct 03 20:36:50 portmanager info Activated service ‘c2s’ on [::]:5222, []:5222
Oct 03 20:36:50 portmanager info Activated service ‘legacy_ssl’ on no ports
Oct 03 20:36:50 portmanager info Activated service ‘s2s’ on [::]:5269, [
]:5269
Oct 03 20:36:52 c2s5589121620d0 info Client connected
Oct 03 20:36:52 c2s5589121620d0 info Client disconnected: connection closed
Oct 03 20:36:53 c2s55891216ba80 info Client connected
Oct 03 20:36:53 c2s55891216ba80 info Client disconnected: connection closed
Oct 03 20:36:57 c2s558912174cd0 info Client connected
Oct 03 20:36:57 c2s558912174cd0 info Client disconnected: connection closed
Oct 03 20:36:58 c2s55891217e230 info Client connected
Oct 03 20:36:59 c2s55891217e230 info Client disconnected: connection closed
Oct 03 20:37:01 mod_posix warn Received SIGTERM
Oct 03 20:37:01 startup info Shutting down: Received SIGTERM
Oct 03 20:37:01 c2s558912187e40 info Client connected
Oct 03 20:37:01 c2s558912187e40 info Client disconnected: connection closed
Oct 03 20:37:01 general info Shutting down…
Oct 03 20:37:01 general info Shutdown status: Cleaning up
Oct 03 20:37:01 general info Shutdown complete
Oct 03 20:37:01 startup info Hello and welcome to Prosody version 0.11.4
Oct 03 20:37:01 startup info Prosody is using the select backend for connection handling
Oct 03 20:37:01 portmanager info Activated service ‘s2s’ on [::]:5269, []:5269
Oct 03 20:37:01 portmanager info Activated service ‘c2s’ on [::]:5222, [
]:5222
Oct 03 20:37:01 portmanager info Activated service ‘legacy_ssl’ on no ports
Oct 03 20:37:01 portmanager info Activated service ‘http’ on [::]:5280, [*]:5280
Oct 03 20:37:01 portmanager error Error binding encrypted port for https: No certificate present in SSL/TLS configuration for https po
rt 5281

The call still does not connect on Jitsi.

Thank you for your help so far.

Yours,

Bruce

@damencho The call still does not connect. I have re-installed Jigasi and still the call does not connect. Message from Voximplant is:

Hello,

In the provided log we see that call was transferred by callUser to jitsi side(to user “Jigasi-dial-in-user”), received as a response “ringing”, call was ended by the caller side after 9 seconds. You need to check what is happening with the call to user “Jigasi-dial-in-user” from the jitsi side.

I hung up after nine seconds and the callis not being picked up. I do not know how to do check what is happening with the call from the jitsi side. I checked GitHub and can’t find how to trace this problem.

Can anyone help with tracing this and finding out what is happening?

Thanks to anyone who can help.

Did you fix this part? There is some problem with the host and secret for the component.

@damencho yes I did. Component in jitsi.physical-truth.com.cfg.lua is “callcontrol.jitsi.physical-truth.com
and component_secret is the same as in /etc/jitsi/jigasi/config.

I reinstalled jigasi and both secrets are the same. still no joy. Voximplant reports the call is ringing but does not answer.

But do you see the error in jigasi? As you said you fixed it and the logs didn’t show that, so something is wrong.

Yes. I cannot see any error posted to my screen. But I am getting errors. I am trying to get through /var/log/jitsi/jigasi.log which I have uploaded to my drive. This is the link there:
https://drive.google.com/drive/folders/1RkTHnXqIGbP2VF2L_4CDc46JmvqBgAFo?usp=sharing

/var/log/prosody/prosody/prosody.err gives:
root@jitsi:/var/log/prosody# more prosody.err
Oct 11 03:15:37 portmanager error Error binding encrypted port for https: No certificate present in SSL/TLS configuration for https po
rt 5281

Please let me know if you need another log file. I am trying to upload the prosody log to drive. It is very large.

Thank you.

Bruce

This is suspicious:

2020-10-16 18:10:25.804 SEVERE: [70] impl.protocol.sip.SipStackSharing.findTargetFor().922 no listeners
2020-10-16 18:10:25.806 SEVERE: [70] impl.protocol.sip.SipStackSharing.processRequest().709 couldn't find a ProtocolProviderServiceSipImpl to dispatch to

I also saw you are running java 14. Can you run java8, as this is the one that for sure is tested with?

that sounds like a very good idea. I just used the droplet vanilla and I will try running java8.

I have tired downgrading to java 8 and stopped and restarted servers. I then tried calling in again, which did not pick up and then uploaded fresh log files back into my drive. You should still have the link to the drive.

From the last jigasi.log I can see it picks up the user Jigasi-dail-in-user ok and it “hears” a call-in. Then the XMPP Service fails to connect.

lines near end of jigasi.log:

2020-10-16 20:00:08.177 INFO: [72] org.jitsi.jigasi.JvbConference.start().437 [ctx=16028784071542108328870] Starting JVB conference room: voximplant@conference.jitsi.physical-truth.com?conference=algebra-classroom@conference.jitsi.physical-truth.com
2020-10-16 20:00:08.248 INFO: [72] org.jitsi.jigasi.JvbConference.setXmppProvider().576 [ctx=16028784071542108328870] Using ProtocolProviderServiceJabberImpl(Jabber:0a0bbd03@jitsi.physical-truth.com/0a0bbd03)
2020-10-16 20:00:08.449 INFO: [75] impl.protocol.jabber.OperationSetBasicTelephonyJabberImpl.registrationStateChanged().127 Jingle : ON
2020-10-16 20:00:08.450 INFO: [75] org.jitsi.jigasi.JvbConference.registrationStateChanged().627 [ctx=16028784071542108328870] Registering XMPP.
2020-10-16 20:00:08.450 SEVERE: [75] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin().1003 Failed to connect to XMPP service
org.jivesoftware.smack.SmackException: No supported and enabled SASL Mechanism provided by server. Server announced mechanisms: [SCRAM-SHA-1, SCRAM-SHA-1-PLUS, PLAIN]. R

How to correct the XMPP service from not connecting?

Share you jigasi sip-communicator.props config file.

I have uploaded it tothe drive with the other log files. This is the link

sip-communicator.properties

Thank you.

Try adding org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true and try again

Thank you. I have added that line into /etc/jitsi/jigasi/sip-communicator.properties and tried again. It still did not connect.

jigasi log states

2020-10-17 20:32:18.727 SEVERE: [70] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin().1003 Failed to connect to XMPP service

I have updated log files in drive folder

I see two problems, your deployment requires authentication while your jigasi is not using authentication, you need to create a user for jigasi and use it here: https://github.com/jitsi/jigasi/blob/master/jigasi-home/sip-communicator.properties#L92

And the room you are passing looks wrong: voximplant@conference.....?conference=algebra-classroom@conference.....

Should be either voximplant@conference..... or algebra-classroom@conference.....

I have changed sip-communicator.properties to have the user Jigasi-dial-in-user@jigasi.bbrout.n2.voximplant.com which should be the host user.

the room name is Algebra-classroom. Complete name of room is jitsi.physical-truth/Algebra-classroom.

I am confused regarding passing the room. Would that be on the Voximplant side. I see this in jigasi.log

2020-10-17 20:32:18.418 INFO: [67] org.jitsi.jigasi.JvbConference.start().437 [ctx=1602966737380725155852] Starting JVB conference room: voximplant@conference.jitsi.physical-truth.com?conference=algebra-classroom@conference.jitsi.physical-truth.com

Yeah, that does look messed up. Does that come from the Voximplant side or from my jitsi set-up?

Thanks again for your help.