Summary:ASTERISK-05561: Monitor() function broken since beta2 ?
Reporter:Max (tintin)Labels:
Date Opened:2005-11-10 13:22:35.000-0600Date Closed:2011-06-07 14:02:40
Versions:Frequency of
Description:I've been using the Monitor function to record channels for quite some time with 1.0.9, it also still worked with 1.2.0-beta1, but since beta2 channels recorded using Monitor() will not be be played back using playback() or background() for example. Something =is= being recorded as I can tell from the size of the recorded .gsm file, but there is just no way to hear it - just dead silence when I use playback() on that recorded file.

Code used:

Exten => 555,1,Monitor(gsm,test,m)

I double checked by going back to beta-1: gsm files recorded using Monitor()with beta-1 can be played back, gsm files recorded with beta-2 or rc1 can not be played back with neither beta-1, beta-2 or rc1. So the problem is not with playback() but rather with the monitor() function I assume.
Comments:By: Tilghman Lesher (tilghman) 2005-11-10 13:42:51.000-0600

This is more likely related to the conversion from using raw file descriptors to using buffered _IO_FILE streams.

By: Tilghman Lesher (tilghman) 2005-11-10 14:07:33.000-0600

I don't seem to be able to reproduce this.

By: Max (tintin) 2005-11-10 14:21:28.000-0600

I went back and forth between beta1 and rc1 several times today and I can reproduce it all the time. I recorded a SIP channel using Monitor(), maybe you tried with a different one ?

By: Tilghman Lesher (tilghman) 2005-11-10 14:24:30.000-0600

Yes, I have Zap loopstart channels here; no problems.

By: Max (tintin) 2005-11-10 14:31:39.000-0600

I don't have any ZAP channels so I can't test it with those. Can you try to reproduce it using Monitor() on a SIP channel?

By: Kevin P. Fleming (kpfleming) 2005-11-10 20:21:38.000-0600

I just tested SIP to Zap, monitoring each side in turn. In both cases, the resulting output files were just fine, and Playback() had no trouble playing them.

By: Max (tintin) 2005-11-11 04:39:33.000-0600

I've been testing with SIP only (both legs) as well as SIP/IAX, IAX/SIP connections. Problem is always there. I tried using wav instead of gsm, but same thing, just dead silence when trying to Playback()

In a further test I now left out the "m" option in Monitor(), which mixes the 2 legs, and found that the two channel legs, while left unmixed, can both be played back using Playback().

Looking at res_monitor.c I can't see a change in the way soxmix is called, but maybe I'm missing something?

If the way soxmix is called didn't change and it works in beta1 , but not rc1, it can only be that the gsm format changed and soxmix can't mix it properly?

I'm using what appears to be the latest sox version: 12.17.6

As said before there is no problem with this sox version 12.17.6 mixing gsm files in the process of using Monitor() in beta1 and prior versions.

By: Max (tintin) 2005-11-11 05:37:50.000-0600

I just found out there is a sox version 12.17.7 and even 12.17.8 available, which apt-get didn't give me at first - installed the latest sox now and the problem is solved. Maybe this is worth mentioning in UPGRADE.txt ?

By: BJ Weschke (bweschke) 2005-11-11 07:50:18.000-0600

appears to be an issue with sox instead of an issue with files produced with Monitor().