SIP Calling: Degraded Performance Over Time

Audio lag and poor audio quality after 3 days of sustained use; I am going to write a script to restart the servers to band-aid this problem, however my network stats and CPU resources look normal.

Is there somewhere I should look for audio delays in regards to SIP calling?

The delay and lag are when you are dialing in? What versions of jigasi are you using?
Are you using transcoding or you are using it in translator mode with your sip provider?

Its coming from outbound dialer, but the audio lag develops over time.

I’m not sure about transcoding settings, I think I’m using the default.

I’m using stable-7882 for all my jitsi components.

I am using the default settings from the Self-Hosting Guide - Docker | Jitsi Meet.

net.java.sip.communicator.impl.protocol.SingleCallInProgressPolicy.enabled=false

# Adjust opus encoder complexity
net.java.sip.communicator.impl.neomedia.codec.audio.opus.encoder.COMPLEXITY=10

# Disables packet logging
net.java.sip.communicator.packetlogging.PACKET_LOGGING_ENABLED=false

# SIP account
net.java.sip.communicator.impl.protocol.sip.acc1=acc1

net.java.sip.communicator.impl.protocol.sip.acc1.PROXY_ADDRESS=<REDACTED>
net.java.sip.communicator.impl.protocol.sip.acc1.PROXY_AUTO_CONFIG=false
net.java.sip.communicator.impl.protocol.sip.acc1.PROXY_PORT=5060
net.java.sip.communicator.impl.protocol.sip.acc1.PREFERRED_TRANSPORT=UDP


net.java.sip.communicator.impl.protocol.sip.acc1.ACCOUNT_UID=<REDACTED>
net.java.sip.communicator.impl.protocol.sip.acc1.PASSWORD=<REDACTED>
net.java.sip.communicator.impl.protocol.sip.acc1.PROTOCOL_NAME=SIP
net.java.sip.communicator.impl.protocol.sip.acc1.SERVER_ADDRESS=<REDACTED>
net.java.sip.communicator.impl.protocol.sip.acc1.USER_ID=<REDACTED>
net.java.sip.communicator.impl.protocol.sip.acc1.KEEP_ALIVE_INTERVAL=25
net.java.sip.communicator.impl.protocol.sip.acc1.KEEP_ALIVE_METHOD=OPTIONS
net.java.sip.communicator.impl.protocol.sip.acc1.VOICEMAIL_ENABLED=false
net.java.sip.communicator.impl.protocol.sip.acc1.JITSI_MEET_ROOM_HEADER_NAME=X-Room-Name
net.java.sip.communicator.impl.protocol.sip.acc1.JITSI_MEET_DOMAIN_BASE_HEADER_NAME=X-Domain-Base
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.AMR-WB/16000=750
# Temporarily disable G722, see: https://github.com/jitsi/docker-jitsi-meet/issues/1357
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.G722/8000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.GSM/8000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.H263-1998/90000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.H264/90000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.PCMA/8000=600
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.PCMU/8000=650
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.SILK/12000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.SILK/16000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.SILK/24000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.SILK/8000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.VP8/90000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.iLBC/8000=10
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.opus/48000=1000
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.red/90000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.speex/16000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.speex/32000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.speex/8000=0
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.telephone-event/8000=1
net.java.sip.communicator.impl.protocol.sip.acc1.Encodings.ulpfec/90000=0
net.java.sip.communicator.impl.protocol.sip.acc1.OVERRIDE_ENCODINGS=true
net.java.sip.communicator.impl.protocol.sip.acc1.DOMAIN_BASE=meet.jitsi

# XMPP account used for control


