You are here

Despertador con Asterisk

Otra recetita para los que cocinamos con Asterisk. Vamos a ver como configurar el despertador de Asterisk que hay en el sitio web de Voip-Info.

El primer paso sera bajarse los archivos de voip-info y descomprimirlos en el directorio de AGI:

cd /var/lib/asterisk/agi-bin/
wget http://bytecoders.net/files/wakeup-confirm-1.0.tar.gz
tar -xzvf wakeup-confirm-1.0.tar.gz
rm wakeup-confirm-1.0.tar.gz

Asterisk tiene que ser el propietario:

chown asterisk:asterisk wake*

Si por ejemplo queremos el despertador en la extensión 4444 crearemos la siguiente entrada en extensions.conf:

; Llamada despertador
exten => 4444,1,agi,wakeup.php
exten => 4444,2,Hangup()

Recargamos la configuración y ya podremos marcar 4444 para hacer las pruebas desde cualquier extensión. Si tenemos problemas al marcar los dígitos de la hora deberíamos revisar nuestra configuración DTMF en Asterisk y en nuestra extensión.

Ya no hay excusa para llegar tarde al trabajo. Innocent

Asterisk: 
Qué te parece: 

Comments

pues yo hice lo mismo mencionado en el manualillo pero , cuando llamo a la extension mencionada , me pregunta la hora , eran las 9.50 PM, presione las 2152 y me llamo automaticamente despues de programar la llamada , y no recibi la alarma programada a las 9.52 PM

que puedo estar haciendo mal?

 

saludosss

Hola rick, no estás haciendo nada mal pero hay un aspecto que tal vez olvidé mencionar.

Esto suele pasar porque el directorio TMP (donde se colocan los ficheros temporales) esta en un otro disco físico.

Si es este tu caso prueba a crear los temporales en el mismo directorio donde están las llamadas salientes y así cuando se ejecute el comando mv la fecha y hora del fichero de llamada no se cambiará, que ese es el motivo creo por el cual asterisk te llama al momento en lugar de a la hora que pusiste en el fichero.

Por ejemplo creas el directorio tmp dentro de outgoing y le das permisos a asterisk (como root):

mkdir /var/spool/asterisk/outgoing/tmp
chown asterisk:asterisk /var/spool/asterisk/outgoing/tmp

Y modificas el archivo /var/lib/asterisk/agi-bin/wakeup.php con la nueva configuración:

// This is where the Temporary WakeUp Call Files will be created
$parm_temp_dir = '/var/spool/asterisk/outgoing/tmp';

// This is where the WakeUp Call Files will be moved to when finished
$parm_call_dir = '/var/spool/asterisk/outgoing';

Ahora puedes volver a probar, ya nos contarás como te ha ido. Wink

ok me funciono , perfecto , pero un detalle , por ejemplo me puse a programar un llamada a las 12:28 PM de la noche , y me la programaba como las 12:00 AM ....

pero si ya me funciona ...

gracias

Te aconsejaría revisar la hora del servidor con hwclock:

hwclock
mar 13 nov 2007 19:01:49 CET  -0.453495 segundos

Si se confunde entre AM y PM, mejor programar la llamada como 00:28

Me alegro de que haya funcionado Smile

te agradezco tu gran ayuda bytecoders

:)

De nada, este es el objetivo final de este sitio. Y desde luego es un gran placer que te haya resultado útil.

sabes bytecoders , pensando el otro dia queria añadir una funcionalidad a mi great PBX ASTERISK , tu sabes que cuando añades una llamada automatica agregas un archivo .call en el directorio outgoing , grabas un mensaje y listo , te llama a la extension o numero que desees a la hora que le especificas , pero esto lo tienes que hacer manual osea moverlo al directorio , o aunque lo hagas con cron siempre veo la funcionalidad de lo manual.

la idea que tengo en mente es que llamas a una extension especifica asi como digamos la llamada despertador exten=> 77

-te pide que grabes un mensaje

-digitas la hora

- y listo te llama a esa extension con tu mensaje de voz a la hora especificada

estaba pensando en mirar el script de la llamada automatica ...

 

has algo similar?

 

ahh saludoss y feliz año nuevo , por si nos hablamos este año sera hasta el proximo!!!!

Wink

Sería más bien algo para crear como alarmas con un recordatorio, te refieres a algo así.

No sé si ya hay algo similar, pero las modificaciones del script de la llamada despertador no tendrían que ser muchas así que pensaré en ello. La idea es interesante.

Feliz año nuevo. Smile

bytecoders , disculpa la forma de redaccion de mi post no esta bien , la pregunta era que si habias hecho algo similar ? , ya eran las 12:00 pm en mi pais , estaba agotado , pero no es que hagas mi trabajo , voy a investigar como hacerlo y despues si lo logro te lo envio para publicacion ....

FELIZ AÑO NUEVO

saludosss

Tranquilo, no pasa nada simplemente no te entendí. Wink

Si veo algo similar te comento, y si te puedo echar un cable en alguna cosa ya me comentas.

Saludos y feliz año nuevo. Jeje, la verdad es que tenemos horarios diferentes.

hola!

lo he programado como mencionado, recoge la solicitud e incluso cuando vuelve a llamar reconoce que tienes una programada. Pero viendo la salida del cli, indica que no encuentra la extension a la que avisar. Parece como si no grabara en el call file , la extension.

Tengo que añadir algo más??

