Mostrando entradas con la etiqueta asterisk. Mostrar todas las entradas
Mostrando entradas con la etiqueta asterisk. Mostrar todas las entradas

lunes, 18 de junio de 2012

Instalar Asterisk en 9 Pasos Parte 2/3

4.-Descomprimir archivos descargados e instalar

tar zxvf libpri-1.14.x
tar zxvf dahdi-linux-complete
tar zxvf asterisk-1.8.x.tar
tar zxvf asterisk-addons-1.6.x
tar zxvf freepbx-2.9.x


Instalar Libpri

cd /usr/src/libpri
make clean
make
make install


Instalar driver DAHDI

cd /usr/src/dahdi-linux-complete
make clean
make all
make install
make config


Instalar Asterisk

cd /usr/src/asterisk
make clean


Obtener códec iLbc

./contrib/scripts/get_ilbc_source.sh
./configure
make menuselect


Seleccionar con la barra espaciadora Opción 4 codecs, y habilitar el iLBC. También Opción 12 y seleccionar los audios en español. Con la tecla "x" guardar y salir.

make
make install
make samples (No es necesario si se va a instalar freepbx)
mkdir -p /var/run/asterisk (ya no es necesario)


5.- Agregar usuarios Asterisk

cd /usr/src
useradd -c "Asterisk PBX" -d /var/lib/asterisk asterisk
chown -R asterisk /var/run/asterisk
chown -R asterisk /var/log/asterisk
chown -R asterisk /var/lib/asterisk/moh
chown -R asterisk /var/lib/php/session
chown -R asterisk /var/spool/asterisk
chown -R asterisk /etc/asterisk


Modificar carpetas de MOH

ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3

Cambiar usuarios y grupo de apache

sed -i "s/User apache/User asterisk/" /etc/httpd/conf/httpd.conf
sed -i "s/Group apache/Group asterisk/" /etc/httpd/conf/httpd.conf
sed -i "s/AllowOverride All/AllowOverride None/" /etc/httpd/conf/httpd.conf


6.- Iniciar MySQL

/etc/init.d/mysqld start

Ingresar a la carpeta freebpx para su instalación

cd /usr/src/freepbx-2.9.0

Crea usuario y base de datos para freepbx

mysqladmin create asterisk
mysqladmin create asteriskcdrdb
mysql asterisk < SQL/newinstall.sql
mysql asteriskcdrdb < SQL/cdr_mysql_table.sql


Crear usuario y privilegios de la base de datos

mysql
mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'fpbx123';
mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'fpbx123';
mysql> flush privileges;
mysql> \q


Crear contraseña de root para MySql, si no se realiza esto las password quedara en blanco.

mysqladmin –u root password nueva-passwd


Continuará...

jueves, 10 de mayo de 2012

Instalar Asterisk en 9 Pasos Parte 1/3

A continuación una guía rápida para instalar Asterisk en 9 pasos, dividida en 3 partes. Utilizando Centos 6.X, Asterisk 1.8, DAHDI 2.5 y FreePBX 2.9.

1.- Instalar Centos 6 sin ningún paquete adicional, deseleccionando todo.

Luego actualizar paquetes

yum -y update

Instalar grupos de paquetes necesarios

yum groupinstall core
yum groupinstall base


Dependencias y software necesarios

yum install php-mysql mysql-devel ncurses-devel tftp-server php-pear libtermcap-devel nano ntp wget setuptool gcc gcc-c++ make flex patch bison sox kernel-devel byacc mysql-server sendmail cpuspeed system-config-network-tui acpid kernel-headers httpd php-posix php libxml2-devel

Deshabilitar SeLinux y Firewall

setup

2.- Instalar Lame (mp3), desde un rpm

rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/lame-3.98.4-1.el6.rf.x86_64.rpm

3.- Descargar archivos necesarios

asterisk-1.8.7
asterisk-addons-1.6.2
dahdi-linux-complete-2.5.0
libpri-1.14.12
freepbx-2.9.0  


http://www.asterisk.org/downloads
http://www.freepbx.org/download-freepbx

