custom VoiceMail message

igort

Joined
May 5, 2008
Messages
13
Likes
0
Points
0
#1
How exchange audio message "The person at the extension XXX is unavailable, please leave a message after the tone, when done hangup or press the pound key" of the VoiceMail with only one audio file for all extension in Elastix?

Thanks
Igor
 

Bob

Joined
Nov 4, 2007
Messages
2,400
Likes
1
Points
36
#2
Igor,

You can't no easily anyhow.

The voicemail message is made up of modular files, and in particular, the extension is going to change each time, so this part must remain dynamic.

If you want to change the files, you need to change the following

/var/lib/asterisk/sounds

vm-theperson.gsm
vm-intro.gsm
vm-isonphone.gsm or vm-isunavail.gsm

/var/lib/asterisk/sounds/digits
basically all the number files in this directory need to be changed.

The Voicemail function (messages that is) is controlled by macros in Freepbx, so the only way you could change this is changing the macros in Freepbx (not a good idea) or setup your own custom macro (again not a great idea - I havently looked at it, just taking a knowledgeable guess that it would be a pain).

The reason against change - it also will break other functionality that is built into Freepbx for Voicemail.

Regards

Bob
 

igort

Joined
May 5, 2008
Messages
13
Likes
0
Points
0
#3
Thanks Bob! This works. I replace vm-theperson.gsm with my message and other files with very short *.gsm files of silence.
I also need change mail that send vm@asterisk to users with my message. Where is original message and can be also changed? We don't use *98 but VM send mail with attachment.

There is a sample:

original:

Igor,

There is a new voicemail in mailbox 132:

From: "Igor -doma" <130>
Length: 0:04 seconds
Date: Tuesday, January 13, 2009 at 10:56:28 PM

Dial *98 to access your voicemail by phone.
Visit http://AMPWEBADDRESS/recordings/index.php to check your voicemail with a web browser.


...and my replaces (of course this will be on my language:


Igor,

You have new message on answering machine for number 132. You can listen by running attachment.

From: "Igor -doma" <130>
Length: 0:04 seconds
Date: Tuesday, January 13, 2009 at 22:56:28



" Dial *98 to access your voicemail by phone.
Visit http://AMPWEBADDRESS/recordings/index.php to check your voicemail with a web browser. "
This is not necessary.
How can I change words "From", "Length", "seconds", "Date", day of week and time to 24h format.

Best regards

Igor
 

Mirko87

Joined
Oct 20, 2008
Messages
128
Likes
0
Points
0
#4
Hi...

Yes, it can be changed...

For the body of the mail open this file (whith nano or your favourite editor): /etc/asterisk/vm_email.inc
Here there is the body, and you can change the text of mails, but pay particular attenction to the variables... Infact the message is build on the integration between text and variables.

For the From address of the mail go to:/etc/asterisk/vm_general.inc and change this two lines:

serveremail=vm@asterisk ; Who the e-mail notification should appear to come from
fromstring=Voicemail System ; Real name of email sender

But you can change a lot of more features in that file.

If you need more go to page 107 of Elastix Without Tears...

The only thing that I can't change is the subject to the mail... someone know where is this feature?

Mirko
 

Mirko87

Joined
Oct 20, 2008
Messages
128
Likes
0
Points
0
#5
Igor...

You say that you have changed the digits files with very short *.gsm files of silence...

But I've just thinked that if you dial *98 or *97... The voice of the PBX will be unable to comunicate how many message have you got in your voicemail box...

Mirko
 

igort

Joined
May 5, 2008
Messages
13
Likes
0
Points
0
#6
Yes. Asterisk can't play numbers but VM (*98 and *97) is usable because e.g. vm-repeat.gsm contain number 5... Now "Speak Your Exten Number" *65 also does not work... I know that this is not best way for customize VM but I don't have better idea.

Igor
 

Chilling_Silence

Joined
Sep 23, 2008
Messages
488
Likes
0
Points
0
#7
I turn off the pre-recorded message and just have every user custom-record their own away / busy message :)
 

Mirko87

