[Solved!] App_mixmonitor crashes Asterisk multiple times

I’m running Asterisk 1.2.24 and I’m getting tons of core dumps like the following… Anyone have any ideas? I have to record each outbound phone call for later review and app_mixmonitor isn’t handling it well…

It will usually return that line number (192) but sometimes it will crash and core dump at line 160 also…

Any ideas?

(gdb) bt full
#0 0x00110402 in __kernel_vsyscall ()
No symbol table info available.
#1 0x00805fa0 in raise () from /lib/libc.so.6
No symbol table info available.
#2 0x008078b1 in abort () from /lib/libc.so.6
No symbol table info available.
#3 0x0083cd6b in __libc_message () from /lib/libc.so.6
No symbol table info available.
#4 0x00844df1 in _int_free () from /lib/libc.so.6
No symbol table info available.
#5 0x00848430 in free () from /lib/libc.so.6
No symbol table info available.
#6 0x0051efa8 in mixmonitor_thread (obj=0x918eb10) at app_mixmonitor.c:192
next = (struct ast_frame *) 0x0
f = (struct ast_frame *) 0xb6303ca0
fs = (struct ast_filestream *) 0x906ec58
ext = 0x918ebff "wav"
errflag = 0
PRETTY_FUNCTION = “mixmonitor_thread”
#7 0x00a2044b in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#8 0x008ad80e in clone () from /lib/libc.so.6
No symbol table info available.

Bump. I’m having this issue again with another PBX (different hardware + Asterisk 1.4.16) Any Ideas?


I have callcenters using mixmonitor with no issues, recording all in and out calls, Do you have it set to only record when bridged? and is there enough diskspace?.

Also what does the dialplan looklike ? and is it random or reproducable?


The problem is very random. I have 2 identical PBXs right now both running the exact same software (Trixbox 2.4) and with 25 phones on each. I have roughly 480 gigs of disk space free on each and they both terminate via T1s to the same carrier. But only 1 crashes!

Just to make sure it wasn’t bad ram in the one crashing, I replaced the ram.

The problem is apparently in the busydetect code. I noticed that apparently when ever an outbound call reached a busy signal, there was about a 20% chance that busydetect would end the call before mixmonitor would stop recording. Which I’m assuming lead to null pointers and attempts to free unallocated memory.

By disabling busydetect, all my woes went away.

Note: This is on an E&M Wink line, if that makes any difference, perhaps busydetect will work ok over PRI?


That would explain it, I have no reason to use busy dtact as busy is sgnalled in the isdn messages and SIP and IAX also report busy in the messages.

You do have it set so it only records when the call is bridged dont you ?


Hi All,

I also have this problem even with MixMonitor(). It records one leg of call faster than the other leg. It doesn’t align the recording, so one can hear smooth recorded conversation of both called and calling party.

What it does presently (We use asterisk-1.4.18 ) is, records both leg (incoming call on PRI to Agents on SIP Softphones) of the call on the same file but with different playback of voice conversation on the same file (we have over 50 agents).

Any idea on what is causing this?

Cheers to all.