Continuará...

lunes, 12 de diciembre de 2011

Configuración Tarjetas para Asterisk - Parte 2 TE121 TE122

Lo prometido es deuda, segunda parte configuración TE121 / TE122 para líneas digitales E1.

Después de ejecutar

# dahdi_genconf

El cual genera el archivo /etc/dahdi/system.conf con la configuración de las tarjetas. Revisamos la configuración, preocupandonos de eliminar el crc4 (si no es extrictamente necesario).

/etc/dahdi/system.conf

# Autogenerated by /usr/sbin/dahdi_genconf on Mon Nov 16 11:24:12 2009
# If you edit this file and execute /usr/sbin/dahdi_genconf again,
# your manual changes will be LOST.
# Dahdi Configuration File
#
# This file is parsed by the Dahdi Configurator, dahdi_cfg
#
# Span 1: WCT1/0 "Wildcard TE122 Card 0" (MASTER)
span=1,1,0,ccs,hdb3
# termtype: te
bchan=1-15,17-31
dchan=16
echocanceller=oslec,1-15,17-31

# Global data

loadzone = us
defaultzone = us


Luego revisamos el archivo /etc/asterisk/chan_dahdi.conf, esta ves solo agregamos el español.

/etc/asterisk/chan_dahdi.conf

[trunkgroups]

[channels]
language=es
context=from-pstn
signalling=fxs_ks
rxwink=300 ; Atlas seems to use long (250ms) winks
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
;echotraining=800
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1

;Uncomment these lines if you have problems with the disconection of your analog lines
;busydetect=yes
;busycount=3


immediate=no

#include dahdi-channels.conf
#include chan_dahdi_additional.conf


Este es el archivo /etc/asterisk/dahdi-channels.conf para las tarjetas digitales TE121 o TE121.

/etc/asterisk/dahdi-channels.conf

; Autogenerated by /usr/sbin/dahdi_genconf on Mon Nov 16 11:24:12 2009
; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

; Span 1: WCT1/0 "Wildcard TE122 Card 0" (MASTER)
group=0,11
context=from-pstn
switchtype = euroisdn
resetinterval=never
pridialplan=unknown
signalling = pri_cpe
channel => 1-15,17-31
context = default
group = 0


Con esta configuración se habilitan los canales 1-15, 17-31, el canal 16 es para señalización. Utilizamos contexto from-pstn, norma euroisdn, señalización esclavo.

Sólo falta hacer las pruebas necesarias.

Saludos

martes, 16 de agosto de 2011

Configuración Tarjetas para Asterisk - Parte 1 TDM410, AEX410

En esta ocasión voy a dar un pequeña guía para configurar tarjetas digium o similares para Asterisk, modelos TDM410, AEX410, TE121 TE122, etc.

Tomaremos en cuenta en nuevo driver DAHDI, ya que Zapata está obsoleto.
Teniendo nuestro asterisk instalado, ya sea compilando el código o utilizando una distro (Elastix, Trixbox, AsteriskNow) en la consola digitamos:

# dahdi_genconf

Con esto, le indicamos al sistema que busque hardware compatible. Y genera el archivo /etc/dahdi/system.conf con la configuración de las tarjetas.

El archivo /etc/asterisk/chan_dahdi.conf se configura con los parámetros por defecto para que el hardware funcione. Yo agrego el lenguaje en español, además activo busydetect y busycount para las líneas análogas.

[trunkgroups]

[channels]
language=es
context=from-pstn
signalling=fxs_ks
rxwink=300 ; Atlas seems to use long (250ms) winks
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
echotraining=800
rxgain=1.0
txgain=1.0
callgroup=1
pickupgroup=1

;Uncomment these lines if you have problems with the disconection of your analog lines
busydetect=yes
busycount=6

;answeronpolarityswitch=yes
;hanguponpolarityswitch=yes

immediate=no

#include dahdi-channels.conf
#include chan_dahdi_additional.conf


Para una TDM410 o AEX410 quedaría más menos así el archivo dahdi-channels.conf. Tomando el cuenta 4 FXO.

