sábado, 7 de julio de 2012

Instalar Asterisk en 9 Pasos Parte 3/3

7.- Compilar Asterisk Add-ons

cd /usr/src/asterisk-addons-1.4.11
make clean
./configure
make menuselect


Con la tecla "x" guardar y salir.
make
make install


8.- Instalación de FreePBX
 Instalar base de datos PEAR

pear install DB

Instalar FreePBX

/usr/sbin/safe_asterisk
cd /usr/src/freepbx-2.9.x
./install_amp


Leer y seguir instrucciones, cambiar las contraseñas si no se usan las por defecto.

Usuarios base de datos:        asteriskuser
Contraseña bbdd:            fpbx69
Contraseña Asterisk Manager:    amp69
Password FOP:            passw0rd

Varificar en amportal.conf

vi /etc/amportal.conf
FOPRUN=true
Solicitar contraseña en freepbx
AUTHTYPE=database


Arranque automático

echo /usr/local/sbin/amportal start >> /etc/rc.local

Cambiar permisos amportal.conf

chmod 775 /etc/amportal.conf

Agregar también

vi /etc/asterisk/cdr_mysql.conf
loguniqueid=yes


9.- Habilitar servicios al inicio

chkconfig --list httpd
chkconfig --list mysqld
chkconfig httpd on
chkconfig mysqld on
amportal stop
amportal start


Modificar php.ini para aceptar subir archivos de 2M a 20M

vi /etc/php.ini
upload_max_filesize=20M


Configurar el verbose de Asterisk

asterisk –r
core set verbose 40


En caso de haber problemas con FOP, dejar en blanco

vi /etc/amportal.conf
AMPWEBADDRESS=

vi /var/www/html/panel/op_server.cfg
web_hostname=


Finalmente reiniciar y comprobar que este todo funcionando accediento a freebpx utilizando el navegador.

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