Manual De Instalacion De Asterisk
Embed Size (px)
description
Transcript of Manual De Instalacion De Asterisk

CONTENIDO
1. Introducción……………………………………………………………………4
2. Justificación……………………………………………………………............5
3. Instalando asterisk……………………………………………………………6
4. Actualizando repositorios……………………………………………………6
5. Librerias para acceder vía SSH……………………………………………8
6. Paquetes de compilacion……………………………………………………9
7. Actualizando el Kernel de nuestro sistema. ………………………………9
8. Instalacion de paquetes adicionales. …………………………………….11
9. Paquete para el manejo de voz. ………………………………………….11
10. Instalamos asterisk…………………………………………………………12
11. Librerias para la consola asterisk. ………………………………………12
12.Paquete de comprensión. …………………………………………………13
13.Librerias para el servicio web FreePBX. …………………………………13
14.En caso de utilizar tarjetas sangoma. ……………………………………15
15.Librerias para archivos CVS. ……………………………………………..15
16.Más librerias para FreePBX. ………………………………………………16
17.Servidor web para FreePBX. ………………………………………………16
18.Mas librerias para FreePBX…………………………………………………17
19. Instalamos la base de datos. ………………………………………………17
20.Creación repositorio local. …………………………………………………18
21.Obteniendo archivos desde internet. ……………………………………19
22.Manejo de archivos de sonido. ……………………………………………20
23.Paquetes para el FreePBX. ………………………………………………21
24.Archivos para asterisk. ……………………………………………………21
2

25. Instalacion de archivos descargados. ……………………………………24
26.Manejador de sonidos. ……………………………………………………..26
27. Instalacion Gateway entre asterisk y FreePBX. …………………………28
28. Instalamos FreePBX. ………………………………………………………..29
29.Copiamos esquemas. ……………………………………………………….33
30.Creando usuario y grupo que manejen los procesos asterisk. …………34
31.Configurando apache. ………………………………………………………35
32.Compilando archivos. ……………………………………………………….41
33.Configurando archivos de asterisk. ………………………………………..46
34.Antes de instalar el FreePBX. ……………………………………………...48
35.Glosario. ……………………………………………………………………...56
INTRODUCCION
La telefonía IP, actualmente está tomando auge en las telecomunicaciones, en especial en las pequeñas, medianas y grandes compañías, esto se debe a su bajo costo de implementación, lo que la hace muy factible para aquellos que buscan economizar un poco.Debido al crecimiento progresivo que se viene dando con esta tecnología, y a la gran acogida que ha tenido, tratare de darles una breve introducción a lo que es el mundo de las comunicaciones vía IP, desde sus orígenes hasta lo que es hoy en día.
LA herramienta que actualmente es implementada con mayor frecuencia en el
3

mundo del software libre para crear centrales de telefonía IP es Asterisk (GNU). Por sus funcionalidades y por ser tan compacta. Tratare de darles a conocer sus características, proceso de instalación y configuración, en la plataforma de Linux Ubuntu 8.10.
El siguiente trabajo es un recopilo de una serie de manuales que voy a ir desarrollando a medida que me vaya adentrando al mundo de la telefonía IP.
El presente manual estará orientado a la explicación de cómo instalar una central telefónica PBX, con la herramienta Asterisk en el sistema operativo Ubuntu 8.10.
JUSTIFICACION
La idea de crear una serie de manuales orientadas a la telefonía IP, no es más que plasmar cada proceso nuevo que vaya aprendiendo sobre esta tecnología, de una manera simple, para dárselas s a conocer a mis amigos y a la comunidad en sí.
Pienso que ir documentando cada proceso nuevo que vaya adquiriendo en mi etapa productiva me ayudara tanto al crecimiento personal como profesional, y serviría de apoyo en el momento que se me presente algún tipo de problema.
Cabe aclarar que soy un principiante en el campo de la telefonía IP, por lo que puede haber errores, por eso me gustaría decirles que no confíen el 100% de lo plasmado en los manuales y es mejor buscar algún tipo de
4

documentación extra en otras fuentes: tales como Internet, libros, amigos….
Los manuales estarán sujetos a cambios, lo cual tratare de irlos mejorando día a día, a medida que vaya adquiriendo nuevos conocimientos.
INSTALANDO ASTERISK:
Antes de empezar con el proceso de instalación de nuestra PBX, listare las características del equipo que será el servidor VoIP:
Linux Versión : Ubuntu 8.10 Linux Kernel : 2.6.27 Conmutador de VoIP : Asterisk V.1.4.13 Administrador Web : FreePBX 2.3.1 Memoria RAM: 1 GB CPU: AMD athlon™ 64 procesor /: 10 GB Swap: 600 MB IP: 192.168.2.110
Ahora si podemos empezar con el proceso de instalación.
5

