Your SlideShare is downloading. ×
Manual De Instalacion De Asterisk
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Manual De Instalacion De Asterisk

66,536
views

Published on

cesarin1227@gmail.com

cesarin1227@gmail.com


13 Comments
23 Likes
Statistics
Notes
No Downloads
Views
Total Views
66,536
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4,843
Comments
13
Likes
23
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. TELEFONIA IP ASTERISK TUTORIAL HECHO POR: CESAR PINEDA GONZALEZ cpineda@huellavirtual.net MEDELLIN ANTIOQUIA 2009 1
  • 2. 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
  • 3. 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
  • 4. 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% 4
  • 5. de lo plasmado en los manuales y es mejor buscar algún tipo de 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 5
  • 6. Ahora si podemos empezar con el proceso de instalación. Actualizando repositorios: • Empezaremos editando el archivo sources.list  con un editor de texto plano: #nano /etc/apt/sources.list • Descomentamos los siguientes repositorios: 6
  • 7. • Agregamos los siguientes repositorios: deb http://us.archive.ubuntu.com/ubuntu/ dapper universe deb-src http://us.archive.ubuntu.com/ubuntu/ dapper univers e • Guardamos ctrl.+ o  y salimos ctrl.+x • Ahora actualizaremos la lista ejecutando el siguiente comando: #apt­get update 7
  • 8. 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: #apt­get install openssl libssl­dev ssh Paquetes de compilacion: 8
  • 9. • 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++ 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: 9
  • 10. #apt­cache search 2.6.27.7 • 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. 10
  • 11. • Lynx: Navegador web de texto (#lynx URL) • Emacs21: Editor de texto potente.   #apt­get install nmap lynx emacs21 Paquetes para el manejo de voz: • Festival: Es un sistema de síntesis de voz. # apt­get install festival festival­dev Instalamos Asterisk: 11
  • 12. • Procedemos a instalar Asterisk desde los repositorios: #apt­get install asterisk 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: 12
  • 13. • Necesitaremos algunos paquetes de comprension para nuestro asterisk: #apt­get install zlib1g zlib1g­dev 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
  • 14. #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: 14
  • 15. • Las tarjetas sangoma son una marca de tarjeta de telefonía IP, por lo que se  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: 15
  • 16. # apt­get install libnet­telnet­perl mime­construct libipc­signal­perl libmime­types­perl  libproc­waitstat­perl 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: 16
  • 17. # apt­get install php5 php5­cli php5­mysql php­pear libapache2­mod­php5 php5­curl  php5­gd php­db 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
  • 18. • 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
  • 19. 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  19
  • 20. wget: #wget http://superb­east.dl.sourceforge.net/sourceforge/sox/sox­14.0.0.tar.gz #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: 20
  • 21. #wget http://easynews.dl.sourceforge.net/sourceforge/amportal/freepbx­2.3.1.tar.gz 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
  • 22. #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­ 22
  • 23. ulaw­current.tar.gz #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. 23
  • 24. • Asterisk 1.4.11: Es  la plataforma Asterisk. • 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
  • 25. # 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: 25
  • 26. • Ahora procedemos a instalar el manejador de sonidos de Asterisk. # cd /usr/src/ # tar ­xzvf ~/asterisk/sox­14.0.0.tar.gz # cd sox­14.0.0 #./configure #make 26
  • 27.  #make install Instalacion gateway entre asterisk y FreePBX: 27
  • 28. • Instalaremos el Gateway entre asterisk y FreePBX: # tar ­xzvf ~/asterisk/asterisk­perl­0.10.tar.gz # cd asterisk­perl­0.10 # perl Makefile.PL # make all # make install 28
  • 29. 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. 29
  • 30. # mysql ­u root –p • Ya dentro de Mysql, ejecutamos el comando show databases; para ver las bases de datos. mysql> show databases; • Seleccionamos la de mysql. 30
  • 31. mysql> use mysql ; • 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. 31
  • 32. # mysql -u asterisk –p • Creamos las bases de datos dentro de la consola de mysql mysql> create database asteriskcdrdb; mysql> create database asterisk; mysql> exit Copiando esquemas: 32
  • 33. • Copiaremos los esquemas y la información de los scripts de bases de datos por  default de FreePBX # 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_tab le.sql • Terminada la configuración de las bases de datos en mysql para asterisk. Creamos usuario y grupo que manejen los procesos de asterisk: 33
  • 34. • Creamos el grupo de asterisk. # groupadd asterisk • Creamos usuario  # useradd ­c quot;PBX asteriskquot; ­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 34
  • 35. # mkdir /var/run/asterisk • 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 35
  • 36. • La línea modificada debe quedar asi: www-data:x:33:asterisk • 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 36
  • 37. # emacs /etc/apache2/apache2.conf • 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: 37
  • 38. upload_max_filesize = 32M  max_execution_time = 120  max_input_time = 120 #emacs /etc/php5/apache2/php.ini • Creamos un directorio para la instalación de los paquetes de asterisk. #mkdir /usr/src/asterisk 38
  • 39. • Accedemos al directorio: #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 39
  • 40. • El PBX Asterisk #tar zvxf ~/asterisk/asterisk­1.4.13.tar.gz • 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
  • 41. #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: 41
  • 42. • compilacion de PRI: #cd /usr/src/asterisk/libpri-1.4.1 # 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 42
  • 43. #make #make install #make config • compilacion de Asterisk: #cd /usr/src/asterisk/asterisk-1.4.13 #make clean 43
  • 44. #./configure #make #make install 44
  • 45. #make samples #make progdocs  compilacion de Utilerias de Asterisk: #cd /usr/src/asterisk/asterisk­addons­1.4.4 #make 45
  • 46.  #make install • 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 46
  • 47. Configurando archivos de asterisk: • Editamos el archivo de configuración de Asterisk: /etc/asterisk/asterisk.conf #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 47
  • 48. • Iniciar Asterisk para poder hacer la instalacion de FreePBX: # asterisk start • 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/ 48
  • 49. • Instalamos los paquetes para gestión de bases de datos en PHP: # pear install db • Si nos sale este pantallazo, hacemos lo siguiente: # mkdir /var/www/asterisk/ # mkdir /var/www/asterisk/cgi­bin # chown asterisk:asterisk /var/www/asterisk 49
  • 50. # ./install_amp • 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: 50
  • 51.  introducir el nombre de usuario del administrador que se usara como admin del  AMI de Asterisk • 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: 51
  • 52. • Solo teclear enter para aceptar la opción por default: • 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 52
  • 53. • configuramos los permisos para el directorio de Asterisk # chown -R asterisk:asterisk /var/lib/asterisk/ • Editamos el archivo siguiente: /etc/default/asterisk   y agregamos una linea como  la que se menciona: RUNASTERISK=yes • Ejecutamos amportal: 53
  • 54.  Desde el  navegador abrimos el administrador web FreePBX: • 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: 54
  • 55. • Posteriormente editamos el archivo amportal.conf y cambiamos el valor de  AUTHTYPE a database. # emacs /etc/amportal.conf AUTHTYPE=database  Volvemos a entrar al servidor de FreePBX y ahora nos pedira un login y  password, por defecto son: admin admin  Ahora tenemos habilitado El conmutador de Voz Sobre IP Asterisk Y el  administrador Web de Asterisk FreePBX. 55
  • 56. GLOSARIO Makefiles: Son los paquetes que le dicen a Make cuales archivos compilar y el  orden en el que deben ser compilados. 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