Sie sind auf Seite 1von 17

Instalacin de Asterisk 11.12.

1 en CentOS 7
Lun, 22/09/2014 - 04:15 admin

En este articulo veremos como instalar la ultima versin de Asterisk de la rama 11 en un VPS
remoto con instalado CentOS 7
Para el articulo se ha utilizado un VPS de Digital Ocean con 512 MB RAM.
Una vez adquirido el VPS se accede va SSH. La primera vez el servidor nos solicitar el cambio
de la contrasea de root predefinida (la que hemos recibido por correo electrnico). Cambiada la
contrasea se contina con los pasos que siguen.
PREPARACIN DEL VPS
Se actualiza el sistema:
yum update -y
Se instalan los repositorios Epel para CentOS 7:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-71.noarch.rpm
Se contina con la configuracin de la zona horaria (personalizar segn su pas):
rm /etc/localtime
ln -s /usr/share/zoneinfo/America/Bogota /etc/localtime
Se configura el idioma (espaol). Para buscar el espaol de Colombia
localectl list-locales | grep CO
es_CO
es_CO.iso88591
es_CO.utf8
Para configurarlo
localectl set-locale LANG=es_CO.iso88591
Se instala el paquete del network time protocol para tener siempre actualizada la hora del
servidor:

yum install ntp -y


Se configura para que arranque en automtico utilizando el nuevo sistema de arranque de
CentOS 7 Systemd:
systemctl enable ntpd
ln -s '/usr/lib/systemd/system/ntpd.service' '/etc/systemd/system/multiuser.target.wants/ntpd.service'
Se inicia:
systemctl start ntpd
Para ver si est corriendo correctamente:
systemctl | grep ntpd
ntpd.service

loaded active running

Network Time Service

Se instalan las fuentes del Kernel instalado que se necesitarn al momento de la instalacin de
DAHDI:
yum install -y kernel-devel-$(uname -r)
Se crea la particin de Swap ya que no viene por defecto:
dd if=/dev/zero of=/swapfile bs=1024 count=512k
mkswap /swapfile
swapon /swapfile
Se configura la particin de swap para que arranque con el sistema:
nano /etc/fstab
al final del archivo se aade la lnea que sigue:
/swapfile swap swap defaults 0 0
Se cambian los permisos del archivo recin creado:

chmod 0600 /swapfile


En el CentOS de digital Ocean Selinux est desactivado por defecto. En el caso de otro servidor
local o remoto, averiguar siempre que lo est:
nano /etc/selinux/config
Los dos parmetros presentes tienen que estar configurados de la siguiente manera:
SELINUX=disabled
SELINUXTYPE=targeted
Se reinicia el sistema:
reboot

INSTALACIN LIBRERAS Y DEPENDENCIAS PARA ASTERISK


Vorbis:
yum install libvorbis libvorbis-devel vorbis-tools libogg libogg-devel -y
Curl:
yum install curl curl-devel libidn-devel -y
Paquetes para la compilacin de las fuentes:
yum install gcc ncurses-devel make gcc-c++ mingw64-termcap-static zlib-devel libtool
bison-devel \
bison openssl-devel bzip2-devel wget newt-devel subversion flex gtk2-devel net-tools
-y
En CentOS 7 ya no est presente MySQL sino MariaDB:
yum install mariadb mariadb-server mariadb-devel -y
ODBC:
yum install unixODBC unixODBC-devel mysql-connector-odbc libtool-ltdl-devel -y

