[asterisk-users] Voicemail Configuration
John Marvin
jm-asterisk at themarvins.org
Mon May 16 16:30:32 CDT 2011
Thanks, that's given me some ideas. I don't think I can totally roll my
own, since I also make use of the MWI features of voicemail. Another
thread pointed out the existence of minivm, which I hadn't realized was
available. I just need to find the time to play around with some of the
proposed options.
John
On 5/14/2011 10:46 PM, virendra bhati wrote:
> this will help you..
>
> ;-------- DIY VOICEMAIL --------------------
> *[ck987_vm_record]*
>
>
> ;"start recording after the beep. Press # when done."
> exten => 1,1,Playback(/home/ck987/asterisk_sounds/vm-record-start)
>
>
> ;build this call's recorded message file name<uniqueID>_<phone number>
> ;every call is assigned a unique id.
>
>
> exten => 1,n,Set(record_file=${UNIQUEID}_${CALLERID(num)})
> ; records into my vm_msg folder.
>
>
> ;Ends if # is hit, silence for 2 secs, or recording lasts for 60 seconds
> exten => 1,n,Record(/home/ck987/asterisk_sounds/vm_msg/${record_file}.wav,2,60)
>
>
> ; 2 to review message, 3 to re record, or hang up
> exten => 1,n,Background(/home/ck987/asterisk_sounds/vm-record-end)
>
>
> exten => 1,n,WaitExten(5)
> exten => 1,n,Playback(/home/ck987/asterisk_sounds/bye)
>
>
> exten => 1,n,Hangup()
>
> exten => 2,1,Playback(/home/ck987/asterisk_sounds/vm_msg/${record_file})
>
>
> ; press 1 to re-record, or hangup if satisfied
> exten => 2,n,Background(/home/ck987/asterisk_sounds/vm-record-again)
>
>
> exten => 2,n,WaitExten(5)
> ;no response, hang up on person.
>
>
> exten => 2,n,Playback(/home/ck987/asterisk_sounds/bye)
> exten => 2,n,Hangup()
>
>
>
> ;go back to the record option
> exten => 3,1,Goto(ck987_vm_record,1,1)
>
>
>
> ;----------DIY VOICEMAIL ADMIN----------------------
>
>
>
> *[ck987_vm_admin]*
> ; pass is 9988, jump to n+101 if authentication fails, expect 4 digits
>
>
> exten => 1,1,Authenticate(9988,j,4)
> ; get number of voicemail messages
>
>
> ; SHELL function returns the output from a system command
> ;"ls -1" lists visible files in a list."wc -l" will count how many lines there are. 1 line per file!
>
>
> exten => 1,n,Set(num_messages=${SHELL(ls -1 /home/ck987/asterisk_sounds/vm_msg/ | wc -l)})
> ;you have...
>
>
> exten => 1,n,Playback(/home/ck987/asterisk_sounds/you-have)
> exten => 1,n,SayDigits(${num_messages})
>
>
> ;...messages!
> exten => 1,n,Playback(/home/ck987/asterisk_sounds/messages)
>
>
> ;get file names."sed" command trims off any .wav exten."tr" command trims off whitespace and line feeds.
>
>
> exten => 1,n,Set(file_names=${SHELL(ls -m /home/ck987/asterisk_sounds/vm_msg/ | sed's/.wav//g' | tr -d' \n')})
>
>
> ;start message counter
> exten => 1,n,Set(msg_counter=1)
>
>
> ; 1 to repeat message, 3 to go to the next message, 7 to go to the previous message
> exten => 1,n,Playback(/home/ck987/asterisk_sounds/msg-options)
>
>
> exten => 1,n,Goto(ck987_vm_play_message,1,1) ; playback loop
> ;try again if password is wrong
>
>
> exten => 1,102,Goto(ck987_vm_admin,1,1)
>
>
>
>
> *[ck987_vm_play_message]*
> exten => 1,1,Background(beep)
>
>
> exten => 1,n,Set(current_message=${CUT(file_names,\,,${msg_counter})})
> exten => 1,n,NoOp(${file_names} ${current_message} ${msg_counter})
>
>
> exten => 1,n,Background(/home/ck987/asterisk_sounds/vm_msg/${current_message})
> exten => 1,n,Goto(3,1)
>
>
>
> ; next message: add 1 and go back to the top of the loop
>
> exten => 3,1,Set(msg_counter=$[${msg_counter} + 1])
> exten => 3,n,Set(msg_counter=${IF($[${msg_counter}> ${num_messages}]?${num_messages}:${msg_counter})})
>
>
> exten => 3,n,Goto(1,1)
>
> ; previous message: subtract 1 and go back to the top of the loop
>
>
> exten => 7,1,Set(msg_counter=$[${msg_counter} - 1])
> ;make sure number never goes below 1
>
>
> exten => 7,n,Set(msg_counter=${IF($[${msg_counter}< 1]?1:${msg_counter})})
> exten => 7,n,Playback(/home/ck987/asterisk_sounds/previous_message)
>
>
> exten => 7,n,Goto(1,1)
>
> ;delete message
>
>
> exten => *,1,System(rm /home/ck987/asterisk_sounds/vm_msg/${current_message})
> ;number of files has changed. reload number of files and file names
>
>
> ;"ls -1" lists visible files in a list."wc -l" will count how many lines there are. 1 line per file!
>
>
> exten => *,n,Set(num_messages=${SHELL(ls -1 /home/ck987/asterisk_sounds/vm_msg/ | wc -l)})
> ;get file names."sed" command trims off any .wav exten."tr" command trims off whitespace and line feeds.
>
>
> exten => *,n,Set(file_names=${SHELL(ls -m /home/ck987/asterisk_sounds/vm_msg/ | sed's/.wav//g' | tr -d' \n')})
>
>
> exten => *,n,Goto(1,1)
>
> it's the actual voicemail example which is use by asterisk it self
>
>
>
> On Tue, May 10, 2011 at 2:53 AM, John Marvin <jm-asterisk at themarvins.org
> <mailto:jm-asterisk at themarvins.org>> wrote:
>
> On 5/9/2011 3:08 PM, Roger Burton West wrote:
>
> You could use Monitor to record the whole call, then use an AGI
> to do
> something with it on hangup if the other conditions haven't been
> satisfied...?
>
>
> I understand how to do the first part, and I at least understand
> that I could do something fancy with the AGI capability. But what I
> don't know is how I can take the recording and insert it into a
> voicemail box such that it can be retrieved through the normal
> "VoiceMailMain" mechanism.
>
> Would the asterisk voicemail app dynamically notice something new
> being dropped into the voicemail mbox directory? Would it only be
> noticed once Asterisk is restarted? Most importantly, would it send
> out the notifies to the "phone" associated with that voicemail box?
> I can probably fake the last part if necessary, but making the
> voicemail retrievable through the normal voicemail mechanism is what
> I really need to achieve.
>
> Thanks,
>
> John
>
>
>
> --
> _____________________________________________________________________
> -- 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
>
>
>
>
> --
>
>
>
> -----
> Thanks and regards
>
> Virendra Bhati
> +91-9172341457
> Asterisk Engineer
>
>
>
> --
> _____________________________________________________________________
> -- 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
More information about the asterisk-users
mailing list