sábado, 22 de febrero de 2020

CallerID contra whitelist via script

CallerID contra whitelist via script

Joined
Feb 7, 2013
Messages
4
Points
0
Un saludo cordial a toda la comunidad.


Ya tengo rato investigando en Internet como hacer lo que les voy a comentar pero yo tengo otra idea de como se pudiera hacer solo que no se como hacerlo o integrarlo en Elastix.

Espero me puedan ayudar y de antemano agradezco su tiempo.

Lo que quiero hacer es que cuando entre una llamada al Elastix, se tome el caller id y se compare contra un archivo que contendría números de tel que están en una especie de whitelist o de lista-de-conocidos.

Sabemos que con la ayuda de Linux y grep fácilmente podemos hacer un: grep <callid> archivocontelefonos.txt >/dev/null y nos regresará true o false si ese callid está o no en el archivo.

La idea es que cuando entra la llamada al PBX, se hace ese simple "chequeo" y si si está ahí entonces se va a un destino X (ivr, ringgroup, etc) y si no está en la lista se va a otro destino (igual otro destino X o voicemail, etc)

De esta forma creo yo es muy sencillo mantener o actualizar los números "amigos" en ese archivo simple de texto y no hay que meterse con MySQL ni nada por el estilo.

Espero haberme explicado bien :) Creo que implementar esto tendría muchos usos y evita el tener que dar de alta un Inbound Route para cada CID.. (si son 5 no hay problema pero si son 50?)

saludos a todos y buen día.
AL
jgutierrez
Joined
Feb 28, 2008
Messages
5,737
Points
0
Lo más fácil sería configurar las rutas entrantes, es decir, establecer el campo del caller ID con tus números de la lista blanca, de esa forma harías que ingresen a un destino en particular, y también crear una ruta entrante con el DID y Caller ID vacíos, de esa forma cualquier llamada que ingrese y no se encuentre definida, irá directamente a un destino común, tal y cual deseas.
Joined
Feb 7, 2013
Messages
4
Points
0
Hola.. De hecho creo que ya lo solucioné.. En un rato más lo comparto con la comunidad a ver que opiniones tienen.
Creo que me quedó bastante elegante solo que hay que editar a mano una sección del dialplan que luego se sobre-escribe si se hace cualquier cambio via GUI.. Y se pierde.. Pero en un rato les comento como le hice.. saludos
Joined
Feb 7, 2013
Messages
4
Points
0
Estimado Jguitierrez.. Gracias por tu respuesta..
Como te comentaba en el otro post, creo que lo solucioné de una forma sencilla y funcional. A ver que opinas y espero poderme explicar bien.

Lo que comentas de las rutas de entrada con CID funciona muy bien cuando son pocas.. Pero si hablamos de 100, 200 o más resulta impráctico.. (bueno desde mucho menos ya resulta impráctico)

Lo que hice fue lo siguiente:

Hice el siguiente código para probar y utilizar el GREP de Linux como la herramienta que me dirá si el CID de la llamada entrante está o no en dicho archivo-whitelist:

exten => 123456,n,Set(estaono=0)
exten => 123456,n,Set(estaono=${SHELL(grep "${CALLERID(num)}" /var/lib/asterisk/bin/lista_whitelist.txt >/dev/null && echo -n 1)})
exten => 123456,n,NoOp(El valor de la variable estaono es ${estaono} y el CID es ${CALLERID(num)})

Puedes poner ese código en tu dialplan y marcar a la ext 123456 y si el num de tu ext está en archivo lista_whitelist.txt la variable estaono se pondrá en 1.. De lo contrario quedará en 0.

Ya con la variable estaono haces un TEST dentro de un GotoIf y mandas a un destino si es igual a 1 y a otro si es igual a 0.

Qué te parece? Espero haberme explicado.. Comenta.. saludos

lunes, 17 de febrero de 2020

¿No han deseado alguna vez saber cuál es la carpeta o el archivo más grande que tienen en su disco duro?
El comando find es genial, nos permite hacer muchas cosas (de algunas ya hemos hablado acá), aquí les traigo otra utilidad de él.
El siguiente comando buscará en todo el HDD y nos dirá cuáles son los 10 archivos o carpetas más grandes del ordenador:


