Hi,
I'm trying to play a WAV file using the media player. First, I tried on Rocky 8 (had some issues compiling), then on Rocky 9. In both cases, rtpengine crashed, so I tried with Debian and the package from
https://dfx.at/rtpengine/. Still the same result. I guess I'm doing something wrong. Here is the systemctl log output:
Jun 02 22:46:36 testvm rtpengine[3266]: INFO: [
1-3...@10.10.10.10]: [control] Received command 'play media' from
127.0.0.1:41183Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [control] Dump for 'play media' from
127.0.0.1:41183: { "supports": [ "load limit" ], "file": "/samples/heello.wav", "received-from": [ "IP4", "10.10.10.10" ], "call-id": "
1-3...@10.10.10.10", "from-tag": "3333SIPpTag011", "to-tag": "3336SIPpTag001", "command": "play media", "sip-message-type": "sip_reply" }
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [core] Unconfirming peer address for local
10.10.10.10:33014 (media blocking signalling event)
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [core] Unconfirming peer address for local
10.10.10.10:33015 (media blocking signalling event)
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [codec] Setting up codec handlers for 3336SIPpTag001 #1 -> 3333SIPpTag011 #1
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [codec] Default sink codec is PCMA/8000/ (8)
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [codec] Checking receiver codec PCMA/8000/1/ (8)
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [codec] Sink codec for PCMA/8000/ is PCMA/8000/1/ (8)
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [codec] Sink supports codec PCMA/8000/ (8) for passthrough (to 8)
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [codec] Shutting down codec handler for PCMA/8000/1
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [codec] Using passthrough handler for PCMA/8000/ (8) with DTMF -1, CN -1
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [core] Unconfirming peer address for local
10.10.10.10:33014 (updating codec source handlers)
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [core] Unconfirming peer address for local
10.10.10.10:33015 (updating codec source handlers)
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [core] Unconfirming peer address for local
10.10.10.10:37380 (updating codec source handlers)
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [core] Unconfirming peer address for local
10.10.10.10:37381 (updating codec source handlers)
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [core] Output codec for media playback is PCMA/8000
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [core] Using kernel packet stream index 2
Jun 02 22:46:36 testvm kernel: poller[3282]: segfault at 28 ip 000055a55f4e5ab0 sp 00007fa6295a9020 error 6 in rtpengine[55a55f41d000+10b000] likely on CPU 0 (core 0, socket 0)
Jun 02 22:46:36 testvm kernel: Code: 01 00 00 00 00 00 00 48 c7 83 68 01 00 00 00 00 00 00 f3 48 ab 48 8b 86 30 02 00 00 48 89 83 20 01 00 00 48 8b 86 40 02 00 00 <48> 89 50 28 48 8b 43 78 f0 83 00 01 48 8d 0d 8d f3 ff ff 48 89 86
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [ffmpeg] av_log: Opening '/samples/heello.wav' for reading
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [ffmpeg] av_log: Setting default whitelist 'file,crypto,data'
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [ffmpeg] av_log: Probing wav score:99 size:2048
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [ffmpeg] av_log: Format wav probed with size=2048 and score=99
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [codec] Creating SSRC transcoder from PCMA/8000/1 to PCMA/8000/1
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [core] Initialized encoder with frame size 160 samples
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [codec] Encoder created with clockrate 8000, 1 channels, using sample format 1 (ptime 20 for 160 samples per frame and 160 samples (160 bytes) per packet, bitrate 0)
Jun 02 22:46:36 testvm rtpengine[3266]: DEBUG: [
1-3...@10.10.10.10]: [codec] Created media playback context for PCMA/8000/ -> PCMA/8000/
Jun 02 22:46:36 testvm systemd[1]: rtpengine-daemon.service: Main process exited, code=killed, status=11/SEGV
Jun 02 22:46:36 testvm systemd[1]: rtpengine-daemon.service: Failed with result 'signal'.
Here is config I'm running:
https://pastebin.com/CijpnDNB Playback without kernel player works fine.
GDB output:
https://pastebin.com/naHwbtry (it's always segfault at 28)
Kamailio config is simple rtpengine_manage inbound, rtpengine_manage on 200 and then playback. I've tried cleaning wav, rate, metadata etc...
➜ rtpengine rtpengine --codecs
PCMA: fully supported
PCMU: fully supported
G723: fully supported
G722: fully supported
QCELP: supported for decoding only
G729: fully supported
G729a: fully supported
speex: fully supported
GSM: fully supported
iLBC: supported for decoding only
opus: fully supported
EVS: not supported
vorbis: codec supported but lacks RTP definition
ac3: codec supported but lacks RTP definition
eac3: codec supported but lacks RTP definition
ATRAC3: supported for decoding only
ATRAC-X: supported for decoding only
EVRC: supported for decoding only
EVRC0: supported for decoding only
EVRC1: supported for decoding only
AMR: supported for decoding only
AMR-WB: supported for decoding only
telephone-event: fully supported
CN: fully supported
PCM-S16LE: codec supported but lacks RTP definition
PCM-U8: codec supported but lacks RTP definition
MP3: codec supported but lacks RTP definition