net.java.sip.communicator.impl.protocol.jabber.acc0=acc0
net.java.sip.communicator.impl.protocol.jabber.acc0.ACCOUNT_UID=Jabber:jigasi@auth.meet.jitsi
net.java.sip.communicator.impl.protocol.jabber.acc0.USER_ID=jigasi@auth.meet.jitsi
net.java.sip.communicator.impl.protocol.jabber.acc0.IS_SERVER_OVERRIDDEN=true
net.java.sip.communicator.impl.protocol.jabber.acc0.SERVER_ADDRESS=prosody.jitsi.svc.cluster.local
net.java.sip.communicator.impl.protocol.jabber.acc0.SERVER_PORT=5222
net.java.sip.communicator.impl.protocol.jabber.acc0.PASSWORD=<REDACTED>
net.java.sip.communicator.impl.protocol.jabber.acc0.AUTO_GENERATE_RESOURCE=true
net.java.sip.communicator.impl.protocol.jabber.acc0.RESOURCE_PRIORITY=30
net.java.sip.communicator.impl.protocol.jabber.acc0.IS_CARBON_DISABLED=true
net.java.sip.communicator.impl.protocol.jabber.acc0.DEFAULT_ENCRYPTION=true
net.java.sip.communicator.impl.protocol.jabber.acc0.IS_USE_ICE=true
net.java.sip.communicator.impl.protocol.jabber.acc0.IS_ACCOUNT_DISABLED=false
net.java.sip.communicator.impl.protocol.jabber.acc0.IS_PREFERRED_PROTOCOL=false
net.java.sip.communicator.impl.protocol.jabber.acc0.AUTO_DISCOVER_JINGLE_NODES=false
net.java.sip.communicator.impl.protocol.jabber.acc0.PROTOCOL=Jabber
net.java.sip.communicator.impl.protocol.jabber.acc0.IS_USE_UPNP=false
net.java.sip.communicator.impl.protocol.jabber.acc0.USE_DEFAULT_STUN_SERVER=true
net.java.sip.communicator.impl.protocol.jabber.acc0.ENCRYPTION_PROTOCOL.DTLS-SRTP=0
net.java.sip.communicator.impl.protocol.jabber.acc0.ENCRYPTION_PROTOCOL_STATUS.DTLS-SRTP=true
net.java.sip.communicator.impl.protocol.jabber.acc0.VIDEO_CALLING_DISABLED=true
net.java.sip.communicator.impl.protocol.jabber.acc0.OVERRIDE_ENCODINGS=true
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.G722/8000=705
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.GSM/8000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.H263-1998/90000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.H264/90000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.PCMA/8000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.PCMU/8000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.SILK/12000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.SILK/16000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.SILK/24000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.SILK/8000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.VP8/90000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.iLBC/8000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.opus/48000=750
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.speex/16000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.speex/32000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.speex/8000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.Encodings.telephone-event/8000=0
net.java.sip.communicator.impl.protocol.jabber.acc0.BREWERY=jigasibrewery@internal-muc.meet.jitsi
net.java.sip.communicator.impl.protocol.jabber.acc0.DOMAIN_BASE=meet.jitsi
org.jitsi.jigasi.BREWERY_ENABLED=true
org.jitsi.jigasi.ENABLE_SIP=true

org.jitsi.jigasi.HEALTH_CHECK_SIP_URI=
org.jitsi.jigasi.HEALTH_CHECK_INTERVAL=300000
org.jitsi.jigasi.HEALTH_CHECK_TIMEOUT=600000

org.jitsi.jigasi.xmpp.acc.IS_SERVER_OVERRIDDEN=true
org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=prosody.jitsi.svc.cluster.local
org.jitsi.jigasi.xmpp.acc.VIDEO_CALLING_DISABLED=true
org.jitsi.jigasi.xmpp.acc.JINGLE_NODES_ENABLED=false
org.jitsi.jigasi.xmpp.acc.AUTO_DISCOVER_STUN=false
org.jitsi.jigasi.xmpp.acc.IM_DISABLED=true
org.jitsi.jigasi.xmpp.acc.SERVER_STORED_INFO_DISABLED=true
org.jitsi.jigasi.xmpp.acc.IS_FILE_TRANSFER_DISABLED=true


org.jitsi.jigasi.xmpp.acc.USER_ID=jigasi@auth.meet.jitsi
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

org.jitsi.jigasi.xmpp.acc.PASS=
org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true


# Activate this property if you are using self-signed certificates or other
# type of non-trusted certicates. In this mode your service trust in the
# remote certificates always.
net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true

I should note this is for outbound calling

So this is for outbound calling and a single participant staying for hours in a meeting. If that participant hangups and you dial him back its working for another few hours without lag? Or you need to restart jigasi in order to fix it?

Its after a long time of inactivity AKA nighttime hours and then coming back to start dialing the next day.

That is strange… What is the RAM available for jigasi?
There is a way to debug it if you are able to repro regularly.