Configuracion de Asterisk - Cuarta parte - voicemail.conf

No tiene autorización para enviar comentarios.
Printer-friendly versionSend to friendPDF version

Actualizado 08 septiembre 2009

En el archivo voicemail.conf es donde se configura todo lo relacionado con el buzon de voz. Si recibimos una llamada y no contestamos o la línea está ocupada, entrará en función el contestador, grabará el mensaje de voz dejado por quien llama y nos enviará un correo electrónico para avisarnos. Además podemos anexar el mensaje de voz al correo electrónico en el formato audio que nos más guste. Este archivo se encuentra normalmente en la carpeta /etc/asterisk (distribución Centos).

Mostraré todas las opciones que podemos configurar. Todas las opciones/parámetros que tienen un punto y coma por delante es porque no las estoy usando en mi configuración

__________________________________________________________________________________________

; Correo de voz Configuración

[general]

format=gsm|wav ; el codec audio utilizado para grabar los mensajes de voz dejados en el contestador

serveremail=asterisk@voztovoice.org ; el remitente del correo electrónico que nos avisa de una nuevo mensaje de voz

attach=yes ; Si attach está en yes el mensaje de voz se enviará como anexo al correo electronico
maxmsg=100 ; numero máximo de mensajes de voz para cada casilla configurada
maxsecs=300 ; numero máximo de segundos por cada mensaje  de voz

minsecs=3 ; numero mínimo de segundos para que un mensaje de voz sea reconocido como tal y enviado a la casilla del destinatario.

maxgreet=60 ; podemos grabar un mensaje de bienvenida para nuestro buzon de voz personal. Este parámetro define la duración máxima del mensaje

skipms=3000 ; cuando escuchamos los mensaje de voz, si configurado, podemos usar el teclado para adelantar o atrasar el mensaje mismo. Por ejemplo: hundiendo el numero 8 nos adelantamos de 3000 milisegundos, es decir 3 segundos, con el 9 nos devolvemos de 3 segundos

maxsilence=10 ; si mientras se graba un mensaje de voz hay un silencio de 10 segundos, la llamada se termina y también la grabación

silencethreshold=128 ; este numero representa el nivel de audio y  sirve para definir que se considera silencio. Más bajo el numero, más sensible al ruido

maxlogins=3 ; numero máximo de veces que nos podemos equivocar insertando la contraseña para entrar a nuestra buzon de voz

moveheard=yes ; Una vez escuchados los mensajes de voz podemos pasarlos a la carpeta OLD (viejos) en automático sino tenemos que hacerlo desde el menú del contestador

userscontext=default ; el contexto predefinido para los usuarios de las casillas de voz

;externnotify=/usr/bin/myapp ; si cada vez que recibimos un mensaje de voz queremos arrancar un programa tenemos que configurarlo aquí

;smdienable=yes ; esto es para configurar SMDI (Simple Message Desk Interface).
;smdiport=/dev/ttyS0 ; pueden encontrar más información en la carpeta doc de las fuentes de asterisk

;externpass=/usr/bin/myapp ; Si queremos que un programa arranque cada vez que cambiamos la contraseña de nuestro buzon de voz tenemos que configurarlo aquí

;externpassnotify=/usr/bin/myapp ; si externpass está configurado y queremos que la contraseña se actualice también en voicemail.conf tenemos que configurar este parámetro

directoryintro=dir-intro ; el mensaje de introducción de la aplicación directory (para buscar las extensiones en la centralita)

charset=ISO-8859-1 ; el estándar ISO para los mensajes de texto que se enviaran para notificar la llegada de un nuevo mensaje de voz

pbxskip=yes ; quitar la la abreviación [PBX] en el remitente del mensaje

fromstring=VozToVoice ; el nombre que aparecerá como remitente del correo electrónico

usedirectory=yes ; Los mensajes de voz que recibimos podemos reenviarlos a otro usuarios/extensiones del servidor Asterisk. También podemos dejar directamente mensajes de voz en determinados buzones. Esta opción permite buscar en el directorio la persona a la que queremos dejar o reenviar el correo de voz

;odbcstorage=asterisk ;podemos guardar los mensajes de voz en un base de datos usando el driver ODBC. Aquí es donde hay que configurar esta opción

;odbctable=voicemessages; el nombre de la tabla de la base de datos donde guardar los mensajes de voz