sudo find / -printf '%s %p\n'| sort -nr | head -10
Si desean saber no solo los 10 más grandes, sino los 20 o algo así, simplemente cambien el último número 10 por el deseado.

Como dije antes, esto contará tanto carpetas como archivos, si desean solamente tener en cuenta las carpetas sería agregar -type d (d = directorio):
sudo find / -type d -printf '%s %p\n'| sort -nr | head -10

Por el contrario y desean ver solo los archivos y no las carpetas sería -type f (f = file):
sudo find / -type f -printf '%s %p\n'| sort -nr | head -10
Si desean especificar el tipo de archivo, o sea, solo tener en cuenta los .mp4 basta con agregar un -iname “*.mp4” :
sudo find / -iname "*.mp4" -printf '%s %p\n'| sort -nr | head -10
En mi caso los archivos más grandes que tengo son los HDD virtuales de mis servidores virtuales con KVM+Qemu, luego un vídeo de fútbol (presentación de Gareth Bale con el Real Madrid) y otras cosas más.

Reinstakr call center desde cero , borrando todo

el problema fue solucionado. Aparentemente el error está en la última versión del módulo de Call center por lo que tuve que eliminarlo # yum remove issabel-callcenter e instalar la versión anterior # yum install issabel-callcenter-4.0.0-4.noarch. Luego de esto hay que reiniciar el servidor completo porque, aún haciendo la instalación nueva, el dialer se queda consumiendo toda la CPU (sin ninguna campaña activa)...
Nota:
En medio de la búsqueda de la solución también eliminé toda la base de datos del Call Center : # mysql -u root -p , luego pones contraseña, luego "DROP DATABASE call_center;" con lo que se eliminaron todos los registros, campañas y agentes para que todo estuviera más limpio. Este paso no creo que sea necesario pero dejo la info por si la necesita.

sábado, 1 de febrero de 2020

VPS did entrada Liberar disco Central IP-JK


Primero hacemos esto :


cd /var/spool/asterisk/monitor/
find . -name "*.wav" -size -600k -exec rm -f {} \;

Este lo que ahce es borrar todos los archivos de audio inferiores a 600 K que son llamadas sin ser procesadas .

---------------------------------------------------------------------------------------------------------------------

Desde putty hacemos esto :

cd /opt/issabel/dialer
rm -Rf *.log

Con esto borramos los LOG del dialeR

-----------------------------------------------------------------------------------------------------------------------




rm -Rf


DID VPS central IP-JK llamdas entrantes

1 paso :

Depende donde este instaaldo si esta en Fututel vamos a la pagina de ellos y redireccinamos el DID a el servidor





Ya despues de instalar esto vamos a crear la troncal sip SI ES FUTUTEL LA LLENAMOS DE ESTA MANERA :


Host=46.19.209.14
dtmfmode=rfc2833
dtmf=rfc2833
type=peer
context=from-trunk
insecure=invite,port
nat=yes
qualify=yes
#allow=g729
allow=ulaw&alaw&gsm


Si es el señor de HUILA
asi :

host=134.119.218.14
type=friend
nat=yes
qualify=yes

CREAMOS UNA TRONCAL SIP :


y llenamos estos datos 


Vamos al servidor central IP-JK
nos dirigimos a llamadas entrantes :



ESTE Es UN EJEMPLO DE COMO QUEDARIA 


para montar un IVR lo primero que hacemo es tener un audio : el audio se debe convertir en WAV para poder ser transformado en digium , buscamos en google pasar a WAV ,a mi me gusta mucho esta pagina :


 Despues de esto lo transformamos en Digium :


DEspues lo subimos a la CENTRAL IP-JK

NOTA IMPORTANTE 

POR FAVOR CAMBIAR LE NOMBRE DEL AUDIO ANTES DE SUBRILO QUITARLE ESO DE 8khz  GRACIAS 

--------------------------------------------------

Vamos a  grabaciones del sistema :