Hey Steve,<div><br></div><div>I very much appreciate your reply, I created that dialplan the same day but after 8~10 hours of working. Yes, I use combination of MixMonitor and Monitor.</div><div>I&#39;ll share my logical dialplan here.</div>
<div><br></div><div>It works like: MixMonitor() is used with option a (append) to record all user recordings in one file. Monitor is only for most recent recording, overwrites on each retry. This had to be Gosub for user to press * or #. On * I jump back to Mixmonitor and monitor and wait for user input at Waitexten(300,m(silence)). on # just concatenate the required Audio with previously required audio file.</div>
<div><br></div><div>its something like this (psuedo-code)</div><div><br></div><div>[recorder-gosub]</div><div>exten =&gt; s,1,NOOP(I&#39;m trying to record your voice - Previously recorded final messages are in file ${GOODAUDIO})</div>
<div>same =&gt;  n,SET(ALLAUDIO=bigfilename)</div><div>same =&gt;  n,SET(THISAUDIO=small-file)</div><div>same =&gt;  n(rerecord),Mixmonitor(${ALLAUDIO},a)</div><div>same =&gt;  n,Monitor(${THISAUDIO})</div><div>same =&gt;  n,Waitexten(300,m(silence))</div>
<div><br></div><div>exten =&gt; i,1,GOTO(*,1)</div><div>exten =&gt; t,1,GOTO(*,1)</div><div><br></div><div>exten =&gt; *,1,GOTO(s,rerecord) ; user wants to retry recording message</div><div><br></div><div>exten =&gt; #,1,StopMonitor()   ; user thinks his message is god enough and save message now</div>
<div>same =&gt; n,StopMixmonitor()  </div><div>same =&gt; n,System(sox ${THISAUDIO} ${GOODAUDIO} ${GOODAUDIO})      ;This will concatenate this required recording to previously recorded good responses.</div><div>same =&gt; n,Return()<br>
<br></div><div>P.S: Macros are useless ! Use Gosub instead. Calling a Gosub inside a macro (just to get user DTMF) clears macro stack and leaves you look like stupified.</div><div><br></div><div>Thanks,</div><div>- Sammy</div>
<div><br></div><div><div class="gmail_quote">On Sun, Sep 18, 2011 at 2:13 AM, Steve Edwards <span dir="ltr">&lt;<a href="mailto:asterisk.org@sedwards.com">asterisk.org@sedwards.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Sat, 17 Sep 2011, Sam Govind wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Requirement: Two copies of the recorded message are required.<br>
</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
[Recorder-A] One will contain only the last message recorded(final)<br>
</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
[Recorder-B] second one will record all the previous retries of the recording.<br>
<br>
Once the instruction file is played sound recording will start.<br>
<br>
Meanwhile recording if user press * Instruction file is played again and message recording: continues for Recorder-B and restarted for Recorder-A.<br>
<br>
If user presses # meanwhile recording..Save both files and continue to next extensions.<br>
<br>
I&#39;ve done sort of combination with Record() application, Mixmonitor, Monitor etc but nothing successful so far !<br>
</blockquote>
<br></div>
I don&#39;t think you can have a single call recording an &#39;attempt&#39; while you record the entire call at the same time. How about recording each attempt separately and concatenating after the fact?<br>
<br>
I did something similar a few years ago using an AGI with the &#39;record file&#39; AGI command and exec&#39;ing the &#39;monitor&#39; and &#39;stopmonitor&#39; applications.<br>
<br>
At the completion of the call, an AGI executed &#39;normalize&#39; to adjust different caller&#39;s &#39;volume&#39; on the individual files, &#39;sox&#39; to concatenate the files, &#39;ffmpeg&#39; to encode to WMA (client requirement) and &#39;curl&#39; to upload to the client&#39;s web site.<br>

<br>
FYI, if you anticipate concatenating more than 32 files, you&#39;ll need sox 14.x instead of sox 12.x included with some distributions.<br>
<br>
-- <br>
Thanks in advance,<br>
------------------------------<u></u>------------------------------<u></u>-------------<br>
Steve Edwards       <a href="mailto:sedwards@sedwards.com" target="_blank">sedwards@sedwards.com</a>      Voice: <a href="tel:%2B1-760-468-3867" value="+17604683867" target="_blank">+1-760-468-3867</a> PST<br>
Newline                                              Fax: <a href="tel:%2B1-760-731-3000" value="+17607313000" target="_blank">+1-760-731-3000</a><br>
<br>
--<br>
______________________________<u></u>______________________________<u></u>_________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
New to Asterisk? Join us for a live introductory webinar every Thurs:<br>
              <a href="http://www.asterisk.org/hello" target="_blank">http://www.asterisk.org/hello</a><br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
  <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/<u></u>mailman/listinfo/asterisk-<u></u>users</a><br>
</blockquote></div><br></div>