[Dec 21 12:15:01] WARNING[14965]: pbx_spool.c:245 apply_outgoing: At least one of app or extension must be specified, along with tech and dest in file /var/spool/asterisk/outgoing/1215...call
[Dec 21 12:15:01] WARNING[14965]: pbx_spool.c:413 scan_service: Invalid file contents in /var/spool/asterisk/outgoing/1215...call, deleting
[Dec 21 12:15:01] WARNING[14965]: pbx_spool.c:461 scan_thread: Failed to scan service '/var/spool/asterisk/outgoing/1215...call'

un saludo

Cuando llamas con la extensión aparece correctamente el CID, si con el resto de llamadas coje correctamente el CID number de tu extensión puede ser que debas incluir algun contexto de tu extensions.conf donde se resuelve este CID.

Si usas freePBX dependiendo de tu condiguración tendráis que incluir el cidlookup:

include => cidlookup

Si no usas freePBX deberías tener una macro similar donde se resuelve el CID.

Saludos

Hola.

He estado intentando configurar el despertador pero no consigo hacerlo funcionar. He añadido las dos lineas indicadas en extensions.conf en el contexto que utilizan todas las extensiones y me dice que rechaza la llamada porque no se encuentra la extension, he intentado tambien crear una nueva extension para el despertador e intento llamar, pero me dice que el canal no esta disponible.

Que estoy haciendo mal?

Gracias y saludos

Es un poco raro que esto pase si la tienes en el contexto donde están todas las otras a las que puedes llamar. Prueba a cambiar 4444 por una extensión similar a las que tienes puestas, no sea que tengas alguna otra funcionalidad en el 4444.

También puedes probar a crear un contexto por ejemplo llamada-despertador, y allí le pones la extension del despertador:

[llamada-despertador]
(aquí le pones la extensión 4444, o el número que tu quieras tal y como tienes más arriba)

Luego desde el contexto donde tienes todas las extensiones, al inicio haces un include:

include => llamada-despertador

Si aún así no consigues hacerlo funcionar, entra en el CLI e indica que error te ha mostrado.

Estas usando freePBX?

Por el momento a mí no se me ocurre nada más. Saludos

Hola de nuevo.

No estoy usando freePBX, estoy usando asterisk 1.4 con la GUI de Digium.

El error que me da el CLI es el siguiente:

Si no creo la extension e intento llamar me dice que la extension no esta disponible porque no existe.

Si creo la extension y la llamo, intenta conectar por SIP y como no hay nadie que responda, devuelve estado CHANUNAVAIL, pero no aplica ninguna regla del contexto porque dice que hay congestion o todo el mundo esta ocupado.

Es decir, necesitaria definir la extension como "virtual" para que no intente llamarla sino que aplique el ejecutar el AGI, pero no se como hacerlo.

Saludos

No tienes que crear la extensión usando la GUI, el problema está en que no llega a alcanzarla.

Vete a los ficheros con las extensiones, y probablemente tendras el voicemail en la 7000, justo antes de esta línea (donde empieza el Voicemail) le pones la extensión que tienes más arriba:

exten => 4444,1,agi,wakeup.php
exten => 4444,2,Hangup()
exten => 7000,1,Voicemail(${CALLERID(num)})
.....

Si puedes acceder al voicemail en la 7000 tendrías que acceder a la llamada despertador en la 4444 (ya que estan en el mismo contexto), comprueba que no tengas otra ya creada en el 4444.

Saludos

Hola.

Por fin funciona, he seguido tu consejo y ha funcionado.

Gracias

Me alegro que haya funcionado.

A veces cuando hay más de una manera de hacer las cosas te ves un poco obligado a ir probando.

Saludos.

Hola, yo estoy usando elastix y he añadido las lineas pertinentes en el extensions_custom...
pero cuando me pregunta la hora digito 4 numeros y al cabo del rato me dice error y que lo intente de nuevo.

¿Es que no se hace así, marcando 4 numero quye significan la hora 1845 = 18:45 horas, no?

Gracias.

Hola, los dígitos los estás poniendo correctamente.

Podrían ser muchas cosas, la verdad es que no conozco muy bien Elastix, pero deberías mirar en la consola de asterisk a ver que pasa exactamente desde el shell con "asterisk -rvvvvvvvv" y si no consigues ver el error puedes mostrar aquí el resultado.

Saludos

bueno en elastix hay una agenda q me ponerme recordatorios es decir a la ext 100 del jefe de produccion puedo hacerle una cuenta y sobre su cuenta poner un mensaje de junta hoy a las 10 y que dicho mensaje suene a las 9:45, lo que quiero hacer es mandar este mismo mensaje a todas mis ext sin crear y estar subiendo a usuario por usuario, se que tiene q ver con el contexto del marcado pero no se como realizar esto

Hola Frank,

no conozco muy bien Elastix pero tal y como cuentas si con una extensión te funciona deberías hacer lo mismo pero usando un contexto con todas las extensiones o creándote un grupo de llamadas (callgroup) que contenga todas las extensiones que quieres que suenen.

Saludos.

No se pero el link de descarga de voip-info ya no esta dispible, alguien sabe donde esta?
Gracias

Hola YezzY,

pues si, al parecer el enlace de VoIP-info está ahora KO. Lo he recuperado del baúl y he modificado el enlace para que se pueda descargar.

Saludos.

hola ....soy alexandra.....instale el despertador y funcion bien con las llamadas internas...pero para llamadas de la red de la PSTN nada....no funciona.......ayudame y tambien quisiera saber si modificast el script ...para q lo poubliques seria de ayuda...para mi tesis...necsito hacer llamadas automaticas de emergencia...despues de un mensaje de alerta ....estoy usando trixbox.........