; Span 1: WCTDM/0 "Wildcard AEX400 Board 1" (MASTER)
;;; line="1 WCTDM/0/0"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-pstn
channel => 1
callerid=
group=
context=default

;;; line="2 WCTDM/0/1"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-pstn
channel => 2
callerid=
group=
context=default

;;; line="3 WCTDM/0/2"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-pstn
channel => 3
callerid=
group=
context=default

;;; line="4 WCTDM/0/3"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 4
callerid=
group=
context=default


Con eso deberían poder tener tono, recibir y hacer llamadas.

Pronto agregaré la configuración para las TE121 TE122.

martes, 23 de noviembre de 2010

Habilitar BLF Grandstream GXP-2000 y Asterisk

Una pequeña guía para habilitar el BLF pickup en teléfonos GXP-2000 y Asterisk. Esto permite ver el estado de los anexo en los botones multifuncionales del teléfono, además de poder discar y tomar llamadas directamente.


En Asterisk

Agregar un nuevo contexto al archivo extension.conf (extension_custom.conf en freepbx) para que el teléfono pueda hacer pickup de la llamada.

[BLF_group_pickup]
exten => _**5XX,1,Pickup(${EXTEN:2})
exten => _**5XX,2,Hangup

Para habilitar el pickup en los anexos para un grupo en especifico. Sólo los anexos dentro del grupo pueden hacer pickup entre ellos.

[BLF_Group_1]
exten => 501,hint,SIP/501
exten => 502,hint,SIP/502
exten => 503,hint,SIP/503

Finalmente en sip.conf (sip_custom.conf en freepbx) agregar un contexto adicional a la configuración del anexo sip.

[501]
type=friend
username=501
secret=mypassword
context=localcontext
host=dynamic
nat=yes
canreinvite=no
mailbox=501
subscribecontext=BLF_Group_1

Eso es todo, espero del sirva. Saludos

domingo, 3 de enero de 2010

NAT en Asterisk

Para poder utilizar nuestro servidor Asterisk, detrás de un firewall o router, debemos hacer NAT o redireccionar los siguientes puertos, en instalaciones con Freepbx por ejemplo:

Puerto TCP/UDP 5060-5064: Señalización SIP
Puerto UDP 10000-2000: RTP (transmisión de audio)
Puerto TCP/UDP 4569: Protocolo IAX2

Puerto TCP 22: Acceso remoto SSH (se recomienda cambiar el puerto)
Puerto TCP 80: Acceso Web HTTP
Puerto TCP 443: Acceso Web HTTPS

Ahora, en nuestro asterisk agregar las siguientes lineas en sip_general_custom.conf

nat=yes
externip: 200.100.0.xxx #ip externa, pública o hostname asterisk
localnet: 192.168.0.40/255.255.255.0 #ip interna asterisk

Saludos

sábado, 21 de noviembre de 2009

Sonidos Asterisk en Español

Dejo con ustedes un paquete de sonidos en español latino con voz masculina y otro con voz femenina en formato GSM.
Para que reemplacen los sonidos fomes que vienen con asterisk por defecto, que son hechos por una máquina.

Sólo tienen que copiar la carpeta "es" en /var/lib/asterisk/sounds/. Pueden utilizar WinSCP para entrar al servidor por SFTP.

En versiones anteriores de asterisk y elastix, dentro de cada subdirectorio habia que tener una carpeta "es", por ejemplo los sonidos para los dígitios en español se que colocaban dentro de la carpeta /var/lib/asterisk/sounds/digits/es.

Luego recuerden habilitar language=es en los archivos sip.conf, iax.conf, y chan_dahdi.conf (zapata.conf). Para elastix sería sip_general_custom.conf y iax_general_custom.conf. Además de agregar allow=gsm en sip y iax, ya que los sonidos estan en ese formato.

Sonidos masculino

Sonidos femenino

Espero sus comentarios.

jueves, 16 de abril de 2009

Codec iLBC para Asterisk

Actualizado al 14/06/2009
- Los directorios de descarga de digium cambiaron.
- Compilacion correcta.