Joined
Oct 20, 2008
Messages
128
Likes
0
Points
0
#8
Chilling_Silence said:
I turn off the pre-recorded message and just have every user custom-record their own away / busy message :)
Hi again... :)

This is a good idea... And I'm interested... How can I turn of pre-recorded message and have a every user customized message?


Mirko
 

ElasMex

Joined
Oct 22, 2007
Messages
493
Likes
0
Points
16
#9
Hello Mirko87
Hello

Hope will be of help, because I have this setup in several PBX.

The setting is in Spanish, but if they help to translate it into English for the other user is great.

Also open the extension or improvement of this script.

Greetings

***********************************************************************

Saludos

Ya tengo el contexto de las opciones de buzón.

- Primero hay que entrar al archivo /etc/asterisk/extension_custom.conf y colocar los siguiente:
[VMOption]
include => app-directory
exten => #,1,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(0)
exten => s,n(begin),Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=5)
exten => s,n,Background(custom/OpcionBuzon)
exten => s,n,WaitExten()
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 0,1,dbDel(${BLKVM_OVERRIDE})
exten => 0,n,Set(__NODEST=)
exten => 0,n,Goto(ext-local,100,1)
exten => 1,1,dbDel(${BLKVM_OVERRIDE})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Set(ARG1=${VMBOX})
exten => 1,n,Goto(macro-vm,s-${DIALSTATUS},2)
exten => 2,1,dbDel(${BLKVM_OVERRIDE})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(OtherExtension,s,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 1]?hang,1)
exten => loop,n,Goto(VMOption,s,begin)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(VMOption,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

; end of [VMOption]

[OtherExtension]
include => ext-findmefollow
include => ext-local
include => app-directory
exten => #,1,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=5)
exten => s,n,Background(custom/OtraExtension)
exten => s,n,WaitExten()
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(OtherExtension,s,begin)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(OtherExtension,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

; end of [OtherExtension]

- Segundo hay que agregar las grabaciones en Recording vía Web de
* OpcionBuzon
* OtraExtension
Nota: No es necesario el mismo nombre para los mensajes.

- Tercero Entrar al archivo /etc/asterisk/extensions.conf, ubicamos el contesto [macro-vm] y nos ubicamos en:
;**********************************
exten => s-BUSY,1,Goto(VMOption,s,1)
;**********************************
exten => s-BUSY,2,NoOp(BUSY voicemail)
exten => s-BUSY,n,Macro(get-vmcontext,${ARG1})
exten => s-BUSY,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}b${VMGAIN}) ; Voicemail Busy message
exten => s-BUSY,n,Goto(exit-${VMSTATUS},1)

exten => s-NOMESSAGE,1,NoOp(NOMESSAGE (beeb only) voicemail)
exten => s-NOMESSAGE,n,Macro(get-vmcontext,${ARG1})
exten => s-NOMESSAGE,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}${VMGAIN}) ; Voicemail Busy message
exten => s-NOMESSAGE,n,Goto(exit-${VMSTATUS},1)

;**********************************
exten => s-DIRECTDIAL,1,Goto(VMOption,s,1)
;**********************************
exten => s-DIRECTDIAL,2,NoOp(DIRECTDIAL voicemail)
exten => s-DIRECTDIAL,n,Macro(get-vmcontext,${ARG1})
exten => s-DIRECTDIAL,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}${VM_DDTYPE}${VMGAIN})
exten => s-DIRECTDIAL,n,Goto(exit-${VMSTATUS},1)

;**********************************
exten => _s-.,1,Goto(VMOption,s,1)
;**********************************
exten => _s-.,2,Macro(get-vmcontext,${ARG1})
exten => _s-.,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}u${VMGAIN}) ; Voicemail Unavailable message
exten => _s-.,n,Goto(exit-${VMSTATUS},1)

Hay que colocar lo que esta en *

Espero les sirva, se aceptan actualizaciones o una mejor forma de darle opciones al buzón de los usuarios.

Saludos
 

ElasMex

