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.