; Change the from, body and/or subject, variables:
;     VM_NAME, VM_DUR, VM_MSGNUM, VM_MAILBOX, VM_CALLERID, VM_CIDNUM,
;     VM_CIDNAME, VM_DATE
;
; Note: The emailbody config row can only be up to 512 characters due to a
;       limitation in the Asterisk configuration subsystem.
;emailsubject=[PBX]: New message ${VM_MSGNUM} in mailbox ${VM_MAILBOX}
; The following definition is very close to the default, but the default shows
; just the CIDNAME, if it is not null, otherwise just the CIDNUM, or "an unknown
; caller", if they are both null.
;emailbody=Dear ${VM_NAME}:\n\n\tjust wanted to let you know you were just left a ${VM_DUR} long message (number ${VM_MSGNUM})\nin mailbox ${VM_MAILBOX} from ${VM_CALLERID}, on ${VM_DATE}, so you might\nwant to check it when you get a chance.  Thanks!\n\n\t\t\t\t--Asterisk\n

Todo el bloque de arriba son las variables y el texto del correo electrónico que enviaremos para notificar la llegada de un nuevo mensaje de voz. Lo podemos modificar y adaptarlo a nuestras exigencias.

pagerfromstring=VozToVoice ; si enviamos un aviso también a un Pager esta línea define el remitente del mensaje
pagersubject=Nuevo VM ; el objeto del mensaje al Pager
pagerbody=Nuevo mensaje de ${VM_DUR} de duración en la casilla ${VM_MAILBOX}\nde ${VM_CALLERID}, en ${VM_DATE} ; el cuerpo del mensaje

mailcmd=/usr/sbin/sendmail -t ; sendmail es el programa predefinido para enviar los correos electrónicos

; Si en lugar ODBC queremos usar el protocolo IMAP para guardar nuestros mensajes de voz, aquí va indicada la ;configuración.

;imapgreetings=no; para guardar el mensaje de bienvenida en la carpeta de IMAP.  Igual a no si no usamos IMAP

;greetingsfolder=INBOX ; Si imapgreetings es igual a yes aquí es donde definimos la carpeta donde guardar el mensaje audio de bienvenida

;imapparentfolder=INBOX ; si queremos crear una carpeta dentro de la carpeta INBOX para cada buzon de voz

tz=central ; huso horario predefinido para indicar la fecha y la hora del correo de voz recibido

attach=yes; Si es igual a yes el mensaje de voz se anexará al correo electrónico de notifica

attachfmt=wav El formato audio con que se enviará el mensaje audio anexo al correo electrónico

saycid=yes; Si es igual a yes antes de escuchar el correo de voz se escuchará el identificativo (numero de teléfono o extensión) de quien lo dejó

sayduration=no; Anunciar o no la duración del correo de voz

saydurationm=2; Definir la duración mínima del correo de voz para que sea anunciada (en minutos)

dialout=phones; Contexto de utilizar para efectuar llamadas desde el menú del contestador [opción 4 del menú avanzado]

sendvoicemail=yes ; permitir o no de enviar un correo de voz a otra extensión [opción 5 del menú avanzado]

; callback=fromvm; Contexto para llamar desde el menu del buzon de voz al remitente de un mensaje de voz

; exitcontext=fromvm ; Contexto donde enviar el usuario si mientras usa los menú del buzon  oprime el tecla * o 0

review=yes; Si es igual a yes permite a quien está dejando un correo de voz de escucharlo antes de enviarlo

; operator=yes; permite a quien llama de presionar 0 antes/después/mientras está dejando un correo de voz para buscar una operadora

; envelope=no ; antes de reproducir el mensaje audio, reproduce los datos del mensaje

; delete=yes; Si es igual a yes y activado una vez que se notifique la llegada de un correo de voz, éste se borrará del servidor

; volgain=0.0; si el correo de voz se grabó con un volumen muy bajo con esta opción podemos mejorar su calidad. Para que se pueda utilizar debemos tener instalado sox

; nextaftercmd=yes; ir al correo de voz que sigue si presionamos las teclas 7 o 9 (borrar/guardar el mensaje corriente)

forcename=yes; Obligar cada usuario con buzon de voz a grabar su nombre la primera vez que accede. Un usuario se considerará nuevo si su contraseña coincide con el numero de su extensión

forcegreetings=no; parecido al de arriba. Obliga el nuevo usuario a grabar un mensaje de bienvenida

hidefromdir=no; el usuario no aparecerá en el directorio

