[asterisk-users] Message recorder
Sam Govind
govoiper at gmail.com
Sun Sep 18 23:44:40 CDT 2011
Hey Steve,
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.
I'll share my logical dialplan here.
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.
its something like this (psuedo-code)
[recorder-gosub]
exten => s,1,NOOP(I'm trying to record your voice - Previously recorded
final messages are in file ${GOODAUDIO})
same => n,SET(ALLAUDIO=bigfilename)
same => n,SET(THISAUDIO=small-file)
same => n(rerecord),Mixmonitor(${ALLAUDIO},a)
same => n,Monitor(${THISAUDIO})
same => n,Waitexten(300,m(silence))
exten => i,1,GOTO(*,1)
exten => t,1,GOTO(*,1)
exten => *,1,GOTO(s,rerecord) ; user wants to retry recording message
exten => #,1,StopMonitor() ; user thinks his message is god enough and
save message now
same => n,StopMixmonitor()
same => n,System(sox ${THISAUDIO} ${GOODAUDIO} ${GOODAUDIO}) ;This will
concatenate this required recording to previously recorded good responses.
same => n,Return()
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.
Thanks,
- Sammy
On Sun, Sep 18, 2011 at 2:13 AM, Steve Edwards <asterisk.org at sedwards.com>wrote:
> On Sat, 17 Sep 2011, Sam Govind wrote:
>
> Requirement: Two copies of the recorded message are required.
>>
>
> [Recorder-A] One will contain only the last message recorded(final)
>>
>
> [Recorder-B] second one will record all the previous retries of the
>> recording.
>>
>> Once the instruction file is played sound recording will start.
>>
>> Meanwhile recording if user press * Instruction file is played again and
>> message recording: continues for Recorder-B and restarted for Recorder-A.
>>
>> If user presses # meanwhile recording..Save both files and continue to
>> next extensions.
>>
>> I've done sort of combination with Record() application, Mixmonitor,
>> Monitor etc but nothing successful so far !
>>
>
> I don't think you can have a single call recording an 'attempt' while you
> record the entire call at the same time. How about recording each attempt
> separately and concatenating after the fact?
>
> I did something similar a few years ago using an AGI with the 'record file'
> AGI command and exec'ing the 'monitor' and 'stopmonitor' applications.
>
> At the completion of the call, an AGI executed 'normalize' to adjust
> different caller's 'volume' on the individual files, 'sox' to concatenate
> the files, 'ffmpeg' to encode to WMA (client requirement) and 'curl' to
> upload to the client's web site.
>
> FYI, if you anticipate concatenating more than 32 files, you'll need sox
> 14.x instead of sox 12.x included with some distributions.
>
> --
> Thanks in advance,
> ------------------------------**------------------------------**
> -------------
> Steve Edwards sedwards at sedwards.com Voice: +1-760-468-3867 PST
> Newline Fax: +1-760-731-3000
>
> --
> ______________________________**______________________________**_________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> New to Asterisk? Join us for a live introductory webinar every Thurs:
> http://www.asterisk.org/hello
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/**mailman/listinfo/asterisk-**users<http://lists.digium.com/mailman/listinfo/asterisk-users>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20110919/74dd7fdc/attachment.htm>
More information about the asterisk-users
mailing list