No Sound Incoming SIP Call java.lang IllegalStateException: audioSystem

I’m able to call into the default conference room over the phone, but people on the phone can’t hear the others in the conference, nor can the people in the video conference hear the people on the phone. I did see this in the jigasi.log:

2021-02-11 19:31:38.067 SEVERE: [15] 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 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
    at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:124)
    at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:346)
    at java.base/java.lang.Class.newInstance(Class.java:604)
    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 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
    at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:124)
    at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:346)
    at java.base/java.lang.Class.newInstance(Class.java:604)
    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:69)
    at org.jitsi.service.libjitsi.LibJitsi.invokeGetServiceOnImpl(LibJitsi.java:173)
    at org.jitsi.service.libjitsi.LibJitsi.getMediaService(LibJitsi.java:125)
    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)

My jitsi instance is running on a Ubuntu Server 20.04 VM.

This you can ignore. Does your sip provider support latching for natted devices?

I commented out some settings and I now get audio from the phone to the conference, but conference to the phone is not working. The settings I changed were in /etc/jitsi/jigasi/sip-communicator.properties:

#net.java.sip.communicator.impl.neomedia.audioSystem.audiosilence.captureDevice_list["AudioSileneCaptureDevice:noTransferData"]
#net.java.sip.communicator.impl.protocol.sip.acc1403273890647.USE_TRANSLATOR_IN_CONFERENCE=true
#org.jitsi.jigasi.xmpp.acc.USE_TRANSLATOR_IN_CONFERENCE=true
net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true
#net.java.sip.communicator.impl.protocol.sip.1403273890647.USE_TRANSLATOR_IN_CONFERENCE=false
#org.jitsi.jigasi.xmpp.acc.USE_TRANSLATOR_IN_CONFERENCE=false
# allow a conference to start muted
#org.jitsi.jigasi.ENABLE_SIP_STARTMUTED=false

I’m not sure which settings applied (I got them from this tutorial https://voximplant.com/docs/tutorials/integration/jigasi-setup) but now that I commented those out, I’ve graduated to being able to hear the people on the phone, but they can’t hear the conference.

I’ll look into that. I’m using an instance of freeswitch that I set up.

I am connecting to my freeswitch instance over the local network. In that case, I’m thinking latching for natted devices should not apply?

I’m seeing these errors in the jitasi log:

2021-02-11 21:46:14.290 SEVERE: [169] net.sf.fmj.media.Log.error()   Unable to handle format: LINEAR, 48000.0 Hz, 16-bit, Mono, LittleEndian, Signed
2021-02-11 21:46:14.292 SEVERE: [169] net.sf.fmj.media.Log.error() Failed to prefetch: net.sf.fmj.media.ProcessEngine@56e20c9c
2021-02-11 21:46:14.296 SEVERE: [168] net.sf.fmj.media.Log.error() Error: Unable to prefetch net.sf.fmj.media.ProcessEngine@56e20c9c

It looks like it is safe to ignore those errors. I found that setting org.jitsi.impl.neomedia.transform.csrc.CsrcTransformEngine.DISCARD_CONTRIBUTING_SOURCES=true in my jigasi sip config solved my problem.