Archivo por meses: enero 2009

Errorde mysql en el asterisk

[Visto: 4960 veces]

Por Ing Isaac Fernandez Baca

Hoy me paso el siguiente problema, llama un cliente diciendo que no tiene llamadas, que ocurrio un apagon, que no sabe que ha pasado y que cuando pone service asterisk restart, tiene un problema con mysql. Y en la interface web le salia un mensaje de Error en la base de datos

Entonces le pedi que reiniciara el mysql el zaptel el asterisk todo, y me decia que le salia un problema de que el mysql no se podía parar.

Entonces cuando me dio accesos

[root@pbxtar ~]# service asterisk stop
Shutting down asterisk: [ OK ]
[root@pbxtar ~]# service mysqld status
mysqld inactivo pero subsistema bloqueado
[root@pbxtar ~]# service mysqld restart
Parando MySQL: [FALLÃ]

Entonces me puse a revisar el log de mysql

Number of processes running now: 0
090115 13:39:29 mysqld restarted
090115 13:39:30 InnoDB: Started; log sequence number 0 43634
090115 13:39:30 [ERROR] /usr/libexec/mysqld: Error writing file ‘/var/run/mysqld/mysqld.pid’ (Errcode: 28)
090115 13:39:30 [ERROR] Can’t start server: can’t create PID file: No space left on device

Me puse a revisar el espacio en el disco con
df -h
[root@pbxtar var]# df -h
S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/sda1 2.9G 2.1G 741M 74% /
none 1013M 0 1013M 0% /dev/shm
/dev/sda3 2.9G 37M 2.7G 2% /tmp
/dev/sda2 29G 28G 0 100% /var

y luego el espacio en la carpeta que estaba mas llena con el comando du -sh /var/ y luego a revisar carpeta por carpeta…

[root@pbxtar var]# du -sh /var
28G /var
[root@pbxtar var]# ls
account cache crash db dpbx-install-110607.tar.gz empty ftp lib local lock log lost+found mail nis opt preserve run spool tmp www yp
[root@pbxtar var]# du -sh *
12K account
291M cache
16K crash
28K db
73M dpbx-install-110607.tar.gz
28K empty
8.0K ftp
217M lib
8.0K local
36K lock
1.4G log
16K lost+found
4.0K mail
8.0K nis
8.0K opt
8.0K preserve
176K run
26G spool
8.0K tmp
25M www
24K yp
[root@pbxtar var]# cd spool
[root@pbxtar spool]# du -sh asterisk/
26G asterisk/
[root@pbxtar spool]# cd asterisk/
[root@pbxtar asterisk]# du -sh *
4.0K dictate
4.0K meetme
26G monitor
4.0K outgoing
4.0K system
4.0K tmp
35M voicemail
[root@pbxtar asterisk]# cd monitor/

hasta que encontre que la carpeta monitor es la que estaba llena, seguramente de alguna grabación, entonces borre todas las grabaciones, porque no les iban a servir las otras tampoco.

[root@pbxtar monitor]# du -sh *
316K 200803
336K 200804
392K 200805
392K 200806
432K 200807
380K 200808
412K 200809
452K 200810
416K 200811
16G 200812
11G 200901
1.5M agents

[root@pbxtar monitor]# rm -fR *
[root@pbxtar monitor]# ls

y wala!!! listo asterisk OK

[root@pbxtar monitor]# service mysql restart
mysql: unrecognized service
[root@pbxtar monitor]# service mysqld restart
Parando MySQL: [ OK ]
Iniciando MySQL: [ OK ]
[root@pbxtar monitor]# service asterisk restart
Shutting down asterisk: [ OK ]
Starting asterisk: [ OK ]
[root@pbxtar monitor]# history -c
😉

Sigue leyendo

Blacklist en Asterisk

[Visto: 6604 veces]

Por: Ing Isaac Fernández Baca

Ayer estuve configurando listas negras en Asterisk.

Si nuestro numero de inbound es el 666666 y queremos evitar que nos llamen del numero 6262000, entonces modificamos el archivo extensions.conf

En este ejemplo se están redireccionando todas las llamadas que entran al 666666 a la extensión SIP 1000.

Cuando llamen de este número escucharan el audio blacklist.gsm

[inbound]
exten => 6666666,1,Answer()
exten => 6666666,n,LookupBlacklist()
exten => 6666666,n,GotoIf($[“${LOOKUPBLSTATUS}” = “FOUND”]?black,1)
exten => 6666666,n,Dial(SIP/1000,,tTrR)

exten => black,1,Playback(blacklist)
exten => black,n,Hangup()

Ahora bien, para agregar un número a la lista negra nos ubicamos en el CLI

database put blacklist 16262000 1

y para retirarlo de la lista negra

database del blacklist 16262000

Referencias:

[1]http://www.voip-info.org/wiki-Asterisk+cmd+LookupBlacklist
[2]http://www.the-asterisk-book.com/unstable/applikationen-lookupblacklist.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