Archivo de la categoría: VoIP

Asterisk VoIP

Alarmas en T1/E1 RED alarms, Yellow alarms, BLUE alarms

[Visto: 5761 veces]

Por Ing. Isaac Fernandez Baca Peña, Ago 2009

Hoy tuve que detectar porque sucedió un corte en las llamadas, así que me toco investicar que significan las alarmas que se muestran en el log de asterisk con respecto a los enlaces primarios, y encontre un post de Jared Smith de Digium, Inc.

Aqui en espanglish para ustedes…

Se tienen tres típicos estados de alarma para E1 y T1, RED alarms, YELLOW alarms, y BLUE alarms.

RED alarms.

Nuestro puerto de T1/E1 entra en RED alarm cuando la sincronización entra en mantemiento por parte del switch remoto.
Típicamente la RED alarm indica que se tiene un problema recibiendo la señal del switch remoto.

Una nemotecnia para acordarnos de esta alarma en Ingles “right
here” and “receive”… indicating that we’re having a problem right here receiving the signal from the remote switch.)


Yellow alarm or RAI (Remote Alarm Indication)

Nuestro puerto de T1/E1 entra en Yellow alarm cuando recibe una señal del switch remoto que indica que el puerto en el switch remoto esta en RED alarm. Esto significa que el switch remoto no puede mantener una sincronización con nuestra T1/E1, o que no puede recibir nuestra transmisión.

Una nemotecnia para acordarnos de esta alarma en Ingles Y in yellow stands for “yonder”… indicating that the remote switch (over yonder) isn’t able to see what we’re sending.)

Blue alarm or AIS (Alarm Indication Signal)

Nuestro puerto de T1/E1 entra en BLUE alarm cuando recibe todos los primeros timeslots desfragmentador desde el switch remoto.
Esta es una señal especial que indica el switch esta teniendo problemas con la velocidad de transferencia de nuestra conexión.

REFERENCIAS

[1] http://www.mail-archive.com/asterisk-users@lists.digium.com/msg217316.html
Sigue leyendo

Callback + DISA

[Visto: 2704 veces]

Por Ing Isaac Fernandez Baca

Hoy me pidieron que configure un Callback mas DISA,

Bueno la idea era de poder llamar a la central, que nos cuelgue e inmediatamente la central nos devuelva la llamada(Callback) y ademas nos de tono de marcado(DISA).

Bueno lo primero es el inbound route, la ruta de entrada en el archivo extensions.conf declaramos el contexto de entrada

Si mi celular es el 99999999 y el numero de la central es el 666666

[entrada]
exten => 666666/999999999,1,System(/var/lib/asterisk/agi-bin/llamame.sh ${CALLERID(num)})
exten => 666666/999999999,n,Hangup()

Luego en el /var/lib/asterisk/agi-bin/ creamos el siguiente archivo llamame.sh el cual modifique un pokitin, pero es basicamente el mismo que aparece en un foro de asterisk-peru.com [1]

llamame.sh
#!/bin/bash
#
# /ruta/al/script/de/llamadas/llamame.sh {telefono}
#
DEST=”/var/spool/asterisk/outgoing”
CALL=`mktemp` # creas un archivo temporal, si no hay mktemp usa el tiempo.

# llenamos los datos de la llamada…
echo “Channel: Zap/g0/$1″>>$CALL # sabiendo que $1 es el numero que llamóho “MaxRetries: 1″>>$CALL
echo “RetryTime: 60″>>$CALL
echo “WaitTime: 30″>>$CALL
echo “Context: custom-disa-ifernandez”>>$CALL
echo “Extension: s”>>$CALL
echo “Priority: 1″>>$CALL

# mandemoslo un poco al futuro para darle tiempo de colgar.
NOW=`date +%s`
let NOW=$NOW+100 #100 segundos
TOUCH_TMSP=`date -d “1970-01-01 $NOW sec GMT” +%Y%m%d%H%M. %S`
touch -t $TOUCH_TMSP $CALL

