Windows Server

Saturday, August 13, 2016

Call Center Agent Music in Silence 


Saludos amigos del blog, en este articulo vamos a mostrar la configuracion de como quitar la musica en hold a un agente de call center utilzando la plataforma de elastix.

Primero:

create a moh category called:  silence
Esto se crea en: PBX -> Music On Hold

Segundo:

Copiamos un audio silencioso en la carpeta creada (silence)
cp /var/lib/asterisk/sounds/en/silence/9.gsm /var/lib/asterisk/mohmp3/silence/

Tercero: 

Ponemos esta carpeta como propietaria de asterisk
chown asterisk:asterisk /var/lib/asterisk/mohmp3/silence/9.gsm

Cuarto:

Editamos el archivo agent.conf y  en la linea 55 descomentamos  y ponemos musiconhold => silence
vi /etc/asterisk/agents.conf
 musiconhold => silence

Quinto:

En la consola de linux  ejecutamos el siguiente comando

asterisk -rx "module reload"

sexto:
Entramos a la cola  y ponemos en Music on Hold Class por default  y aplicamos los cambios 

Séptimo:
Deslogueamos  y logueamos  los agentes para probar que la música este en silencio.

Friday, August 12, 2016

SCRIPT PARA BORRAR GRABACIONES EN ASTERISK / ELASTIX



Aqui les dejo este script para borrar grabaciones en asterisk / elastix que tengan mas de 120 dias de almacenamiento, puede modificar los dias aumentando o disminuyendo esta expresion regular +120
find /var/spool/asterisk/monitor/ -name \*.* -mtime +120 -exec rm -rfv {} \;



Podemos hacer un cronjob de todos los dias a las 11:00 PM busque las grabaciones con mas de 120 dias y la borre automaticamente, de esta forma no tendremos que hacer esto de manera manual.

Aqui les dejo el crontab


* 23 * * * find /var/spool/asterisk/monitor -type f -mtime +120 -print0 | xargs -0 rm -f



SCRIPT PARA LIBERAR  MEMORIA EN CENTOS PARA OPTIMIZAR LLAMADAS EN ASTERISK


1.crontab -e

2.Copiamos el comando que deseamos 

*/60 * * * * sync; echo 3 > /proc/sys/vm/drop_caches

3.Guardamos el archivo
:wq

4.Reiniciamos el servicio crontab
 /etc/init.d/crond restart

5.Verificamos que el script esta programado
crontab -l
################################################
verificacion del proceso
 ps aux | grep sync

Verificacion de log
#log en vivo
tail -f /var/log/cron


#*/60 * * * * sync; echo 3 > /proc/sys/vm/drop_caches Con este script estamos liberarando en centos memoria ram cada una hora programado en el crontab.


CONFIGURANDO SIP TRUNK HACIA LA PSTN EN ASTERISK

 #ingresamos al archivo sip.conf para registrar el trunk sip.

vi /etc/asterisk/sip.conf

[PSTN_OUT]
type=friend
host= IP sip trunk o sip account
context=estudiantes
dtmfmode=rfc2833
disallow=all
allow=ulaw
qualify=yes
canreinvite=no

#guardamos esta configuracion con wq! 
#ingresamos a la consola de asterisk con asterisk -rvvvvv
#digitamos el comando sip reload para cargar la configuracion.
#digitamos el comando sip show peers para ver que nuestro trunk este registrado.


Ahora vamos al archivo extensions.conf para configurar un dial plan para poder llamar hacia la PSTN.


vi /etc/asterisk/extensions.conf

[estudiantes]
exten => _XXXXXXXXXX,1,Answer()
exten => _XXXXXXXXXX,n,Dial(SIP/PSTN_OUT/${EXTEN},60)
exten => _XXXXXXXXXX,n,Hangup()






Tuesday, August 2, 2016

Restablecer Clave de Admin en Elastix

Restablecer Clave de Admin en Elastix


Ingresamos a nuestra consola via ssh, ya se por putty o en linux con 
ssh -p 22 root@192.68.1.100

una vez dentro cambiamos hacia el directorio /usr/bin y luego corremos el script. 


cd /usr/bin/

sqlite3 /var/www/db/acl.db "UPDATE acl_user SET md5_password = '`echo -n password|md5sum|cut -d ' ' -f 1`' WHERE name = 'admin'"

Otra forma de hacerlo es ingresando como root a la consola y escribiendo el comando change-password y seguimos las intrucciones.





Thursday, July 28, 2016

Authenticando llamadas en Asterisk

Como authenticar llamadas en Asterisk 

#creamos un directorio con el nombre  de authenticate en /etc/asterisk/

mkdir /etc/asterisk/authenticate

#cambiamos hacia el directorio creado.

cd /etc/asterisk/authenticate

#dentro del directorio authenticate creamos un archivo llamado pass_list.txt


touch pass_list.txt



En nuestro dial plan que esta el en archivo extensions.conf configuramos para que el usuario que desee llamar con el prefijo 8 tenga que marcar un pin que previamente hemos insertado en el  archivo pass_list.txt con el editor de texto de su preferencia.

exten => _8X.,1,Authenticate(/etc/asterisk/authenticate/pass_list.txt)
exten => _8X.,n,Dial(SIP/PSTN/${EXTEN:1})
exten => _8X.,n,Hangup()