tempgreetwarn=yes; recordar al usuario que el mensaje de bienvenida temporáneo es él que se está usando

;vm-password=custom_sound ; configurar un archivo de voz distinto para pedir la contraseña de la casilla

; vm-newpassword=custom_sound ; como arriba para cuando se avisa de insertar una nueva contraseña para el buzon
; vm-passchanged=custom_sound ; Voz personalizada para decir "Tu contraseña ha sido cambiada"

; vm-reenterpassword=custom_sound ; Voz personalizada para decir "Introduce nuevamente tu contraseña seguida del botón numeral

; vm-mismatch=custom_sound; Voz personalizada de "la contraseña insertada y repetida no son iguales"

listen-control-forward-key=# ; tecla numérica para adelantar el mensaje que se está escuchando

listen-control-reverse-key=*; tecla numérica para ir atrás en el mensaje que se está escuchando

listen-control-pause-key=0; tecla numérica para poner en pausa el mensaje

listen-control-restart-key=2; tecla numérica para volver a escuchar el mensaje desde el inicio

listen-control-stop-key=13456789; teclas numéricas para parar el mensaje y volver al menú del contestador

backupdeleted=100; numero máximo de mensajes en la carpeta "borrados"

[zonemessages]
colombia=America/Bogota|'vm-received' aebY 'digits/at' HM
eastern=America/New_York|'vm-received' Q 'digits/at' IMp
central=America/Chicago|'vm-received' Q 'digits/at' IMp
central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours'
military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p'
european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM

; En el bloque de arriba definimos la zonas horarias que podemos usar en el contestador. Si por ejemplo tenemos usuarios de distintos continentes, podemos definir por cada uno su huso horario y de esta forma configurar la fecha y hora exactas de los mensajes de voz de su buzon

[default] ; aquí empieza la configuración de las casillas para los usuarios pertenecientes al contexto default

;maxmsg=50 ; define el numero máximo de correos de voz por cada carpeta de un determinado contexto (en este caso el contexto es default)

;cada casilla sigue estas reglas

numero extensión => contraseña, nombre apellido, correo electrónico, correo pager,opciones separadas por el signo |

Aquí abajo van algunos ejemplos
;4200 => 9855,Mark Spencer,markster@linux-support.net,mypager@digium.com,attach=no|serveremail=myaddy@digium.com|tz=central|maxmsg=10
;4300 => 3456,Ben Rigas,ben@american-computer.net
;4310 => -5432,Sales,sales@marko.net,,tz=colombia
;4069 => 6522,Matt Brooks,matt@marko.net,,|tz=central|attach=yes|saycid=yes|operator=yes|moveheard=yes|sayduration=yes|saydurationm=1
;4073 => 1099,Bianca Paige,bianca@biancapaige.com,,delete=1
;4110 => 3443,Rob Flynn,rflynn@blueridge.net
;4235 => 1234,Jim Holmes,jim@astricon.ips,,Tz=european

[other] ;other es otro contexto con sus opciones y sus usuarios (por ejemplo si el mismo servidor está siendo utilizado por dos empresas distintas

;directoryintro=dir-company2; mensaje de bienvenida del directorio de la empresa 2
;1234 => 5678,Company2 User,root@localhost

;[acme] ; tercero contexto para otra empresa
;tz=eastern
;111 => 7383,Pete,pete@acme-widgets.com,,tz=central
;112 => 6262,Nancy,nancy@acme-widgets.com
__________________________________________________________________________________________

Ahora que tenemos nuestro contestador bien configurado como lo utilizamos en nuestra centralita? Tenemos que modificar el archivo extensions.conf y añadir algo parecido en el contexto donde tienen acceso las extensiones de nuestra centralita.

[internal]

exten => 97,1,Answer(); abre el canal (contesta)
exten => 97,n,VoiceMailMain(${CALLERID(num)}@default); envía la llamada directamente a la casilla de la extensión que está llamando en el contexto default
exten => 97,n,Hangup(); termina la llamada

97 es el numero que desde nuestro teléfono IP o softphone tenemos que marcar para acceder a nuestra casilla personal

exten => 2000,1,Dial(SIP/2000,30,r); llamada a la extensión 2000 por 30 segundos. Quien llama escuchará el sonido del timbre (opción r)
exten => 2000,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail); según si la línea está ocupada o nadie contesta se continuará en el dialplan en las prioridadades definidas con las etiquetas (unavail), no disponible, o (busy), ocupado.
exten => 2000,n(unavail),Voicemail(2000@default,u); se activará el contestador anunciando que la extensión llamada no está disponible (opción u) y después del tono podremos dejar un mensaje
exten => 2000,n,Hangup(); se terminará la llamada
exten => 2000,n(busy),VoiceMail(2000@default,b); se activará el contestador anunciando que la extensión llamada está ocupada (opción b) y que despues del tono podremos dejar un mensaje
exten => 2000,n,Hangup(); se terminará la llamada

