[asterisk-users] Attatch monitor recording to a voicemail

Dovid B asteriskusers at dovid.net
Tue Feb 26 12:37:26 CST 2008


----- Original Message ----- 
From: "Jared Smith" <jsmith at digium.com>
To: "Dovid B" <asteriskusers at dovid.net>
Cc: "Asterisk Users Mailing List - Non-Commercial Discussion" 
<asterisk-users at lists.digium.com>
Sent: Tuesday, February 26, 2008 8:08 PM
Subject: Re: [asterisk-users] Attatch monitor recording to a voicemail


> On Tue, 2008-02-26 at 19:48 +0200, Dovid B wrote:
>> Jared,
>> You mentioned that you have done it in the past.Can you post your code 
>> here
>
> No, unfortunately this was done under NDA, but the general gist goes
> like this:
>
> Dialplan pieces:
>
> A) Get automon working.  Don't forget to set the DYNAMIC_FEATURES
> variable (either as a global variable, or on a channel-by-channel
> basis).
>
> B) Set the MONITOR_EXEC variable to point to the program explained
> below.  (I suggest learning about how to prepend an underscore or two to
> the beginning of a variable name to ensure that it gets inherited by any
> created channels.)  For example, I set:
>
> exten => example,n,Set(_MONITOR_EXEC=/usr/local/bin/automon-to-vm)
>
> C) Set the MONITOR_EXEC_ARGS variable to tell the program below any
> information which it might need.  My example is a bit messy (and
> probably overengineered), but here it is.  (Just promise me you won't
> laugh at it.)
>
> exten => example,n,Set(ORIGDATE=${BASE64_ENCODE(${STRFTIME(${EPOCH},,%a
> %b %e %r %Z %Y)})})
> exten => example,n,Set(_MONITOR_EXEC_ARGS=${MACRO_EXTEN}^${CONTEXT}^
> ${MACRO_CONTEXT}^${EXTEN}^${PRIORITY}^${CHANNEL}^
> ${BASE64_ENCODE(${CALLERID(all)})}^${ORIGDATE}^${EPOCH})
>
> OK, now for the program itself to take the recorded audio and send it to
> voicemail:
>
> 1) Mix the inbound and outbound audio channels.  I use soxmix to do
> this, and put the inbound on the left channel and the outbound on the
> right channel.  For completeness' sake, convert into the various formats
> you have defined in voicemail.conf (typically wav, WAV, and gsm).
> 2) Iterate
> through /var/spool/asterisk/voicemail/${VM-CONTEXT}/${MAILBOX}/INBOX/,
> looking for msg0000.*, msg0001.*, etc. until you no longer find that
> message.  Move the audio file(s) created in step 2 to this location.
> 3) Create an appropriate .txt file that goes with the message.  If you
> look at a regular voicemail recording, you'll see there's a .txt file in
> addition to the audio file(s). This text file specifies when the
> voicemail recording was left, the duration, the CallerID information,
> etc.
>
> Anybody with reasonable programming skills should be able to do this in
> a few dozen lines of code -- it's nothing too spectacular.
>
> -- 
> Jared Smith
> Community Relations Manager
> Digium, Inc.
>

Thanks a lot. 





More information about the asterisk-users mailing list