Registrando un DID en Asterisk

Registrando un DID  en asterisk con un proveedor de servicio

vi /etc/asterisk/sip.conf

[general]

register => DID:PASSWORD@Direccion IP:5060/DID

[DID_IN]
disallow=all
allow=ulaw
type=friend
port=5060
dtmfmode=rfc2883
context=fro-trunk
fromuser=DID
qualify=yes
host= DIRECCION IP DEL PROVEEDOR
username=DID
secret=PASSWORD

Ingresamos a la consola de Asterisk para cargar nuestra configuracion:

asterisk -rvvvvv

Dentro de la consola escribimos los siguientes comandos:

sip reload ;Cargamos la configuracion del archivo sip.conf

sip show peers ;Para ver los peers registrados

sip show registry ;Para ver si nuestra cadena de registro se esta registrado con el proveedor.



Compilando Asterisk

asterisk-by-digium-300x245.gifCompilando Asterisk en Centos 6.7




1.Actualizamos el sistema operativo Centos.
  yum update -y
   
2.Deshabilitamos el Selinux, el mismo está en modo enforciong con este script los pondremos el modo disabled.
sed -is/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

3.Desabilitamos iptables.
service iptables stop
chkconfig iptables off


4.Reiniciamos el sistema operativo para que los cambios tengas efectos.
reboot




5.Instalamos las dependencias necesarias que Asterisk necesita para que el mismo pueda ser compilado.
yum install -y make wget openssl-devel ncurses-devel  newt-devel libxml2-devel kernel-develgcc gcc-c++ sqlite-devel libuuid-devel make wget openssl-devel ncurses-devel newt-devel libxml2-devel kernel-devel gccgcc-c++ sqlite-devel


6.Cambiamos de directorio.

cd /usr/src/

7.Descagargamos los siguientes paquetes: DAHDI 2.6, libpri 1.5 and Asterisk 11.
DAHDI 2.6
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

libpri 1.5
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz

Asterisk 11
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

8.Desempaquetamos los paquetes descargados.

Desempaquetando DADHI
tar  zxvf  dahdi-linux-complete-current.tar.gz

Desempaquetando Libpri
tar  zxvf  libpri-1.4-current.tar.gz

Desempaquetando Asterisk
tar  zxvf  asterisk-11-current.tar.gz

9.Compilando de los paquetes descargados.

cd  /usr/src/ dahdi-linux-complete-2.10.2+2.10.2/
Cambiamos al directorio dahdi

Instalando el DAHDI
make && make install && make config


Cambiamos al directorio libpri
cd /usr/src/libpri-1.5.0

Instalando libpri
make && make install

Cambiamos el directorio de Asterisk
cd  /usr/src/ asterisk-11.20.0/

Compilando Asterisk  en Centos 32 bit
./configure && make menuselect && make && make install

Compilando Asterisk  en Centos 64 bit
./configure --libdir=/usr/lib64 && make menuselect && make && make install


Instalamos los archivos de ejemplo de Asterisk
make samples

Añade el script de inicio del Asterisk en el directorio /etc/init.d/

make config

Iniciamos el servicio DAHDI.
service dahdi start



Iniciamos el servicio de Asterisk
service asterisk start

Ingresamos a la consola de Asterisk.
asterisk -rvvv


Si la informacion le fue util dejen sus comentarios.




Configurando un VoiceMail en Asterisk

Configurando VoiceMail en Asterisk

vi /etc/asterisk/voicemail.conf

[buzon]
1200 => 1234,Angel Henriquez,henriquez2068@hotmail.com
1201 => 1234,Reynaldo Perez,rgperez@gmail.com

;extension => password,nombre,correo(opcional)

vi /etc/asterisk/sip.conf

[1200]
type=friend
host=dynamic
secret=1234
context=estudiantes
qualify=yes
mailbox=1200@buzon


En nuestro dial plan tenemos un contexto llamado estudiantes que es el plan de marcado para las extensiones de rango 12, a este dial plan le agregamos la aplicacion Voicemail para que cuando una extension haga ringing por espacio de 10 segundos automaticamente quien llamada pueda dejar un mensaje si lo desea.

vi /etc/asterisk/extensions.conf

[estudiantes]
include => buzon
exten => _12XX,1,Answer()
same => n,Dial(SIP/${EXTEN},10,Ttr)
same => n,VoiceMail(${EXTEN}@buzon)
same => n,Hangup()

Ahora vamos a crear un menu para que el usuario aquien le dejan el mensaje pueda escuchar los voicemail que le dejan en su extension esto lo hacemos con la aplicacion VoiceMailMan.

[buzon]
exten =>  7000,1,Answer()
same  =>  n,VoiceMailMain(@buzon) 


ingresagamos a la consola  de asterisk con el comando:

asterisk -rvvvvvvv

dialplan reload ; para recargar la configuracion del dial plan.

sip reload  ; para recargar la configuracion que sip.

Documentación para Rol Auditor Llamadas Elastix (No Admin)

Documentación para Rol Auditor Llamadas Elastix (No Admin) El día de hoy me tope con una necesidad de crear un usuario el cual se encar...