Joined
Oct 22, 2007
Messages
493
Likes
0
Points
16
#10
ElasMex said:
Hello Mirko87
Hello

Hope will be of help, because I have this setup in several PBX.

The setting is in Spanish, but if they help to translate it into English for the other user is great.

Also open the extension or improvement of this script.

Greetings

***********************************************************************

Saludos

Ya tengo el contexto de las opciones de buzón.

- Primero hay que entrar al archivo /etc/asterisk/extension_custom.conf y colocar los siguiente:
[VMOption]
include => app-directory
exten => #,1,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(0)
exten => s,n(begin),Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=5)
exten => s,n,Background(custom/OpcionBuzon)
exten => s,n,WaitExten()
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 0,1,dbDel(${BLKVM_OVERRIDE})
exten => 0,n,Set(__NODEST=)
exten => 0,n,Goto(ext-local,100,1)
exten => 1,1,dbDel(${BLKVM_OVERRIDE})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Set(ARG1=${VMBOX})
exten => 1,n,Goto(macro-vm,s-${DIALSTATUS},2)
exten => 2,1,dbDel(${BLKVM_OVERRIDE})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(OtherExtension,s,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 1]?hang,1)
exten => loop,n,Goto(VMOption,s,begin)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(VMOption,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

; end of [VMOption]

[OtherExtension]
include => ext-findmefollow
include => ext-local
include => app-directory
exten => #,1,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=5)
exten => s,n,Background(custom/OtraExtension)
exten => s,n,WaitExten()
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(OtherExtension,s,begin)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(OtherExtension,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

; end of [OtherExtension]

- Segundo hay que agregar las grabaciones en Recording vía Web de
* OpcionBuzon
* OtraExtension
Nota: No es necesario el mismo nombre para los mensajes.

- Tercero Entrar al archivo /etc/asterisk/extensions.conf, ubicamos el contesto [macro-vm] y nos ubicamos en:
;**********************************
exten => s-BUSY,1,Goto(VMOption,s,1)
;**********************************
exten => s-BUSY,2,NoOp(BUSY voicemail)
exten => s-BUSY,n,Macro(get-vmcontext,${ARG1})
exten => s-BUSY,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}b${VMGAIN}) ; Voicemail Busy message
exten => s-BUSY,n,Goto(exit-${VMSTATUS},1)

exten => s-NOMESSAGE,1,NoOp(NOMESSAGE (beeb only) voicemail)
exten => s-NOMESSAGE,n,Macro(get-vmcontext,${ARG1})
exten => s-NOMESSAGE,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}${VMGAIN}) ; Voicemail Busy message
exten => s-NOMESSAGE,n,Goto(exit-${VMSTATUS},1)

;**********************************
exten => s-DIRECTDIAL,1,Goto(VMOption,s,1)
;**********************************
exten => s-DIRECTDIAL,2,NoOp(DIRECTDIAL voicemail)
exten => s-DIRECTDIAL,n,Macro(get-vmcontext,${ARG1})
exten => s-DIRECTDIAL,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}${VM_DDTYPE}${VMGAIN})
exten => s-DIRECTDIAL,n,Goto(exit-${VMSTATUS},1)

;**********************************
exten => _s-.,1,Goto(VMOption,s,1)
;**********************************
exten => _s-.,2,Macro(get-vmcontext,${ARG1})
exten => _s-.,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}u${VMGAIN}) ; Voicemail Unavailable message
exten => _s-.,n,Goto(exit-${VMSTATUS},1)

Hay que colocar lo que esta en *

Espero les sirva, se aceptan actualizaciones o una mejor forma de darle opciones al buzón de los usuarios.

Saludos
******************************************************************************************************
Hola Mirko87

Anexo archivo de configuración en Elastix 1.3

Espero les sea de ayuda.

Saludos, y espero sus comentarios. http://forum.elastix.org/old_files/extensions-96d34583ef301afa1ea293a902317db0.zip
 

Mirko87

Joined
Oct 20, 2008
Messages
128
Likes
0
Points
0
#11
ElasMex said:
ElasMex said:
Hello Mirko87
Hello