Actualizando repositorios:
Empezaremos editando el archivo sources.list con un editor de texto plano:
#nano /etc/apt/sources.list
Descomentamos los siguientes repositorios:
6

Agregamos los siguientes repositorios:
deb http://us.archive.ubuntu.com/ubuntu/ dapper universe deb-src http://us.archive.ubuntu.com/ubuntu/ dapper universe
Guardamos ctrl.+ o y salimos ctrl.+x
Ahora actualizaremos la lista ejecutando el siguiente comando:
#apt-get update
Librerías para acceder vía SSH:
Para poder acceder remotamente a nuestro Asterisk, de forma segura procederemos a instalar los paquetes correspondientes para dicha función:
7

#apt-get install openssl libssl-dev ssh
Paquetes de compilacion:
Como nuestro Asterisk y sus librerias deben ser compiladas para poder instalarlos en nuestro sistema, procederemos a descargar e instalar algunos paquetes que harían esta funcion:
#apt-get install gcc make g++
8

Actualizamos el kernel de nuestro sistema:
Verifico que version de kernel tengo instalado en mi equipo con el siguiente comando:
# uname -a
Buscamos las fuentes de nuestro kernel con el siguiente comando:
#apt-cache search 2.6.27.7
9

Instalamos las cabeceras:
#apt-get install linux-headers-2.6.27-7-generic linux-image-2.6.27-7-generic linux-source-2.6.27
Instalacion de Paquetes adicionales:
Nmap: Scaneador de puertos. Lynx: Navegador web de texto (#lynx URL) Emacs21: Editor de texto potente.
#apt-get install nmap lynx emacs21
10

Paquetes para el manejo de voz:
Festival: Es un sistema de síntesis de voz.
# apt-get install festival festival-dev
Instalamos Asterisk:
Procedemos a instalar Asterisk desde los repositorios:
#apt-get install asterisk
11

Librerias para Consola Asterisk:
Para poder ejecutar la consola de asterisk instalaremos las librerias requeridas para dicho servicio:
#apt-get install ncurses-base ncurses-bin ncurses-term libncurses5 libncursesw5 libncurses5-dev libncursesw5-dev
Paquetes de comprension:
Necesitaremos algunos paquetes de comprension para nuestro asterisk:
#apt-get install zlib1g zlib1g-dev
12

Librerias para el servicio Web FreePBX:
Para poder utilizar el administrador Web de nuestro asterisk procederemos a instalar algunas librerias necesarias para dicho servicio:
NOTA: Algunas librerias nos dira que ya están en su version mas reciente, esto se debe que se instalaron cuando se instalo el Asterisk, pero algunas si hacen falta, las cuales se instalaran en su version mas actual.
#pt-get install bison bison-doc
#apt-get install libxml2 libxml2-dev
13

#apt-get install libtiff4 libtiff4-dev
#apt-get install libasound2 libgsm1 libltdl3 libpq4 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev
En caso de utilizar tarjetas sangoma:
Las tarjetas sangoma son una marca de tarjeta de telefonía IP, por lo que se
14

necesita instalar el flex, que actuara como dirvers de la misma.
#apt-get install flex
Librerias para archivos CVS:
Curl: Herramienta para transferir archivos con sintaxis URL, FTP. Doxygen: Es un generador de documentación para código fuente. Subversión: Es un sistema de control de versiones, diseñado principalmente
para reemplazar el CVS.
#apt-get install subversion curl doxygen
Mas librerias Para FreePBX:
Librerias para el uso del FreePBX:
# apt-get install libnet-telnet-perl mime-construct libipc-signal-perl libmime-types-perl libproc-waitstat-perl
15

Servidor Web para FreePBX:
Necesitaremos un servidor web donde ira alojado el administrador web de nuestro asterisk, para ello instalaremos el apache2:
# apt-get install apache2
Más librerias Para FreePBX:
Como tuvimos que instalar un servidor Web para el FreePBX, tendremos que descargar algunas librerias para que funcione con el apache2:
# apt-get install php5 php5-cli php5-mysql php-pear libapache2-mod-php5 php5-curl php5-gd php-db
16

Instalamos la base de datos:
Debemos tener instalada una base de datos para el FreePBX, y el CDR.
#apt-get install mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev
En el proceso de instalacion de nuestra base de datos nos pedira una contraseña para el usuario administrativo.
17

Volvemos a repetir la contraseña.
Creación repositorio local:
Necesitaremos un repositorio local en donde almacenaremos los archivos faltantes de Asterisk, y FreePBX descargados de internet.
#mkdir ~/asterisk
Ahora nos ubicamos dentro del directorio creado:
#cd asterisk
18

Obteniendo Archivos desde Internet:
Procedemos a descargar los archivos desde internet y guardarlos en el directorio antes creado con el comando wget:
#wget http://www.cpan.org/modules/by-category/25_Bundles/Asterisk/asterisk-perl-0.10.tar.gz
Asterisk-perl: Son los módulos de interfaz con el código abierto de Asterisk PBX sistema.
Manejo de archivos de sonido:
Para poder trabajar con archivos de sonido tales como: mp3, mpg… necesitamos algunos ficheros en nuestro sistema, los cuales lo descargaremos con el comando wget:
#wget http://superb-east.dl.sourceforge.net/sourceforge/sox/sox-14.0.0.tar.gz
19

#wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
Paquetes para el FreePBX:
Necesitaremos descargar el paquete que requiere nuestro administrador web para su correcto funcionamiento:
#wget http://easynews.dl.sourceforge.net/sourceforge/amportal/freepbx-2.3.1.tar.gz
20

Archivos Para Asterisk:
Algunos archivos se necesitan para algunas características que nos brinda Asterisk:
#wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.13.tar.gz
#wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.4.5.1.tar.gz
21

#wget http://downloads.digium.com/pub/libpri/releases/libpri-1.4.1.tar.gz
#wget http://downloads.digium.com/pub/asterisk/releases/asterisk-addons-1.4.4.tar.gz
#wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-ulaw-current.tar.gz
22

#wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-ulaw-current.tar.gz
#wget http://downloads.digium.com/pub/telephony/sounds/asterisk-moh-freeplay-ulaw.tar.gz
ZAPTEL 1.4.5.1: Es para el manejo de tarjetas FXO y FXS. LIBPRI 1.4.1: Es para tarjetas digitales. Asterisk 1.4.11: Es la plataforma Asterisk.
23

Asterisk- Addons 1.4.2: Es para el manejo de tareas.
Instalación de archivos descargados:
Después de culminar con las descargas de los archivos, procederemos a la instalación de los mismos, para ello nos ubicamos en la ruta: /usr/scr
# cd /usr/src/
Instalaremos el editor de sonido de Asterisk, que es el lame:
#tar -xvzf ~/asterisk/lame-3.97.tar.gz
# cd lame-3.97
# ./configure --prefix=/usr --sysconfdir=/etc
24

# make && sudo make install
tar -xvzf: Extrae todo los ficheros que se encuentran en el archivo descargado y que está en tar.gz.
./configure: Se encarga de buscar el compilador y los paquetes a compilar, culminada esta tarea crea makefiles.
Make: se usa para las labores de creación de fichero ejecutables para su instalación.
Make install: Ejecuta los ficheros creados por make y los instala.
Manejador de sonidos:
Ahora procedemos a instalar el manejador de sonidos de Asterisk.
# cd /usr/src/
25

# tar -xzvf ~/asterisk/sox-14.0.0.tar.gz
# cd sox-14.0.0
#./configure
#make
26

#make install
Instalacion gateway entre asterisk y FreePBX:
Instalaremos el Gateway entre asterisk y FreePBX:
# tar -xzvf ~/asterisk/asterisk-perl-0.10.tar.gz
27

# cd asterisk-perl-0.10
# perl Makefile.PL
# make all
# make install
28

Antes de instalar el FreePBX
Nos ubicamos en la siguiente ruta:
# cd /usr/src
# tar -xzvf ~/asterisk/freepbx-2.3.1.tar.gz
# cd /usr/src/freepbx-2.3.1
Accedemos a la base de datos Mysql.
# mysql -u root –p
29

Ya dentro de Mysql, ejecutamos el comando show databases; para ver las bases de datos.
mysql> show databases;
Seleccionamos la de mysql.
mysql> use mysql ;
30

Creamos el usuario para la base de datos del conmutador y cdr.
mysql> grant all privileges on *.* to asterisk@localhost identified by “cesar”;
Le damos todos los privilegios administrativos.
mysql> flush privileges;
Salimos de mysql e ingresamos con el usuario anteriormente creado (asterisk).
mysql> exit Ingresamos a mysql como asterisk.
# mysql -u asterisk –p
31

Creamos las bases de datos dentro de la consola de mysql
mysql> create database asteriskcdrdb;
mysql> create database asterisk;
mysql> exit
Copiando esquemas:
Copiaremos los esquemas y la información de los scripts de bases de datos por default de FreePBX
32

# mysql -u asterisk -p asterisk < /usr/src/freepbx-2.3.1/SQL/newinstall.sql
Nos pedirá la contraseña del usuario asterisk.
# mysql -u asterisk -p asteriskcdrdb < /usr/src/freepbx-2.3.1/SQL/cdr_mysql_table.sql
Terminada la configuración de las bases de datos en mysql para asterisk.
Creamos usuario y grupo que manejen los procesos de asterisk:
Creamos el grupo de asterisk.
# groupadd asterisk
33

Creamos usuario
# useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
Nos aparecera que ya existe pero no hay ningún problema.
Agregamos el password para el usuario asterisk.
# passwd asterisk
Creamos el directorio de asterisk en la siguiente ruta: /var/run/asterisk
# mkdir /var/run/asterisk
34

No se puede crear por que ya existe, no hay problema tampoco que nos aparezca este mensaje.
# chown asterisk:asterisk /var/run/asterisk
Configurando apache:
Para poder indicarle a apache que el usuario propietario es asterisk modificamos la siguiente línea: www-data:x:33, en el siguiente archivo:
# emacs /etc/group
La línea modificada debe quedar asi:
www-data:x:33:asterisk
35

Guardamos y salimos del archivo:
Guardar: Ctrl+x ctrl+s salir: ctrl+x ctrl+c
Con el comando find ubicamos el archivo de configuración de apache.
# find /etc/apache2/ -type f | xargs grep Group
Editamos el archive de apache: apache2.conf
# emacs /etc/apache2/apache2.conf
36

Agregamos las siguientes líneas al final del archivo:
User asterisk Group asterisk
Guardamos (ctrl+x ctrl+s) y salimos (ctrl+x ctrl+c).
Cambiamos los permisos para el directorio de sesiones de php.
#chown -R asterisk /var/lib/php5
Editamos el archivo php.ini para aumentar el tamaño de archivos que suben al servidor web, para ello modificaremos los siguientes valores:
upload_max_filesize = 32M max_execution_time = 120
max_input_time = 120
#emacs /etc/php5/apache2/php.ini
37

Creamos un directorio para la instalación de los paquetes de asterisk.
#mkdir /usr/src/asterisk
Accedemos al directorio:
38

#cd /usr/src/asterisk
librerias o drivers para tarjetas line PRI:
#tar zvxf ~/asterisk/libpri-1.4.1.tar.gz
librerias o drivers para tarjetas ZAPTEL
#tar zvxf ~/asterisk/zaptel-1.4.5.1.tar.gz
El PBX Asterisk
#tar zvxf ~/asterisk/asterisk-1.4.13.tar.gz
39

utilerias de asterisk(cdr, rep music on hold. etc)
# tar zvxf ~/asterisk/asterisk-addons-1.4.4.tar.gz
Creamos un directorio para los archivos de sonido IVR, y descomprimimos allí los archivos que anteriormente descargamos.
#mkdir asterisk-sounds
#cd asterisk-sounds
40

#tar zvxf ~/asterisk/asterisk-core-sounds-en-ulaw-current.tar.gz
#tar zvxf ~/asterisk/asterisk-extra-sounds-en-ulaw-current.tar.gz
#tar zvxf ~/asterisk/asterisk-moh-freeplay-ulaw.tar.gz
Compilando archivos:
compilacion de PRI:
#cd /usr/src/asterisk/libpri-1.4.1
41

# make & sudo make install
compilacion de los drivers de Zaptel para el funcionamiento de la tarjeta FXO
#cd /usr/src/asterisk/zaptel-1.4.5.1
#make clean
#make
42

#make install
#make config
compilacion de Asterisk:
#cd /usr/src/asterisk/asterisk-1.4.13
#make clean
43

#./configure
#make
#make install
#make samples
44

#make progdocs
compilacion de Utilerias de Asterisk:
#cd /usr/src/asterisk/asterisk-addons-1.4.4
#make
#make install
45

Copiamos todos los archivos de sonidos descomprimidos previamente al directorio por default de sonidos de asterisk:
#cp -rf /usr/src/asterisk/asterisk-sounds/* /var/lib/asterisk/sounds/
reiniciamos el servidor web apache
# /etc/init.d/apache2 restart
Configurando archivos de asterisk:
Editamos el archivo de configuración de Asterisk: /etc/asterisk/asterisk.conf
46

#emacs /etc/asterisk/asterisk.conf
Cambiamos el directorio de: astrundir => /var/run/ debe quedar así:
astrundir => /var/run/asterisk
Guardamos (ctrl+x ctrl+s) cerramos (ctrl+x ctrl+c).
Asignamos los permisos:
# chown -R asterisk:asterisk /var/run/asterisk
Iniciar Asterisk para poder hacer la instalacion de FreePBX:
# asterisk start
47

Verificar que Asterisk se haya iniciado:
# ps aux | grep asterisk
Instalacion de FreePBX:
Ahora que asterisk está instalado y corriendo en nuestra maquina, pasaremos a instalar el administrador web FreePBX.
# cd /usr/src/freepbx-2.3.1/
Instalamos los paquetes para gestión de bases de datos en PHP:
# pear install db
48

Si nos sale este pantallazo, hacemos lo siguiente:
# mkdir /var/www/asterisk/
# mkdir /var/www/asterisk/cgi-bin
# chown asterisk:asterisk /var/www/asterisk
# ./install_amp
49

Después de ejecutar install_amp pedirá los valores para crear el archivo de configuración.
En primer lugar introducir el usuario de la base de datos que se creó previamente:
Introducir el password del usuario de la base de datos para asterisk que se creó:
Introducir el nombre del servidor de la base de datos, si esta de forma local intoducir localhost de lo contrario introducir la IP o nombre de dominio del servidor de base de datos:
introducir el nombre de usuario del administrador que se usara como admin del AMI de Asterisk
50

Password del usuario admin de AMI, importante para conectar aplicaciones terceras a Asterisk:
Ruta de instalacion del Servidor de Asterisk:
Dirección IP del servidor de Voz sobre IP:
Password para poder operar FOP:
Solo teclear enter para aceptar la opción por default:
Solo teclear enter para aceptar la opción por default:
51

Solo teclear enter para aceptar la opción por default:
Culminado de poner los datos nos aparecera algo similar a esto:
creamos la carpeta donde se almacenaran los sonidos del IVR:
#mkdir /var/lib/asterisk/sounds/custom
configuramos los permisos para el directorio de Asterisk
# chown -R asterisk:asterisk /var/lib/asterisk/
52

Editamos el archivo siguiente: /etc/default/asterisk y agregamos una linea como la que se menciona:
RUNASTERISK=yes
Ejecutamos amportal:
Desde el navegador abrimos el administrador web FreePBX:
53

Por default no nos pedirá un password, pero hay que ir a administradores y cambiar el nombre de usuario y password del administrador
Nos desconectamos del servidor web de FreePBX:
Posteriormente editamos el archivo amportal.conf y cambiamos el valor de AUTHTYPE a database.
54

# emacs /etc/amportal.conf
AUTHTYPE=database
Volvemos a entrar al servidor de FreePBX y ahora nos pedira un login y password, por defecto son:
adminadmin
Ahora tenemos habilitado El conmutador de Voz Sobre IP Asterisk Y el administrador Web de Asterisk FreePBX.
GLOSARIO
Makefiles: Son los paquetes que le dicen a Make cuales archivos compilar y el orden en el que deben ser compilados.
55

FXO: Es un ddispositivo que permite conectar el computador a la RTB, y mediante un software especial, realizar y recibir llamadas de teléfono. Sirve sobre todo para implementar centralitas telefónicas (PBX) con un ordenador.
FXS: Son tarjetas para conectar teléfonos analógicos normales a un ordenador
RTB: Red telefónica básica.
Wget: Es un programa para bajar ficheros desde la línea de comandos tanto para http como ftp.
FreePBX: Es una interfaz grafica, vía web que facilita la gestión y administración de nuestro sistema de telefonía IP basado en Asterisk.
CDR: Se entiende como la bitácora del sistema de comunicaciones, o sea, donde se almacena los sucesos de una comunicación.
CVS: Aplicación que actúa como cliente-servidor para proyectos libres, donde los contribuyentes acceden a la aplicación, sacan una copia del proyecto, hacen sus modificaciones y vuelven a guardar el proyecto con las nuevas características.
Compilar: Proceso de traducir el lenguaje de programación (php, html, java…) comprensible para los humanos en lenguaje de maquina 0 y 1.
Síntesis de voz: Es la producción artificial del habla humana mediante un software o hardware.
IVR: Consiste en un sistema telefónico que es capaz de recibir una llamada e interactuar con el humano a través de grabaciones de voz
FOD: Se trata de una aplicación java, que lee un objeto de formato (FO), y hace que el árbol de las paginas resultantes muestre un determinado producto.
56