[Home]

Summary:ASTERISK-10445: Queue recording via monitor-format and monitor-join produces output different from MixMonitor
Reporter:alric (alric)Labels:
Date Opened:2007-10-04 09:57:32Date Closed:2011-06-07 14:07:21
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Applications/app_queue
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:I monitor both incoming and outgoing calls in my PBX.  Normal calls get recorded with MixMonitor(${UNIQUEID}.wav), Queue calls are recorded with the monitor-format = wav and monitor-join = yes options.  Both methods end up with call files using the uniqueid, in the wav format, in /var/spool/asterisk/monitor

Post recording I have a script that runs on the directory that basically converts the calls to a smaller .wav format via the command "sox recordedFile.wav -g -r 8000 -c1 recordedFileNew.wav".  On the calls that were recorded by MixMonitor, it outputs a perfectly working audio file, smaller than the original.  On the calls that were recorded through the Queue mechanism, it outputs a file that is either 256 bytes or 320 bytes large and is not a valid audio file, regardless of the input.  I don't think it is a problem with sox simply because it is working for all of the MixMonitor calls, and working well.

I don't know the codebase well, and don't really know C, but the whole issue gets really confusing to me when I look into app_queue.c and as far as I can tell, queue monitor-join recording uses the MixMonitor application.

Comments:By: Mark Michelson (mmichelson) 2007-10-04 22:27:54

Not that this will fix the issue you're seeing, but a workaround for this would be to not use the monitor-join option and instead use monitor-type=mixmonitor. That way it will use the mixmonitor app to record your calls instead of trying to use monitor and then join the audio files together.

By: alric (alric) 2007-10-09 10:42:51

I did make that change a few days ago, and things are working as expected now.  Its still a strange issue though.

By: Mark Michelson (mmichelson) 2007-10-16 17:15:39

I discussed this on IRC a bit and decided that the monitor-join option is going to be deprecated in favor of the monitor-type = mixmonitor. The plan is still to fix this issue, though, but it seems silly to have an option available which can be implemented in a much better way.

By: Digium Subversion (svnbot) 2007-10-16 17:28:57

Repository: asterisk
Revision: 86028

U   branches/1.4/apps/app_queue.c

------------------------------------------------------------------------
r86028 | mmichelson | 2007-10-16 17:28:57 -0500 (Tue, 16 Oct 2007) | 6 lines

Adding deprecated warning to monitor-join option, since the plan is to
no longer support this in favor of monitor-type = mixmonitor

(related to issue ASTERISK-10445)


------------------------------------------------------------------------

By: Digium Subversion (svnbot) 2007-10-16 17:30:36

Repository: asterisk
Revision: 86029

_U  trunk/

------------------------------------------------------------------------
r86029 | mmichelson | 2007-10-16 17:30:35 -0500 (Tue, 16 Oct 2007) | 13 lines

Blocked revisions 86028 via svnmerge

........
r86028 | mmichelson | 2007-10-16 17:49:10 -0500 (Tue, 16 Oct 2007) | 6 lines

Adding deprecated warning to monitor-join option, since the plan is to
no longer support this in favor of monitor-type = mixmonitor

(related to issue ASTERISK-10445)


........

------------------------------------------------------------------------

By: Digium Subversion (svnbot) 2007-10-16 17:33:53

Repository: asterisk
Revision: 86030

U   trunk/apps/app_queue.c

------------------------------------------------------------------------
r86030 | mmichelson | 2007-10-16 17:33:52 -0500 (Tue, 16 Oct 2007) | 6 lines

Removed the monitor-join option. If one wishes to mix audio, they should instead use
monitor-type=mixmonitor.

(related to issue ASTERISK-10445)


------------------------------------------------------------------------

By: Mark Michelson (mmichelson) 2007-10-16 17:48:18

I looked a bit deeper into the code and saw that the monitor-join option was dependent on soxmix being installed on the system (unless the variable MONITOR_EXEC was set to something else to use). Could it be that you did not have this installed when you were experiencing your issue?

By: alric (alric) 2007-10-18 14:10:38

soxmix is installed on the system.  Its actually what I used to use to merge everything (before monitor-join and MixMonitor existed). I started moving things over to MixMonitor in 1.4.

By: Jason Parker (jparker) 2008-01-18 13:49:20.000-0600

I believe the issue here is related to the soxmix vs sox -m differences that existed at one point.

I'm going to go ahead and close this report, but if this is still an issue in the latest version of 1.4, please feel free to reopen.