Está en la página 1de 7

yum update -y rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm nano /etc/yum.repos.d/epel.

repo En el primer bloque del archivo se mdica el parmetro: enabled=1 para que quede: enable=0 Se contina con la configuracin de la zona horaria rm /etc/localtime ln -s /usr/share/zoneinfo/America/Mexico_City /etc/localtime El idioma (espaol): nano /etc/sysconfig/i18n Se pegan las lneas que siguen: LANG="es_MX.iso88591" SYSFONT="latarcyrheb-sun16" 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: chkconfig ntpd on Se inicia: service ntpd start 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 nano /etc/fstab al final del archivo se aade la linea que sigue: /swapfile swap swap defaults 00 Se cambian los permisos del archivo recin creado: chmod 0600 /swapfile Se configuran algunos parmetros y alias para los comandos que ms se utilizarn. nano .bash_profile * se debe estar en /root al final del archivo se pegan las lneas que siguen: export EDITOR=/usr/bin/nano export PS1='\[\033[0;35m\]\H\[\033[0;33m\] \w\[\033[00m\]: ' alias free="free -m" alias aste="asterisk -rvvvvvvvvvvvvvvvvvv" alias sip="nano /etc/asterisk/sip.conf" alias ext="nano /etc/asterisk/extensions.conf" alias dialplan="asterisk -rx 'dialplan reload'" Se recarga la configuracin de la consola Linux: source .bash_profile Ya se puede reiniciar el servidor remoto: reboot Se empieza con VORBIS que es una librera para la compresin/descompresin audio: yum install -y libvorbis libvorbis-devel vorbis-tools libogg libogg-devel se sigue con CURL que es un cliente que permite recibir o enviar archivos utilizando los protocolos HTTP, HTTPS, FTP, GOPHER, DICT, TELNET: yum install -y curl curl-devel libidn-devel

se instalan todas las libreras y dependencias que se necesitan para compilar las fuentes: yum install -y gcc ncurses-devel make gcc-c++ compat-libtermcap zlib-devel libtool bison yum install -y bison-devel openssl-devel bzip2-devel wget newt-devel subversion flex gtk2-devel Seguir para crear y gestionar las bases de datos, MySQL: yum install -y mysql mysql-server mysql-devel UNIXODBC que es la implementacin Linux de los API ODBC que permiten conectarse a muchos sistemas de gestin de base de datos (ej: MySQL): yum install -y unixODBC unixODBC-devel mysql-connector-odbc libtool-ltdl-devel Se instala FESTIVAL, que es un sistema de text to speech (disponible con las voces en espaol): yum install -y festival festival-devel Una vez terminada esta primera parte se empieza a instalar una serie de programas desde las fuentes; el primero es SPEEX que es un programa para la compresin audio especficamente diseado para la voz: cd /usr/src wget http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz tar -xf speex-1.2rc1.tar.gz cd speex-1.2rc1 ./configure --prefix=/usr make make install Se continua con LAME que es utiliza para codificar archivos audio en formato MP3: 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 make make install LIBMAD que es un MPEG audio decodificador de alta calidad: 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 Para que la compilacin tenga xito hay que modificar una linea del Makefile: nano +129 Makefile CFLAGS = -Wall -g -O -fforce-mem -fforce-addr -fthread-jumps para que quede: CFLAGS = -Wall -g -O -fforce-addr -fthread-jumps se continua con la compilacin e instalacin: make make install WAVPACK es un compresor audio de alto rendimiento sin perdida de calidad: cd /usr/src wget http://www.wavpack.com/wavpack-4.60.1.tar.bz2 tar -xf wavpack-4.60.1.tar.bz2 cd wavpack-4.60.1 ./configure prefix=/usr make && make install Se termina con SOX que es un programa que permite la manipulacin de archivos audio y la posibilidad de pasarlos de un formato a otro: 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 make make install