SQLite:
yum install sqlite sqlite-devel -y
Festival:
yum install festival festival-devel hispavoces-pal-diphone hispavoces-sfl-diphone -y
Libuuid y uiid para la correcta compilacin de las libreras de PjSIP y el correcto funcionamiento
del protocolo ICE en Asterisk:
yum install libuuid libuuid-devel uuid uuid-devel -y
Speex y WavPack:
yum install speex speex-devel wavpack wavpack-devel
Lame desde las fuentes:
cd /usr/src
wget http://ufpr.dl.sourceforge.net/sourceforge/lame/lame-3.99.5.tar.gz
tar -xf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix=/usr --libdir=/usr/lib64/
make
make install
Libmad desde las fuentes:
cd /usr/src
wget http://prdownloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz
tar -xf libmad-0.15.1b.tar.gz
cd libmad-0.15.1b
./configure --prefix=/usr --libdir=/usr/lib64/
nano +129 Makefile
CFLAGS = -Wall -g -O -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps
-fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2
para que quede:

CFLAGS = -Wall -g -O -fforce-addr -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks


-fexpensive-optimizations -fregmove -fschedule-insns2
make
make install
SoX desde las fuentes:
cd /usr/src
wget http://downloads.sourceforge.net/project/sox/sox/14.4.1/sox-14.4.1.tar.gz
tar -xf sox-14.4.1.tar.gz
cd sox-14.4.1
./configure --prefix=/usr --libdir=/usr/lib64/
make
make install
Se instala la ultima versin de DAHDI y LibPRI:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-l...
tar -xf dahdi-linux-complete-2.10.0+2.10.0.tar.gz
cd dahdi-linux-complete-2.10.0+2.10.0
make
make install
make config
Se inicia DAHDI con el viejo sistema de arranque:
service dahdi start
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.14.tar.gz
tar -xf libpri-1.4.14.tar.gz
cd libpri-1.4.14
make
make install
SpanDSP y relativas libreras para el soporte FAX:
yum install libtiff libtiff-devel libxml2 libxml2-devel -y
cd /usr/src
wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre21.tgz

tar -xf spandsp-0.0.6pre21.tgz


cd spandsp-0.0.6
./configure --prefix=/usr --libdir=/usr/lib64/
make
make install
Iksemel y relativas libreras para el soporte XMPP:
yum install gnutls gnutls-devel gnutls-utils iksemel iksemel-devel -y
OpenLDAP:
yum install compat-openldap openldap openldap-clients openldap-devel openldapservers -y
SNMP:
yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils -y
El Lenguaje LUA para el dialplan:
yum install lua lua-devel -y
LibiCAL y Neon para el soporte de los calendarios:
yum install libical libical-devel neon neon-devel -y
LibSRTP para el cifrado del flujo media:
yum install libsrtp libsrtp-devel -y

INSTALACIN DE ASTERISK
Se descarga la ultima versin disponible de Asterisk, rama 11:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11.12.1.ta...
tar -xf asterisk-11.12.1.tar.gz
cd asterisk-11.12.1
./configure --libdir=/usr/lib64
make menuselect

Seleccionan los mdulos que quieren activar/desactivar. En mi caso:

Se guardan los cambios y se contina:


contrib/scripts/get_mp3_source.sh
make
make install
make samples
Para que Asterisk se inicie en automtico hay que crear una nueva entrada en el sistema de
arranque Systemd:
nano /usr/lib/systemd/system/asterisk.service
Se copian las lneas que siguen:
[Unit]
Description=Asterisk PBX
Documentation=man:asterisk(8)
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/sbin/asterisk -g -f
ExecReload=/usr/sbin/asterisk -rx 'core reload'
Restart=always
RestartSec=1
WorkingDirectory=/usr/sbin
[Install]
WantedBy=multi-user.target
Se guardan los cambios y se activa el servicio:

systemctl enable asterisk


ln -s '/usr/lib/systemd/system/asterisk.service' '/etc/systemd/system/multiuser.target.wants/asterisk.service'
Para tener la certeza que arranque al Boot de Linux, se reinicia el servidor:
reboot
Se accede nuevamente al servidor remoto y luego a la consola de Asterisk:
asterisk -rvvvvvvvvvv
Asterisk 11.12.1, Copyright (C) 1999 - 2013 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
===========================================================
==============
Connected to Asterisk 11.12.1 currently running on sip21 (pid = 639)
CLI>
Perfecto!!!