Desde la versión 1.4.19, Asterisk no incluye el codec iLBC, ya que hay que aceptar una licencia antes de utilizarlo, pero igual es de libre uso.
Esta demás decir que es un codec muy bueno, excelente alternativa al g729.

Una pequeña comparación, generalmente son los que ocupo:

G.711 ulaw (utilizado en EEUU) (64 Kbps)
G.711 alaw (utilizado en Europa) (64 Kbps)
G.729 (licencia) (8Kbps)
GSM (13Kbps)
iLBC (13.33/15.2Kbps)

Vamos al grano, esta "guía" se basa en Elastix 1.5.2 con Asterisk 1.4.24. Voy a tratar de hace todo paso por paso y explicar algunos comandos para aquellos que estan recién en esto (todas las guías que veo juran que todos son unos sabiondos en Linux o Asterisk).

Entramos al sistema como root.

Antes que todo deben tener instalados los siguientes paquetes, que sirven para compilar Asterisk

# yum -y install make bison flex gcc gcc-c++

Vamos al siguiente directorio.

# cd /usr/src

Descargamos los paguetes de Asterisk desde la pagina de digium.

# wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.4.24.1.tar.gz

Ahora descomprimimos (suena raro) los paguetes.

# tar -xzvf asterisk-1.4.24.1.tar.gz

Entramos a la carpeta que se creo.

# cd asterisk-1.4.24.1

Ahora viene la magia, los paguetes de asterisk vienen con un script para descargar y complilar el codec iLBC, desde la página de sus creadores. Desde la carpeta donde nos encontramos ejecutamos el script que esta en contrip/scripts

# ./contrib/scripts/get_ilbc_source.sh

Este descarga dentro del directorio codecs los binarios. Lo que hice yo, fue entrar al menu de asterisk y habilitar el codec iLBC.
# ./configure

# make menuselect

Seleccionan con la barra espaciadora Opción 4 codecs, y habilitan el iLBC. Con la tecla "x" guardan y salen.

Todas las guías que encontre dicen que hacer un "make" y luego un "make install", al principio n me funcionaba el "make install" (pero despues de bajar algunos paquetes como gcc), logre que funcionara

# make

Y finalmente

# make install

Con esto se compila el codec y aparece el archivo "codec_ilbc.so", que es el que utiliza asterisk para codificar y decodificar.

/usr/lib/asterisk/modules/codec_ilbc.so

Ahora, si entramos a la consola de asterisk, reinician el servicio, comprueban las codecs, tendria que aparecer.

# asterisk -r

> restart now

O si es un Elastix

# amportal restart

Entramos a la consola

# asterisk -r
> core show translation

Si aparecen los datos del iLBC, es porque ya esta cargado.

Sólo tendrian que agregar la línea "allow = ilbc", en el archivo "sip_general_custom.conf", que se encuentra en la carpeta "/etc/asterisk". Para que los aparatos o softphone puedan usarlo.

Si no les funciona el "make install" como me sucedio en una ocasión, pueden copiar el codecs que esta en la carpeta que se descargo, hacia la carpeta donde estan los codecs que usa asterisk. O reiniciar el servidor después de haber actualizado paquetes al principio.

# cd /usr/src/asterisk-1.4.24.1/codec

# cp codec_ilbc.so /usr/lib/asterisk/modules

Y para los que quieran descargar el codec ilbc
Codec iLBC

Por favor si les resulto o si tuvieron problemas comenten. Saludos

Asterisk

Hace tiempo que estoy usando Elastix para montar las centrales que instalo, y he tenido muy buenos resultados.

Con la versión actual 1.5.2, no he tenido problemas hasta ahora, y esta demás decir que me ha parecido excelente. No por algo se demoraron un tiempo en sacarla.

Voy a comenzar a utilizar este blog, aparte de promocionar mis servicios, para dar tips de asterisk y linux, cuando encuentre algo interesando que podría servir a otra gente. He encontrado guías para algunas cosas pero siempre omiten cosas importantes o se van detalles.