SENDMAIL: yum install -y sendmail sendmail-devel sendmail-cf Se configura para que arranque en automtico: chkconfig sendmail on Cada usuario tiene asignado un sub-dominio que se puede utilizar para la configuracin del sistema. Este dato aparece en la segunda lnea de este archivo: nano /etc/sysconfig/network service network restart TCP 25 local. Para que sea alcanzable tambin desde remoto hay que abrir el archivo de configuracin de Sendmail: nano /etc/mail/sendmail.mc Buscar esta linea (para buscar un texto con el editor Nano hay que presionar la combinacin de teclas CTRL-W): DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl Modificar como sigue: DAEMON_OPTIONS(`Port=smtp,, Name=MTA')dnl Se guardan los cambios y se vuelve a compilar la configuracin de Sendmail: make -C /etc/mail Se inicia el servidor de correo: /etc/init.d/sendmail start OpenLDAPes la versin open source del protocolo Lightweight Directory Access. Normalmente se utiliza para crear un directorio de usuarios que puede ser consultado y/o modificado desde remoto. yum install -y compat-openldap openldap openldap-clients openldap-devel openldap-servers SNMP es el Protocolo Simple de Administracin de Red y sirve para controlar y monitorear el desempeo del servidor Linux. yum install -y net-snmp net-snmp-devel net-snmp-libs net-snmp-utils En Asterisk existe la posibilidad de guardar los registros de las llamadas en un servidor RADIUS a travs de un cliente RADIUS que hay que instalar. En este caso se instala desde las fuentes: cd /usr/src wget http://download.berlios.de/radiusclient-ng/radiusclient-ng-0.5.6.tar.gz tar -xf radiusclient-ng-0.5.6.tar.gz cd radiusclient-ng-0.5.6 ./configure --prefix=/usr make && make install ln -s /usr/lib/libradiusclient-ng.so.2 /usr/lib64/libradiusclient-ng.so.2 Se contina la preparacin del servidor con la instalacin del lenguaje de programacin LUA que permite escribir el dialplan. yum install -y readline-devel luego el programa: cd /usr/src wget http://www.lua.org/ftp/lua-5.1.5.tar.gz tar -xf lua-5.1.5.tar.gz cd lua-5.1.5 Se modifica el archivo Makefile para que el programa se instale por defecto en la carpeta /usr: nano Makefile se modifica esta linea: INSTALL_TOP= /usr/local para que quede: INSTALL_TOP= /usr Para la versin CentOS de 64bit hay que modificar tambin este archivo: nano src/Makefile cambiar esta linea: CFLAGS= -O2 -Wall $(MYCFLAGS) para que quede: CFLAGS= -O2 -Wall -fpic $(MYCFLAGS) se compila e instala: make linux && make install LIBICAL que permite la implementacin del protocolo iCalendar (RFC5546) encAsterisk a travs del modulo res_calendar: cd /usr/src wget http://downloads.sourceforge.net/project/freeassociation/libical/libical-1.0/libical-1.0.tar.gz tar -xf libical-1.0.tar.gz

cd libical-1.0 ./autogen.sh --prefix=/usr make && make install ln -s /usr/lib/libical.so.0 /usr/lib64/libical.so.0 NEON que es una librera que permite la implementacin del protocolo WebDAVen Asterisk: cd /usr/src wget http://www.webdav.org/neon/neon-0.30.0.tar.gz tar -xf neon-0.30.0.tar.gz cd neon-0.30.0 ./configure --prefix=/usr --with-ssl=openssl make && make install Por ltimo la librera libSRTP que permite implementar en Asterisk el cifrado del flujo media a travs del protocolo SRTP: cd /usr/src wget http://downloads.sourceforge.net/project/srtp/srtp/1.4.4/srtp-1.4.4.tgz tar -xf srtp-1.4.4.tgz cd srtp ./configure --prefix=/usr CFLAGS=-fPIC make Antes de lanzar el make runtest, para que tenga xito, hay que modificar una lnea en el archivo que ejecuta el test: nano test/rtpw_test.sh cambiar esta linea: RTPW=rtpw Para que quede: RTPW=./rtpw Se contina con el test: make runtest && make install

Instalacin DAHDI
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gz tar -xf dahdi-linux-current.tar.gz cd dahdi-linux-2.7.0.1 make && make install Se termina con la ltima versin disponible de DAHDI-Tools: cd /usr/src wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gz tar -xf dahdi-tools-current.tar.gz cd dahdi-tools-2.7.0.1 ./configure make && make install && make config se pueden comentar todo los drivers que aparecen el el archivo /etc/dahdi/modules. Luego se puede iniciar DAHDI: /etc/init.d/dahdi start App_fax, GoogleTalk, LibiCAL y SRTP Para SpanDSP se necesita instalar primero las libreras libtiff: yum install -y libtiff libtiff-devel libxml2 libxml2-devel Se contina con SpanDSP: 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 make && make install El protocolo XMPP permite conexione seguras entre cliente y servidor utilizando el protocolo TLS; Para ese efecto se instala, antes de IKSEMEL las relativas libreras: yum install -y gnutls gnutls-devel gnutls-utils Se continua con IKSEMEL: cd /usr/src

wget http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz tar -xf iksemel-1.4.tar.gz cd iksemel-1.4 ./configure --prefix=/usr make Antes de la instalacin se ejecuta un test para averiguar que la compilacin haya tenido xito: make check make install

Instalacin de Asterisk
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.23.1.tar.gz tar -xf asterisk-1.8.23.1.tar.gz cd asterisk-1.8.23.1 ./configure make menuselect Se entra en el men Add-ons y se activan los paquetes que siguen: Se seleccionan todos los mdulos en el men Utilities y AGI Samples: make Si a lo largo de la compilacin aparece este error: make[1]: *** [format_mp3.o] Error 1 make: *** [addons] Error 2 Se continua con: contrib/scripts/get_mp3_source.sh y luego otra vez el make: make Se instala Asterisk: make install Se instalan los archivos de configuracin predefinidos: make samples Se configura el script de arranque de Asterisk: make config

Terminada la instalacin, se procede a la configuracin de MySQL para crear la base de datos y la tabla donde se guardarn los registros de las llamadas. /etc/init.d/mysqld start Se configura para que arranque en automtico: chkconfig mysqld on Se crea una contrasea para el usuario root de MySQL (sesamo): mysqladmin -u root password sesamo Para pone en seguridad el servidor MySQL se ejecuta el programa: mysql_secure_installation Se contestan las preguntas como sigue: sesamo, n, y, y, y, y. Se reinicia el servidor MySQL: service mysqld restart Se crea la base de datos para guardar los registros de las llamadas. Se entra en el cliente de MySQL: mysql -u root -psesamo Se crea la base de datos asteriskcdr: mysql> create database asteriskcdr; Se selecciona: mysql> use asteriskcdr Se crea la tabla cdr (copiando y pegando las lneas que siguen): mysql> CREATE TABLE cdr ( id bigint(20) NOT NULL auto_increment, calldate datetime NOT NULL default '0000-00-00 00:00:00', clid varchar(80) NOT NULL default '', src varchar(80) NOT NULL default '',

dst varchar(80) NOT NULL default '', dcontext varchar(80) NOT NULL default '', channel varchar(80) NOT NULL default '', dstchannel varchar(80) NOT NULL default '', lastapp varchar(80) NOT NULL default '', lastdata varchar(80) NOT NULL default '', duration int(11) NOT NULL default '0', billsec int(11) NOT NULL default '0', disposition varchar(45) NOT NULL default '', amaflags int(11) NOT NULL default '0', accountcode varchar(20) NOT NULL default '', peeraccount varchar(20) NOT NULL default '', uniqueid varchar(32) NOT NULL default '', linkedid varchar(80) NOT NULL default '', userfield varchar(255) NOT NULL default '', PRIMARY KEY (`id`), KEY callerid (clid) );

Se otorgan los permisos de acceso a la base de datos creada al usuario asterisk, desde local mysql> GRANT ALL PRIVILEGES ON asteriskcdr.* TO 'asterisk'@'localhost' IDENTIFIED BY 'sesamo'; Desde remoto: mysql> GRANT ALL PRIVILEGES ON asteriskcdr.* TO 'asterisk'@'%' IDENTIFIED BY 'sesamo'; Se actualizan los permisos: mysql> flush privileges; Se sale del cliente: mysql> quit En Asterisk la conexin a la base de datos y la tabla de los registros de las llamadas, se configura en el archivo cdr_mysql.conf. Se renombra el predefinido: mv /etc/asterisk/cdr_mysql.conf /etc/asterisk/cdr_mysql.conf.old Se crea uno nuevo: nano /etc/asterisk/cdr_mysql.conf Se aaden las siguientes lineas: [global] hostname=127.0.0.1 dbname=asteriskcdr table=cdr password=sesamo user=asterisk port=3306 sock=/var/lib/mysql/mysql.sock Se guardan los cambios y se inicia Asterisk: /etc/init.d/asterisk start Se averigua que est corriendo: /etc/init.d/asterisk status asterisk (pid 2403) is running... Se entra en la consola: asterisk -rvvvvvvvvvvvvvvvv Se controla que la conexin a la base de datos est activa: CLI> cdr mysql status Connected to asteriskcdr@localhost, port 3306 using table cdr for 59 seconds. Wrote 0 records since last restart.

Instalacin A2Billing
yum install -y php php-gd php-mysql php-process httpd mod_ssl php-cli php-soap Para la instalacin del paquete php-mcrypt se activa el repositorio epel: yum --enablerepo=epel install -y php-mcrypt Terminada esta operacin, se configura la zona horaria en el archivo de configuracin de PHP (php.ini)

nano +946 /etc/php.ini Se modifica la linea para que quede (en el caso de Mexico): date.timezone = America/Mexico_City Se guardan los cambios y se descarga la ltima versin disponible 2.0.1 de A2Billing: cd /usr/local/src wget https://github.com/Star2Billing/a2billing/archive/master.tar.gz Se cambia el nombre al archivo descargado: mv master a2billing.tar.gz tar -xf a2billing.tar.gz Se renombra la carpeta creada: mv a2billing-master a2billing Se entra en el cliente MySQL: mysql -u root -psesamo Se crea la base de datos a2billing: mysql> create database a2billing; Query OK, 1 row affected (0.00 sec) Se otorgan los permisos de acceso a la base de datos creada al usuario a2user identificado con la contrasea sesamo: mysql> GRANT ALL PRIVILEGES ON a2billing.* TO 'a2user'@'localhost' IDENTIFIED BY 'sesamo'; Query OK, 0 rows affected (0.00 sec) se actualizan los permisos: mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) Se sale del cliente MySQL: mysql> quit Se crean las tablas en la base de datos a2billing utilizando el script presente en la siguiente carpeta: cd a2billing/DataBase/mysql-5.x/ Se ejecuta: ./install-db.sh Database Name: a2billing Hostname: localhost Username: root Password: sesamo Se instalan las locuciones distribuidas con el programa (ingles, francs, espaol, portugus y ruso): cd /usr/local/src/a2billing/addons/sounds/ Utilizando el siguiente script: ./install_a2b_sounds.sh Se contina con la instalacin copiando el archivo de configuracin de a2billing en la carpeta /etc: cp /usr/local/src/a2billing/a2billing.conf /etc/ se abre con el editor: nano /etc/a2billing.conf Se modifican estas lneas: [database] hostname = localhost port = user = a2billing_dbuser password = a2billing_dbpassword dbname = a2billing_dbname dbtype = mysql Para que queden: [database] hostname = localhost port = 3306 user = a2user password = sesamo dbname = a2billing dbtype = mysql