[Home]

Summary:ASTERISK-23377: MixMonitor Append Flag Ignored
Reporter:Matthew Wiesemann (mdw19873)Labels:
Date Opened:2014-02-25 16:57:35.000-0600Date Closed:2014-03-06 17:50:43.000-0600
Priority:MinorRegression?
Status:Closed/CompleteComponents:Applications/app_mixmonitor
Versions:1.8.25.0 1.8.26.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:CentOS 6.5, Kernel 2.6.32-431.5.1, i686 CentOS 6.5, Kernel 2.6.32-431.5.1, x86_64 Attachments:
Description:While using Asterisk 1.8.25, the dialplan application MixMonitor ignores the "a" flag. When attempting to append to an already existing file with the "a" flag, the file is replaced with a new one. I have attempted multiple file locations with multiple attempts and cannot get the recording to be appended to, only replaced.
Comments:By: Rusty Newton (rnewton) 2014-02-27 15:33:53.240-0600

I tested with 1.8 branch r407817 and the 'a' flag works fine for me.

Can you re-test with the latest branch revision in SVN and additionally attach some debug and logs to the issue so that we can diagnose the issue?

https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines
https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information

We must see

* The exact dialplan in use (extensions.conf)
* Actually see it being used (logs from logger.conf, with every message type enabled, plus verbose and debug types turned up to 5)
* Shell output showing the file after the first MixMonitor call, and the file after the second MixMonitor call (preferably "ls -lh")
* The Asterisk logs you provide should correspond to those files.

Please use the most minimal diaplan possible to make it easy to understand.

For example:

{noformat}
exten = 6002,1,MixMonitor(testcall.wav,a)
same = n,Dial(SIP/6002)
{noformat}


By: Matthew Wiesemann (mdw19873) 2014-02-28 11:21:44.499-0600

Just built a test environment that worked with the way I'm using MixMonitor. Only difference I found was 64-bit vs 32-bit. Going to build a 32-bit environment now to see if I can replicate.

By: Matthew Wiesemann (mdw19873) 2014-03-06 14:38:03.851-0600

In the example code I am using, I am making multiple calls to MixMonitor and StopMixMonitor via features during a single call, not multiple. This seems to differ from your example. Anything you can think of that would not permit this kind of operation? My test environment it works, I use the exact some code in my development project, and it only overwrites.

By: Rusty Newton (rnewton) 2014-03-06 16:20:27.289-0600

Hmm. I don't know off-hand. If you can upload a full log and relevant configuration showing exactly what you are doing, then we'll be able to tell.

If your test and development environments have identical configuration and software versions, and the only different is 32 vs 64bit then that sounds buggy..  Does the overwrite behavior only occur in the 64bit environment?



By: Matthew Wiesemann (mdw19873) 2014-03-06 16:31:34.322-0600

It occurs in both 32/64 bit environments. Something I've noticed between the two environments is that one appears to write as it goes, as the file size grows throughout the call. The other creates the file with zero data, but after StopMixMonitor is called, the full file is there. I'll do what I can to shrink these dial plans down and get them uploaded hopefully by tomorrow.

By: Matthew Wiesemann (mdw19873) 2014-03-06 17:33:35.325-0600

After much digging, it was determined that cache_record_files was set to yes in asterisk.conf. Changing this to no gave us the expected result of of appending.

By: Michael L. Young (elguero) 2014-03-06 17:50:43.312-0600

Thanks for getting back to us on this and reporting your findings.  We will go ahead and close this out since this is not a bug.

By: Matthew Wiesemann (mdw19873) 2014-03-07 10:53:45.491-0600

Is the a flag being ignored when caching turned on just intuitive knowledge amongst Asterisk developers then? I haven't found any documentation to indicate that the flag would/should be ignored. It would appear I found a workaround rather than it not being a bug.