Complicado? No se :)

Comentarios

Increible la forma como

Increible la forma como detalla todo
¡¡¡MIL GRACIAS!!!

De nada

De nada :)

Consulta VOicemail maxmsg y delete

Existe la posibilidad.. de llegar al numero de mensajes en total asignado por maxmsg=60 por ejemplo.. y que el mensaje de buzon de voz numero 61.. para poder ser ingresado.. asteris borre el 1er mensaje (el mas antiguo tecnicamente)

he probado.. y no doy con la solucion..

desde ya muchas gracias!

 

Que va en el lugar de la n

Que va en el lugar de la n, n(unavail) y n(busy)

En que contexto

La verdad no entendi la pregunta.

Que querias saber?

 

 

prioridad

Mi duda es acerca de las prioridades de las llamadas, en algun lugar encontre que para que cuando la llamada no se contesta la prioridad (n en el articulo) debe ser seteada a 102 para que conteste el buzon de voz.

En el articulo:
exten => 2000,n(unavail),Voicemail(2000@default,u);

yo probe con n(unavail)=102.

pero cuando llamo a la extension en lugar de tomar la llamada el buzon de voz, se genera tono de ocupado.

Re: prioridad

Hay algunas aplicaciones que se comportan como estas escribiendo pero en este caso funciona como mostrado en el articulo. La aplicacion dial genera una variable (DIALSTATUS) en la que se almacena el estado de la extension llamada.

Es por eso que no hace falta indicar una prioridad n+101

Ademas en la prueba que tu hiciste hay un error porque en lugar de 102 deberias poner 104 porque la prioridad de la linea con la etiqueta (unavail) es la tercera mas 101 = 104

En el articulo habia un error que acabo de corregir. En la linea del Dial habia una prioridad n en lugar de uno.

Cuentame

Tengo una gran duda a mi no

Tengo una gran duda a mi no me salta el correo de voz y e editado mis archivos asi:

Extensions.conf
[miprimerejemplo]
exten=> 20000,1,Dial(SIP/20000,30,Ttm)
exten=> 20000,2,Hangup
exten=> 20000,102,voicemail(20000)
exten=> 20000,103,Hangup

exten=> 20100,1,Dial(SIP/20100,30,Ttm)
exten=> 20100,2,Hangup
exten=> 20100,102,voicemail(20100)
exten=> 20100,103,Hangup

exten=> 30000,1,VoicemailMain

Sip.conf
[20000]
type=friend
secret=a20000b
qualify=yes
nat=no
host=dynamic
canreinvite=no
context=miprimerejemplo
mailbox=20000@miprimerbuzon

[20100]
type=friend
secret=b20100a
qualify=yes
nat=no
host=dynamic
canreinvite=no
context=miprimerejemplo
mailbox=20100@miprimerbuzon

Voicemail.conf
[miprimerbuzon]
20000=> 1234,Pedro,pedro@midominio.com
20100=> 4321,Juan,juan@midominio.com

lo tome de un ejemplo pero creo que e cometido un erros inocente y es que no tengo servidor de correo ni dominio en mi red y no se si es necesario por la parte de "@midominio.com" podrian ayudarme?

voicemail

En extensions.conf

exten => 20000,n,Dial(SIP/20000,30,T)
exten => 20000,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 20000,n(busy),Voicemail(${EXTEN}@default,b)
exten => 20000,n,hangup
exten => 20000,n(unavail),Voicemail(${EXTEN}@default,u)
exten => 20000,n,hangup

Sip.conf
[20000]
type=friend
secret=a20000b
qualify=yes
nat=no
host=dynamic
canreinvite=no
context=miprimerejemplo
mailbox=20000@default

[default]
20000=> 1234,Pedro,pedro@gmail.com
20100=> 4321,Juan,juan@hotmail.com

Si tienes instalado sendmail puedes enviar los correos a cualquier cuenta.

para entrar el el menu del contestador:

