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://www.voip-info.org/users/985/24985/images/336/wakeup-confirm-1.0.t...
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

Comentarios

No consigo configurar el despertador

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

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

Problema con configuracion

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

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

Ya funciona

Hola.

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

Gracias

Perfecto

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.

no encuentra la extension

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

Tal vez no coje bien el CID

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

rick

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

Estan en discos diferentes

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

ricky

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

Puede ser que se lie un poco

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

te agradezco tu gran ayuda bytecoders

:)

Esta es la finalidad de este sitio

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

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

No es mala idea

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

Disculpas

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 jeje

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.