Integracin del Codec audio Opus en Asterisk 11.23.0


Lun, 15/08/2016 - 04:10 admin

En este articulo veremos como instalar el codec Opus en la ultima versin disponible de Asterisk,
rama 11. Existe un parche tambin para las versiones 12 y 13.
En este sitio ya se habl de este codec y de sus funcionalidades. Para instalarlo (junto al
programa para aplicar parches):
yum install opus opus-devel patch -y
En este articulo pueden ver las dependencias necesarias para la instalacin de Asterisk 11.X en
CentOS 7.X. Empezamos desde la descarga de la versin 11.23.0 de Asterisk:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11.23.0.ta...

tar -xf asterisk-11.23.0.tar.gz


cd asterisk-11.23.0
descargamos el parche con git (primero instalan git si no lo tienen instalado):
yum install git -y
git clone -b asterisk-11 https://github.com/seanbright/asterisk-opus.git
Luego aplicamos el parche:
cp asterisk-opus/codecs/* codecs/
cp asterisk-opus/formats/* formats/
patch -p1 < asterisk-opus/asterisk.patch
Realizamos una correccin despus del parche para que la compilacin de Asterisk no tenga
problemas:
nano res/res_rtp_asterisk.c
despus de esta linea:
unsigned int rtt_count;
aadimos:
int firseq; /*!< VP8: sequence number for the RTCP FIR FCI */
Guardamos los cambios y recreamos el archivo configure:
./bootstrap.sh
luego:
./configure libdir=/usr/lib64
make menuselect
Miramos si el codec opus est seleccionado (men Codec transladors):

Salimos con Save & Exit y compilamos:


make
si sale este error:
make[1]: *** [format_mp3.o] Error 1
make: *** [addons] Error 2
contrib/scripts/get_mp3_source.sh
luego:
make
make install
Se inicia Asterisk:
service asterisk start
Se entra en la consola de Asterisk y se mira la lista de codec disponibles:
asterisk -rvvvvvvvvvvvvvvvvv
CLI> core show codecs

El codec vp8 se instala junto al codec opus pero solamente en modo pasarela. Se realiza una
prueba de llamada (he utilizado el Softphone X-Lite); a lo largo de la llamada:
CLI> sip show channels

el codec alaw se utiliza con la troncal y opus con el Softphone. Parece funcionar todo sin
problemas.
Me comentan

Instalar Asterisk + FreePBX en


Ubuntu 14.04
Published 08/25/2015 Linux , Networking , VoIP 23 Comments
Etiquetas: asterisk, freepbx, linux, ubuntu, VoIP

En la entrada de hoy vamos a ver cmo instalar Asterisk y FreePBX en un servidor Ubuntu
14.04. Asterisk es un software que proporcionar a nuestro servidor funcionalidades de una
centralita pbx. FreePBX por su parte es una interfaz web que nos har la vida mas fcil a la hora
de configurar Asterisk,sobre todo si no estamos familiarizados con el sistema Asterisk.

Requisitos previos
Antes de comenzar tenemos que asegurarnos que nuestro servidor tiene instalados openssh y
lamp(apache,

mysql,

php),

en

caso

de

no

ser

as

los

instalamos.

Como todos los comandos que vamos a lanzar en el tutorial los vamos a hacer como usuario
root, lo primero que vamos a hacer es cambiarnos al usuario root:
$sudo -s
Actualizamos el sistema:
# apt-get update
# apt-get upgrade
Instalamos las dependencias necesarias:

apt-get

install

-y

build-essential

linux-headers-`uname

-r`

openssh-server

apache2 mysql-server\
mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php-db
php5-gd curl sox\
libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev
sqlite3\
libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev
uuid uuid-dev\
libasound2-dev

libogg-dev