Hope will be of help, because I have this setup in several PBX.

The setting is in Spanish, but if they help to translate it into English for the other user is great.

Also open the extension or improvement of this script.

Greetings

***********************************************************************

Saludos

Ya tengo el contexto de las opciones de buzón.

- Primero hay que entrar al archivo /etc/asterisk/extension_custom.conf y colocar los siguiente:
[VMOption]
include => app-directory
exten => #,1,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(0)
exten => s,n(begin),Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=5)
exten => s,n,Background(custom/OpcionBuzon)
exten => s,n,WaitExten()
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 0,1,dbDel(${BLKVM_OVERRIDE})
exten => 0,n,Set(__NODEST=)
exten => 0,n,Goto(ext-local,100,1)
exten => 1,1,dbDel(${BLKVM_OVERRIDE})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Set(ARG1=${VMBOX})
exten => 1,n,Goto(macro-vm,s-${DIALSTATUS},2)
exten => 2,1,dbDel(${BLKVM_OVERRIDE})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(OtherExtension,s,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 1]?hang,1)
exten => loop,n,Goto(VMOption,s,begin)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(VMOption,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

; end of [VMOption]

[OtherExtension]
include => ext-findmefollow
include => ext-local
include => app-directory
exten => #,1,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=5)
exten => s,n,Background(custom/OtraExtension)
exten => s,n,WaitExten()
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(OtherExtension,s,begin)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(OtherExtension,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

; end of [OtherExtension]

- Segundo hay que agregar las grabaciones en Recording vía Web de
* OpcionBuzon
* OtraExtension
Nota: No es necesario el mismo nombre para los mensajes.

- Tercero Entrar al archivo /etc/asterisk/extensions.conf, ubicamos el contesto [macro-vm] y nos ubicamos en:
;**********************************
exten => s-BUSY,1,Goto(VMOption,s,1)
;**********************************
exten => s-BUSY,2,NoOp(BUSY voicemail)
exten => s-BUSY,n,Macro(get-vmcontext,${ARG1})
exten => s-BUSY,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}b${VMGAIN}) ; Voicemail Busy message
exten => s-BUSY,n,Goto(exit-${VMSTATUS},1)

exten => s-NOMESSAGE,1,NoOp(NOMESSAGE (beeb only) voicemail)
exten => s-NOMESSAGE,n,Macro(get-vmcontext,${ARG1})
exten => s-NOMESSAGE,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}${VMGAIN}) ; Voicemail Busy message
exten => s-NOMESSAGE,n,Goto(exit-${VMSTATUS},1)

;**********************************
exten => s-DIRECTDIAL,1,Goto(VMOption,s,1)
;**********************************
exten => s-DIRECTDIAL,2,NoOp(DIRECTDIAL voicemail)
exten => s-DIRECTDIAL,n,Macro(get-vmcontext,${ARG1})
exten => s-DIRECTDIAL,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}${VM_DDTYPE}${VMGAIN})
exten => s-DIRECTDIAL,n,Goto(exit-${VMSTATUS},1)

;**********************************
exten => _s-.,1,Goto(VMOption,s,1)
;**********************************
exten => _s-.,2,Macro(get-vmcontext,${ARG1})
exten => _s-.,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}u${VMGAIN}) ; Voicemail Unavailable message
exten => _s-.,n,Goto(exit-${VMSTATUS},1)

Hay que colocar lo que esta en *

Espero les sirva, se aceptan actualizaciones o una mejor forma de darle opciones al buzón de los usuarios.

Saludos
******************************************************************************************************
Hola Mirko87

Anexo archivo de configuración en Elastix 1.3

Espero les sea de ayuda.

Saludos, y espero sus comentarios. http://forum.elastix.org/old_files/extensions-96d34583ef301afa1ea293a902317db0.zip
Hola ElasMex...
Thank you so much.. really... you are great..

On Monday/Tuesday in office I'll back to work on Elastix PBX.. and I'll tell you if I have understand...

Mirko
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,940
Messages
130,961
Members
17,632
Latest member
moaulool
Top