# listo, lo movemos.
mv $CALL $DEST

#EOF

Este archivo llamame.sh genera la llamada y nos manda al contexto custom-disa-ifernandez, un contexto para disa cualquiera.

[custom-disa-ifernandez]
exten => s,1,Set(TIMEOUT(digit)=10)
exten => s,n,Set(TIMEOUT(response)=30)
exten => s,n,Set(REALCALLERIDNUM=104)
exten => s,n,Set(CALLERID(num)= 104)
exten => s,n,DISA(no-password|total)
exten => s,n(end),Hangup

y walaaaaaa listo….. “y ya!” (Recuerdo que esta frase de “y ya” de nosotros los peruanos, les disgustaba mucho a unos compañeros de trabajo chilenos, filo po)

Referencias:

[1] http://www.asterisk-peru.com/node/992 Sigue leyendo

Configuración fácil de un DISA

[Visto: 7786 veces]

Por Ing. Isaac Fernandez Baca

DISA (Direct Inward System Access)
Acceso directo al interior del sistema, el DISA permite a alguien llamar desde fuera de una central y obtener tono de marcado desde el interior del sistema, y así poder realizar llamadas como si estaría dentro. El DISA permite ponerle un contraseña la cual debe ser precedida de la tecla michi #. Si no se le pone contraseña, al llamar al numero DISA, se marca directamente.

Para este ejemplo vamos a configurar en una central Asterisk que al llamar de mi celular a un numero fijo de la central me brinde tono de marcado, así de esta manera puedo realizar llamadas internacionales desde mi celular, y la llamada es enrutada por el Asterisk por VoIP.
Mi celular es el 00511997090306 y el numero fijo que de la central asterisk es 005116666666 (Estos datos no son reales, solo son para el ejemplo)
Y ya que solo va aceptar llamadas desde mi celular, no necesito ponerle contraseña.

Debemos crear la ruta de ingreso Inbound route

Podemos hacerlo por freepbx o bien modificamos el archivo extension.conf o uno de sus dependientes

Acá definimos que cuando el numero 997090306 llame al numero 666666, se vaya al contexto custom-disa-isaacfernandezbaca

[ext-did]
….
exten => 511666666/997090306,1,Set(__FROM_DID=${EXTEN})
exten => 511666666/997090306,n,GotoIf($[ “${CALLERID(name)}” != ” ] ?cidok)
exten => 511666666/997090306,n,Set(CALLERID(name)=${CALLERID(num)})
exten => 511666666/997090306,n(cidok),Noop(CallerID is ${CALLERID(all)})
exten => 511666666/997090306,n,Goto(custom-disa-isaacfernandezbaca,s,1)
….

Luego declaramos el contexto custom-disa-isaacfernandezbaca en el el archivo extension.conf o uno de sus dependientes

En este contexto estamos declarando que espere 10 segundos para empezar el envío de tonos, luego seteamos el callerid con 516666666, esto para que cuando el Asterisk tarifique ubique esta llamada como hecha por ese anexo. Después la función DISA en la cual se declara que no lleva contraseña y que la llamada en curso use el contexto from-internal. Si no contesta, se corta.

[custom-disa-isaacfernandezbaca]
exten => s,1,Set(TIMEOUT(digit)=10)
exten => s,n,Set(TIMEOUT(response)=30)
exten => s,n,Set(REALCALLERIDNUM=511666666)
exten => s,n,Set(CALLERID(num)= 511666666)
exten => s,n,DISA(no-password|from-internal)
exten => s,n(end),Hangup

Finalmente para que se realice una correcta negociación de los tonos DTMF que se envía del celular, modificamos el archivo sip.conf o uno de sus dependientes

[general]

dtmfmode=auto

Referencias

http://www.voip-info.org/wiki-Asterisk+cmd+DISA
Sigue leyendo