Jigasi and Vosk unable to communicate on AWS machine

Description

Hello, I am having some issues connecting Jigai and Vosk on one AWS machine running Debian 10.

I checked the Vosk logs and saw that Vosk was receiving a connection.
I also checked the Jitsi logs and confirmed that it is connecting with Vosk. However, as far as I can tell from the logs, there doesn’t appear to be any data transfer and I’m not sure why. Below I have attached the jigasi logs (log level=FINEST) for the AWS machine and my local machine, as well as the Vosk logs for the AWS machine. (I posted about this to the Vosk Github repo as well - see alphacep/vosk-api#113 (comment) - and I received the suggestion to open an issue).

Please note that I have another Jigasi + Vosk setup on a virtual machine on my laptop and the transcription works well there. That VM runs Ubuntu 18.04. I have configured both the AWS setup and my local setup in the same way.

Current Behaviour

I started a meeting, clicked the ‘start subtitles’ button in the toolbar. A transcriber successfully joins the room.
I spoke for roughly a minute. No subtitles appear. Then I clicked ‘stop subtitles’. The transcriber leaves the room. Finally, I ended the meeting.

jigasi-log-aws-machine.txt (296.8 KB)
jigasi-log-local-vm.txt (300.4 KB)
vosk-log-aws-machine.txt (8.1 KB)

^ I removed some redundant information from the logs, so they are not so long

Expected Behaviour

Subtitles should appear. Also, in the logs it should be apparent that jigasi transfers data to Vosk and that Vosk sends data back.

Possible Solution

Perhaps this is a networking problem. There may be some configuration in the AWS machine settings that is preventing the data transfer. I don’t have direct access to those settings, but I can get them changed.

Perhaps this is a configuration issue. I have verified that I have made the same configuration changes on the AWS machine and my local virtual machine, however, it is possible I may have missed something.

Environment Details

AWS Machine

  • Debian 10
  • Let’s Encrypt certificate

Local Machine:

  • Ubuntu 18.04
  • Self-signed certificate

Both Machines:

  • I installed Jitsi and Jigasi as per the self-hosting guide
  • I configured Jigasi as per the README in the Jigasi Github repo
  • I installed Vosk-Server as a system daemon and am using the WebSocket server
  • I am using python3.8 with Vosk
  • Have static IPs

Thank you for taking the time to consider this issue. Any help or advice would be greatly appreciated.

If you’re using the same config in your working setup for this setup, then it sounds like there’s something on the networking end that’s preventing the relay. Vosk-related issues are best handled on the Vosk github page - the developer is the best resource to provide support in cases like that. Again, I strongly suspect this is network-related though.

Share your Jigasi SIP properties.

Thank you for the suggestion. I think this is a network issue as well.

My Jigasi SIP properties:
sip-communicator.properties.txt (14.8 KB)

Also, the things that stand out to me in the AWS logs are:

2021-07-30 10:49:54.319 FINE: [13] fmj.getPlugInInfo() PlugInUtility: Unable to get plugin info for net.sf.fmj.theora_java.JavaOggParser: java.lang.ClassNotFoundException: net.sf.fmj.theora_java.JavaOggParser 
2021-07-30 10:49:54.323 FINE: [13] fmj.getPlugInInfo() PlugInUtility: Unable to get plugin info for net.java.sip.communicator.impl.media.codec.audio.speex.JavaEncoder: java.lang.ClassNotFoundException: net.java.sip.communicator.impl.media.codec.audio.speex.JavaEncoder 
2021-07-30 10:49:54.323 FINE: [13] fmj.getPlugInInfo() PlugInUtility: Unable to get plugin info for net.java.sip.communicator.impl.media.codec.audio.speex.JavaDecoder: java.lang.ClassNotFoundException: net.java.sip.communicator.impl.media.codec.audio.speex.JavaDecoder 
2021-07-30 10:49:54.323 FINE: [13] fmj.getPlugInInfo() PlugInUtility: Unable to get plugin info for net.java.sip.communicator.impl.media.codec.audio.ilbc.JavaEncoder: java.lang.ClassNotFoundException: net.java.sip.communicator.impl.media.codec.audio.ilbc.JavaEncoder 
2021-07-30 10:49:54.324 FINE: [13] fmj.getPlugInInfo() PlugInUtility: Unable to get plugin info for net.java.sip.communicator.impl.media.codec.audio.ilbc.JavaDecoder: java.lang.ClassNotFoundException: net.java.sip.communicator.impl.media.codec.audio.ilbc.JavaDecoder 
2021-07-30 10:49:54.325 FINE: [13] fmj.getPlugInInfo() PlugInUtility: Unable to get plugin info for net.sf.fmj.ffmpeg_java.FFMPEGParser: java.lang.ClassNotFoundException: net.sf.fmj.ffmpeg_java.FFMPEGParser 
2021-07-30 10:49:54.325 FINE: [13] fmj.getPlugInInfo() PlugInUtility: Unable to get plugin info for net.sf.fmj.theora_java.NativeOggParser: java.lang.ClassNotFoundException: net.sf.fmj.theora_java.NativeOggParser 
2021-07-30 10:49:54.325 FINE: [13] fmj.getPlugInInfo() PlugInUtility: Unable to get plugin info for com.omnividea.media.parser.video.Parser: java.lang.ClassNotFoundException: com.omnividea.media.parser.video.Parser 
2021-07-30 10:49:54.326 FINE: [13] fmj.getPlugInInfo() PlugInUtility: Unable to get plugin info for com.omnividea.media.codec.video.NativeDecoder: java.lang.ClassNotFoundException: com.omnividea.media.codec.video.NativeDecoder 
2021-07-30 10:49:54.326 FINE: [13] fmj.getPlugInInfo() PlugInUtility: Unable to get plugin info for com.omnividea.media.codec.audio.NativeDecoder: java.lang.ClassNotFoundException: com.omnividea.media.codec.audio.NativeDecoder 
2021-07-30 10:49:54.326 FINE: [13] fmj.getPlugInInfo() PlugInUtility: Unable to get plugin info for com.omnividea.media.codec.video.JavaDecoder: java.lang.ClassNotFoundException: com.omnividea.media.codec.video.JavaDecoder

And this:

2021-07-30 10:49:54.328 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.parser.video.MpegParser: java.lang.ClassNotFoundException: com.ibm.media.parser.video.MpegParser 
2021-07-30 10:49:54.328 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.parser.audio.WavParser: java.lang.ClassNotFoundException: com.sun.media.parser.audio.WavParser 
2021-07-30 10:49:54.329 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.parser.audio.AuParser: java.lang.ClassNotFoundException: com.sun.media.parser.audio.AuParser 
2021-07-30 10:49:54.329 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.parser.audio.AiffParser: java.lang.ClassNotFoundException: com.sun.media.parser.audio.AiffParser 
2021-07-30 10:49:54.329 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.parser.audio.GsmParser: java.lang.ClassNotFoundException: com.sun.media.parser.audio.GsmParser 
2021-07-30 10:49:54.330 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.parser.RawStreamParser: java.lang.ClassNotFoundException: com.sun.media.parser.RawStreamParser 
2021-07-30 10:49:54.331 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.parser.video.QuicktimeParser: java.lang.ClassNotFoundException: com.sun.media.parser.video.QuicktimeParser 
2021-07-30 10:49:54.332 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.parser.video.AviParser: java.lang.ClassNotFoundException: com.sun.media.parser.video.AviParser 
2021-07-30 10:49:54.332 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.parser.video.MpegParser: java.lang.ClassNotFoundException: com.ibm.media.parser.video.MpegParser 
2021-07-30 10:49:54.332 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.audio.mpa.JavaDecoder: java.lang.ClassNotFoundException: com.sun.media.codec.audio.mpa.JavaDecoder 
2021-07-30 10:49:54.333 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.video.cinepak.JavaDecoder: java.lang.ClassNotFoundException: com.sun.media.codec.video.cinepak.JavaDecoder 
2021-07-30 10:49:54.333 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.video.h263.JavaDecoder: java.lang.ClassNotFoundException: com.ibm.media.codec.video.h263.JavaDecoder 
2021-07-30 10:49:54.333 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.video.colorspace.JavaRGBConverter: java.lang.ClassNotFoundException: com.sun.media.codec.video.colorspace.JavaRGBConverter 
2021-07-30 10:49:54.334 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.video.colorspace.JavaRGBToYUV: java.lang.ClassNotFoundException: com.sun.media.codec.video.colorspace.JavaRGBToYUV 
2021-07-30 10:49:54.334 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.PCMToPCM: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.PCMToPCM 
2021-07-30 10:49:54.334 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.rc.RCModule: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.rc.RCModule 
2021-07-30 10:49:54.335 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.audio.rc.RateCvrt: java.lang.ClassNotFoundException: com.sun.media.codec.audio.rc.RateCvrt 
2021-07-30 10:49:54.335 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.audio.msadpcm.JavaDecoder: java.lang.ClassNotFoundException: com.sun.media.codec.audio.msadpcm.JavaDecoder 
2021-07-30 10:49:54.335 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.ulaw.JavaDecoder: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.ulaw.JavaDecoder 
2021-07-30 10:49:54.335 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.alaw.JavaDecoder: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.alaw.JavaDecoder 
2021-07-30 10:49:54.336 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.dvi.JavaDecoder: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.dvi.JavaDecoder 
2021-07-30 10:49:54.336 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.g723.JavaDecoder: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.g723.JavaDecoder 
2021-07-30 10:49:54.336 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.gsm.JavaDecoder: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.gsm.JavaDecoder 
2021-07-30 10:49:54.337 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.gsm.JavaDecoder_ms: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.gsm.JavaDecoder_ms 
2021-07-30 10:49:54.337 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.ima4.JavaDecoder: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.ima4.JavaDecoder 
2021-07-30 10:49:54.337 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.ima4.JavaDecoder_ms: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.ima4.JavaDecoder_ms 
2021-07-30 10:49:54.337 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.ulaw.JavaEncoder: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.ulaw.JavaEncoder 
2021-07-30 10:49:54.338 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.dvi.JavaEncoder: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.dvi.JavaEncoder 
2021-07-30 10:49:54.338 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.gsm.JavaEncoder: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.gsm.JavaEncoder 
2021-07-30 10:49:54.338 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.gsm.JavaEncoder_ms: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.gsm.JavaEncoder_ms 
2021-07-30 10:49:54.339 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.ima4.JavaEncoder: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.ima4.JavaEncoder 
2021-07-30 10:49:54.339 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.ima4.JavaEncoder_ms: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.ima4.JavaEncoder_ms 
2021-07-30 10:49:54.340 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.audio.mpa.Packetizer: java.lang.ClassNotFoundException: com.sun.media.codec.audio.mpa.Packetizer 
2021-07-30 10:49:54.340 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.audio.mpa.DePacketizer: java.lang.ClassNotFoundException: com.sun.media.codec.audio.mpa.DePacketizer 
2021-07-30 10:49:54.340 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.gsm.Packetizer: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.gsm.Packetizer 
2021-07-30 10:49:54.341 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.ibm.media.codec.audio.g723.Packetizer: java.lang.ClassNotFoundException: com.ibm.media.codec.audio.g723.Packetizer 
2021-07-30 10:49:54.341 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.video.jpeg.Packetizer: java.lang.ClassNotFoundException: com.sun.media.codec.video.jpeg.Packetizer 
2021-07-30 10:49:54.342 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.video.jpeg.DePacketizer: java.lang.ClassNotFoundException: com.sun.media.codec.video.jpeg.DePacketizer 
2021-07-30 10:49:54.343 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.video.mpeg.Packetizer: java.lang.ClassNotFoundException: com.sun.media.codec.video.mpeg.Packetizer 
2021-07-30 10:49:54.343 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.codec.video.mpeg.DePacketizer: java.lang.ClassNotFoundException: com.sun.media.codec.video.mpeg.DePacketizer 
2021-07-30 10:49:54.344 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.renderer.audio.SunAudioRenderer: java.lang.ClassNotFoundException: com.sun.media.renderer.audio.SunAudioRenderer 
2021-07-30 10:49:54.346 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.multiplexer.RawSyncBufferMux: java.lang.ClassNotFoundException: com.sun.media.multiplexer.RawSyncBufferMux 
2021-07-30 10:49:54.346 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.multiplexer.audio.GSMMux: java.lang.ClassNotFoundException: com.sun.media.multiplexer.audio.GSMMux 
2021-07-30 10:49:54.349 FINE: [13] fmj.getPluginInfo() Problem loading plugin com.sun.media.multiplexer.video.AVIMux: java.lang.ClassNotFoundException: com.sun.media.multiplexer.video.AVIMux

Then a SEVERE warning shows up

2021-07-30 10:49:54.526 SEVERE: [13] org.jitsi.impl.neomedia.device.DeviceConfiguration.log() Failed to register custom Renderer org.jitsi.impl.neomedia.jmfext.media.renderer.audio.PulseAudioRenderer with JMF.

I can try reinstalling Jitsi and Jigasi and see if that fixes things.

I reinstalled Jigasi and Vosk on two new AWS computers and now everything works. There was most likely some network configuration issue because I followed the exact same installation steps. Alternatively, the networking issues might have been caused a previous Jitsi docker install on the old AWS computers.

Unfortunately, I was not able to figure out exactly what was going wrong before, but now I have a working Jigasi-Vosk setup.