exten => 97,1,Answer(2)
exten => 97,n,VoiceMailMain(${CALLERID(num)}@default)
exten => 97,n,Hangup()

Cuentame si te funcionó

Saludos

Servidor SMTP

Hola,
Primeramente felicidades por los tutoriales que se ponen en esta web; son muy buenos!!!!
En mi caso recién comienzo con asterisk, pero con tu ejemplos y un poco de imaginación creo estar haciendo un gran trabajo implementando lo que todavía es un piloto a implementar a gran escala.
Bueno, la pregunta es la siguiente, yo ya tengo configurado los voicemail, pero no me envía mensaje alguno a mi correo, asumo que se debe a que no he configurado mi servidor smtp ni los datos de usuario para que pueda realizar este envío.
Yo tengo un tengo un servidor smtp en otro equipo, pero no encuentro donde redireccionar esto ni el puerto respectivo.
Si me das una mano te lo agradecería inmensamente.

Saludos

Eddy

Re: Servidor SMTP

Si usas un servidor SMTP en otro computador de la LAN tienes que modificar esta linea:

mailcmd = /usr/sbin/sendmail -t

En su lugar poner un Script que envíe el correo a través del servidor que tienes instalado.

Otra opción es instalar sendmail y con eso puedes enviarlos a cualquier dirección de correo (gmail, hotmail, etc...)

Chao

Re: Servidor SMTP

Muchas gracias por la respuesta...

No me funcó con el script, y no confio mucho en el sendmail, pero instalé el exim4 y funciona!!!!!!!!

Nuevamente gracias....

Hasta pronto...

Eddy

Re: Exim

Sería bueno que escribieras como lo solucionaste para que pueda ser útil a otros usuarios.
Gracias

He probado eso y no me funciona

He probado a configurarlo como dices ahí, pero me dice que no existe la extención ala que intento llamar, no se si será por el n o que, ya que si lo hago con números funciona pero no me salta el contestador ¿podrías ayudarme? . Otra csilla, ¿donde puedo encontar información de las prioridades?

Saludos y gracias

Puedo reenviar voicemail a mas de una cuenta

Hola, también te he hecho esta pregunta para la recepción de fax... ¿Puedo recibir un voicemail en mas de una cuenta de correo? Algo así:

4110 => 3443,Rob Flynn,rflynn@blueridge.net;fulano@blueridge.net

Gracias.

Re: Voicemail a más de un correo electronico

Ponerlo en la misma linea como hiciste tu no se puede.
Si los correos electrónicos son usuarios locales de tu servidor puedes usar la opción de los "alias" y asignar a un alias más de un correo electrónico.
Saludos

voicemail

Hola a todos, me gustaría saber si sendmail lo tengo que instalar obligatoriamente para el uso de notificaciones de correo o ya viene instalado por defecto

de tener que instalarlo ¿¿como se hace???

muchas gracias

Re: Voicemail

Hola Mincha,

sendmail no viene por defecto y su distribución Linux es CentOS para instalarlo debes usar este comando:

yum install sendmail*

Una vez instalado lo configura para que se inicie al iniciarse el servidor linux:

chkconfig sendmail on

Luego lo inicis:

/etc/init.d/sendmail start

y haces tus pruebas.

Sin un dominio registrado es muy probable que los correos enviados vayan en la carpeta de spam del destinatario.

Saludos

Felicitar y pedir ayuda con configuracion voicemail

Antes de nada quiero felicitar a todos los colaboradores de este foro, tambien quiero pedir ayuda en este tema en el cual soy principiante, he leido algunos tutoriales y howto a cerca de la plataforma haciendo lo que se indica para configurar el voicemail, pero me he topado con un problema, al configurar el voicemail desde freePBX v.2.2.1 yendo posteriormente a configurar de forma manual los archivos de configuracion (extensions.conf, sip.conf y voicemail.conf) obteniendo el mismo resultado. El problema es el siguiente:

Al configurar el voicemail tal y como se indica en los tutoriales y al tratar de acceder a el para realizar una prueba, solo dura la llamada durante 5 segundos sin que reproduzca ninguna grabacion que indique dejar un mensaje o algo parecido ni grabar nada.

Si necesitan algun tipo de informacion adicional por favor de avisarme, por el momento quiero saber si hay alguien que en base a los sintomas pueda saber mas o menos a lo que me refiero y si es un tema activo.

No se si alguien pueda ayudarme, muchas gracias de antemano por cualquier informacion o comentario...

Distribuir contenido Distribuir contenido