libvorbis-dev

libcurl4-openssl-dev

libical-dev

libneon27-dev libsrtp0-dev\
libspandsp-dev
Reiniciamos el sistema:
# reboot
Instalamos Pear db:
# pear uninstall db
# pear install db-1.7.14
Instalamos las dependencias para Google Voice:
# cd /usr/src
# wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
# tar xf iksemel-1.4.tar.gz
# cd iksemel-*
# ./configure
# make
# make install

Instalar y configurar Asterisk


Nos situamos en el directorio /usr/src y descargamos los ficheros necesarios:
# cd /usr/src
#

wget

http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-12-

current.tar.gz
# git clone https://github.com/akheron/jansson.git
# git clone https://github.com/asterisk/pjproject.git
Compilamos e instalamos pjproject:

# cd /usr/src/pjproject
# ./configure --enable-shared --disable-sound --disable-resample --disable-video
--disable-opencore-amr
# make dep
# make
# make install
Compilamos e instalamos jansson:
# cd /usr/src/jansson
# autoreconf -i
# ./configure
# make
# make install
Compilamos e instalamos Asterisk:
# cd /usr/src
# tar xvfz asterisk-12-current.tar.gz
# cd asterisk-12.8.2/
# ./configure
# contrib/scripts/get_mp3_source.sh
# make menuselect
En este punto se nos abrir un men donde podemos seleccionar los diferentes mdulos a
aadir, en mi caso he dejado todo por defecto y tan solo he aadido el soporte para mp3:

Una vez guardamos y salimos continuamos con la instalacin:

# make
# make install
# make config
# ldconfig
Instalamos Asterisk-Extra-Sounds:
# cd /var/lib/asterisk/sounds
#

wget

http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-

en-wav-current.tar.gz
# tar xfz asterisk-extra-sounds-en-wav-current.tar.gz
# rm -f asterisk-extra-sounds-en-wav-current.tar.gz

Instalar y configurar FreePBX


Descargamos y extraemos los ficheros de FreePBX:
# cd /
# wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-12.0-latest.tgz
# tar vxfz freepbx-12-latest.tgz
Creamos el usuario asterisk y modificamos permisos de los directorios:
useradd -m asterisk
# chown asterisk. /var/run/asterisk
# chown -R asterisk. /etc/asterisk
# chown -R asterisk. /var/{lib,log,spool}/asterisk
# chown -R asterisk. /usr/lib/asterisk
# rm -rf /var/www/html
Hacemos unas modificaciones en los ficheros php.ini y apache2.conf:
# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini
# cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
# service apache2 restart
Preparamos MySQL. Con el siguiente comando generamos una contrasea segura para las
comunicaciones entre FreePBX y MySQL:
# export ASTERISK_DB_PW=`dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 | cut -c2-18`

Ahora accedemos a mysql con el usuario root, creamos las bases de datos que usar asterisk y
asignamos todos los permisos sobre esas bases de datos al usuario asterisk:
# mysql -u root -p
mysql> create database asterisk
mysql> create database asteriskcdrdb
mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY '$
{ASTERISK_DB_PW}';
mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED
BY '${ASTERISK_DB_PW}';
mysql> flush privileges;
mysql> quit
Nos movemos al directorio /freepbx y desde ah lanzamos el resto de comandos para la
instalacin de freepbx:
# cd

/freepbx

# ./start_asterisk start
# ./install_amp --installdb --username=asterisk --password=${ASTERISK_DB_PW}
# amportal chown
# amportal a ma installall
# amportal a reload
# amportal a ma refreshsignatures
# amportal chown
Para terminar creamos el siguiente enlace simblico e iniciamos freepbx:
ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
amportal restart

Ahora ya podemos abrir un navegador y como url ponemoshttp://x.x.x.x/admin donde x.x.x.x


ser

la

ip

de

nuestro

servidor.

Das könnte Ihnen auch gefallen