Good morning everyone, I wanted to know if anyone could help me. I’m facing a problem that is very difficult to debug:
Problem
We are experiencing an intermittent issue where, during a conversation, the call goes silent after a few minutes. The caller can no longer hear the agent, and vice versa. Interestingly, after reviewing the call recording, I can confirm that the RTP packets were passing through Asterisk, as both sides’ audio appears in the recording. However, both parties report “I’m not listening,” indicating a problem with audio reception.
Troubleshooting Steps Taken
—> Check 1: I looked for the recording of the call that the agent reported was silent, and after listening to it, I saw the audio of both parties in the recording (which indicates that the RTP packets were passing through Asterisk), however it is clear from the phrases “I’m not listening” that both sides were not receiving the audio.
---> Check 2: Here are some logs of messages I collected at the time of the occurrence
[2024-11-28 15:25:34] ERROR[2209359] res_http_websocket.c: Error reading from web socket: Success
[2024-11-28 15:26:06] ERROR[2219272] res_http_websocket.c: Error reading from web socket: Connection timed out
[2024-11-28 15:26:06] ERROR[24501] iostream.c: SSL_shutdown() failed: error:00000005:lib(0):func(0):DH lib, Underlying BIO error: Bad file descriptor
[2024-11-28 15:26:43] ERROR[2220555] res_http_websocket.c: Error reading from web socket: Connection timed out
[2024-11-28 15:26:43] ERROR[24501] iostream.c: SSL_shutdown() failed: error:00000005:lib(0):func(0):DH lib, Underlying BIO error: Bad file descriptor
[2024-11-28 15:28:52] ERROR[2045178] pjproject: icess0x7fb05c191738 ......Error sending STUN request: Network is unreachable
[2024-11-28 15:31:20] ERROR[2226821] res_http_websocket.c: Error reading from web socket: Success
[2024-11-28 15:34:05] ERROR[2222320] res_http_websocket.c: Error reading from web socket: Connection timed out
[2024-11-28 15:34:05] ERROR[24501] iostream.c: SSL_shutdown() failed: error:00000005:lib(0):func(0):DH lib, Underlying BIO error: Bad file descriptor
[2024-11-28 15:34:13] ERROR[2217479] res_http_websocket.c: Error reading from web socket: Connection timed out
[2024-11-28 15:34:13] ERROR[24501] iostream.c: SSL_shutdown() failed: error:00000005:lib(0):func(0):DH lib, Underlying BIO error: Bad file descriptor
[2024-11-28 15:34:30] ERROR[2179634] res_http_websocket.c: Error reading from web socket: Success
[2024-11-28 15:35:12] ERROR[1974173] pjproject: icess0x7fb1a8302418 ......Error sending STUN request: Network is unreachable
[2024-11-28 15:37:01] ERROR[2228675] res_http_websocket.c: Error reading from web socket: Success
[2024-11-28 15:38:31] ERROR[2017456] pjproject: icess0x7fb0e82ea788 .......Error sending STUN request: Network is unreachable
[2024-11-28 15:38:31] ERROR[24613] pjproject: icess0x7fb0e82ea788 ..Error sending STUN request: Network is unreachable
[2024-11-28 15:38:31] ERROR[24613] pjproject: icess0x7fb0e82ea788 ..Error sending STUN request: Network is unreachable
[2024-11-28 15:38:31] ERROR[24613] pjproject: icess0x7fb0e82ea788 ..Error sending STUN request: Network is unreachable
[2024-11-28 15:38:31] ERROR[24613] pjproject: icess0x7fb0e82ea788 ..Error sending STUN request: Network is unreachable
[2024-11-28 15:38:55] ERROR[2226213] res_http_websocket.c: Error reading from web socket: Success
[2024-11-28 15:39:53] ERROR[2226491] res_http_websocket.c: Error reading from web socket: Success
[2024-11-28 15:41:04] ERROR[2179410] res_http_websocket.c: Error reading from web socket: Connection reset by peer
[2024-11-28 15:41:04] ERROR[24501] iostream.c: SSL_shutdown() failed: error:00000005:lib(0):func(0):DH lib, Underlying BIO error: Bad file descriptor
[2024-11-28 15:14:24] WARNING[2221717][C-00005a90] res_rtp_asterisk.c: 1732817638.119111: DTLS packet from 186.225.153.XXX:56707 dropped. ICE not completed yet.
[2024-11-28 15:15:39] WARNING[2218754][C-00005ab5] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:15:39] WARNING[2218754][C-00005ab5] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:15:56] WARNING[2222031][C-00005ab2] res_rtp_asterisk.c: 1732817754.119164: DTLS packet from 10.141.0.1:57199 dropped. ICE not completed yet.
[2024-11-28 15:16:13] WARNING[2219107] taskprocessor.c: The 'stasis/m:devicestate:all-00000844' task processor queue reached 500 scheduled tasks again.
[2024-11-28 15:17:27] WARNING[2222518][C-00005a8a] res_rtp_asterisk.c: 1732817838.119216: DTLS packet from 10.141.0.1:62825 dropped. ICE not completed yet.
[2024-11-28 15:17:28] WARNING[2221178][C-00005ad8] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:17:28] WARNING[2221178][C-00005ad8] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:17:33] WARNING[2222575][C-00005ab0] res_rtp_asterisk.c: 1732817851.119238: DTLS packet from 186.225.153.XXX:53846 dropped. ICE not completed yet.
[2024-11-28 15:17:37] WARNING[2222611][C-00005aae] res_rtp_asterisk.c: 1732817855.119246: DTLS packet from 186.225.153.XXX:61866 dropped. ICE not completed yet.
[2024-11-28 15:18:53] WARNING[2222849][C-00005b03] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:18:53] WARNING[2222849][C-00005b03] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:20:08] WARNING[2224106][C-00005aed] res_rtp_asterisk.c: 1732817991.119344: DTLS packet from 186.225.153.XXX:55357 dropped. ICE not completed yet.
[2024-11-28 15:24:19] WARNING[2223571] taskprocessor.c: The 'stasis/m:devicestate:all-00000844' task processor queue reached 500 scheduled tasks again.
[2024-11-28 15:24:20] WARNING[2223571] taskprocessor.c: The 'stasis/m:manager:core-00000006' task processor queue reached 3000 scheduled tasks again.
[2024-11-28 15:25:02] WARNING[2217215][C-00005a8a] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:25:02] WARNING[2217215][C-00005a8a] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:25:24] WARNING[2226657][C-00005b02] res_rtp_asterisk.c: 1732818312.119469: DTLS packet from 186.225.153.XXX:58863 dropped. ICE not completed yet.
[2024-11-28 15:26:35] WARNING[2226982][C-00005b17] res_rtp_asterisk.c: 1732818393.119491: DTLS packet from 186.225.153.XXX:51700 dropped. ICE not completed yet.
[2024-11-28 15:27:23] WARNING[2227075][C-00005b39] res_rtp_asterisk.c: 1732818432.119516: DTLS packet from 10.141.0.1:52429 dropped. ICE not completed yet.
[2024-11-28 15:28:45] WARNING[2227337][C-00005b22] res_rtp_asterisk.c: 1732818522.119562: DTLS packet from 186.225.153.XXX:56474 dropped. ICE not completed yet.
[2024-11-28 15:28:55] WARNING[2227410][C-00005b35] res_rtp_asterisk.c: 1732818529.119572: DTLS packet from 186.225.153.XXX:50846 dropped. ICE not completed yet.
[2024-11-28 15:30:05] WARNING[2227847][C-00005b06] res_rtp_asterisk.c: 1732818602.119618: DTLS packet from 10.141.0.1:49653 dropped. ICE not completed yet.
[2024-11-28 15:31:19] WARNING[2221824][C-00005ae3] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:31:19] WARNING[2221824][C-00005ae3] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:33:17] WARNING[2227103][C-00005b04] res_rtp_asterisk.c: PJ ICE Rx error status code: 370401 'Unauthorized'.
[2024-11-28 15:33:18] WARNING[2227103][C-00005b04] res_rtp_asterisk.c: PJ ICE Rx error status code: 370401 'Unauthorized'.
[2024-11-28 15:33:18] WARNING[2227103][C-00005b04] res_rtp_asterisk.c: PJ ICE Rx error status code: 370401 'Unauthorized'.
[2024-11-28 15:33:18] WARNING[2227103][C-00005b04] res_rtp_asterisk.c: PJ ICE Rx error status code: 370401 'Unauthorized'.
[2024-11-28 15:33:18] WARNING[2227103][C-00005b04] res_rtp_asterisk.c: PJ ICE Rx error status code: 370401 'Unauthorized'.
[2024-11-28 15:33:18] WARNING[2227103][C-00005b04] res_rtp_asterisk.c: PJ ICE Rx error status code: 370401 'Unauthorized'.
[2024-11-28 15:33:31] WARNING[2227274][C-00005b42] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:33:31] WARNING[2227274][C-00005b42] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:33:50] WARNING[2222812][C-00005b04] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:33:50] WARNING[2222812][C-00005b04] res_musiconhold.c: Music on Hold class 'default' not found in memory/database. Verify your configuration.
[2024-11-28 15:34:09] WARNING[2230705][C-00005b58] res_rtp_asterisk.c: 1732818832.119740: DTLS packet from 186.225.153.XXX:53503 dropped. ICE not completed yet.
Here are some things I have already tried:
- Action 1: Review the JSSIP application that uses the Websocket transport. I added an ICE restart when the person disconnects from the internet, which caused the call to go dead. I was able to solve this problem, but it seems that this was not the cause of my client’s problem.
Architecture and Configuration
→ Public Network (Caller): The call from outside is received through a single endpoint
[XXX]
type=endpoint
transport=transport-udp
context=inbound
disallow=all
allow=ulaw
allow=alaw
allow=g726
allow=h263
aors=XXX
direct_media=yes
rewrite_contact=yes
[XXX]
type=aor
contact=sip:PUBLIC_IP1:5060
contact=sip:PUBLIC_IP2:5060
[XXX]
type=identify
endpoint=XXX
match=PUBLIC_IP1
match=PUBLIC_IP2
--> Asterisk: Has a Public IP and is not behind a NAT
--> Configuration of transport:
[transport-wss]
type=transport
protocol=ws
bind=0.0.0.0
[transport-tls]
type=transport
protocol=tls
bind=0.0.0.0:5061
cert_file=/etc/asterisk/keys/cert.pem
priv_key_file=/etc/asterisk/keys/private_key.pem
cipher=ECDHE-ECDSA-AES 256-SHA,ECDHE-RSA-AES256-SHA,DHE-RSA-AES256-SHA,ECDHE-ECDSA-AES128-SHA,ECDHE-RSA-AES128-SHA,DHE-RSA-AES128-SHA,AES256-SHA,AES128-SHA
method=tlsv1_2
external_media_address=ASTERISK_IP_PUBLIC
external_signaling_address=ASTERISK_IP_PUBLIC
→ Agents: They are behind a NAT and connect through an application developed by us with JSsip that runs in a Web browser and uses the ws transport for SIP signaling. → Agent configuration:
# id, rtp_engine, rtcp_mux, rtp_ipv6, rtp_keepalive, rtp_symmetric, max_audio_streams, webrtc, media_encryption, rtp_timeout, rtp_timeout_hold, ice_support, force_rport, rewrite_contact, direct_media, direct_media_method
'1101', NULL, 'yes', NULL, NULL, 'yes', NULL, NULL, 'dtls', '120', NULL, 'yes', 'yes', 'yes', 'no', NULL
→ RTP Config
; RTP Configuration
[general]
rtpstart=10000
rtpend=20000
Please, if you have any idea what it could be I would appreciate it, this is a problem that is not easy to solve, as it happens sporadically.