Instalacion de Asterisk y Configuracion Cuenta SIP

16
PROGRAMA DE FORMACION REGULAR REDES Y COMUNICACIONES DE DATOS LABORATORIO 08 Instalación de Asterisk y configuración de cuentas SIP

description

Instalacion de Asterisk y Configuracion Cuenta SIP MUY BUENO RECOMENDADO

Transcript of Instalacion de Asterisk y Configuracion Cuenta SIP

Page 1: Instalacion de Asterisk y Configuracion Cuenta SIP

PROGRAMA DE FORMACION REGULAR

REDES Y COMUNICACIONES DE DATOS

LABORATORIO 08

Instalación de Asterisk y configuración de cuentas SIP

Page 2: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

LABORATORIO 08

INSTALACIÓN DE ASTERISK v 1.8

Objetivos

Instalar correctamente un servidor de comunicaciones con software libre basado en Asterisk versión 1.8.X

Iniciar y ejecutar acciones de arranque y parada de Asterisk. Utilizar la Línea de Comandos (CLI) de Asterisk. Configurar anexos SIP : Teléfonos IP, Teléfonos Analógicos a través de un ATA y

Softphone en Linux

Equipos, Materiales, Programas y Recursos

Una computadora con SO Linux con Kernel y sus propias fuentes superior a 2.6 Paquetes para la instalación : asterisk, dahdi-linux-complete y libpri Acceso a Internet desde la computadora Teléfonos IP ATA Grandstream HT-502 Softphone

Introducción

En este laboratorio instalaremos un Servidor de Comunicaciones Asterisk versión 1.8 en una PC con Sistema Operativo Linux CentOS 5. Reconoceremos los principales directorios de operación de Asterisk y de DAHDI. Aprenderemos a ingresar a la interfaz de administración del servidor Asterisk. Se realizarán las primeras pruebas iniciales de comunicación entre 02 anexos registrados en nuestro servidor.

Seguridad

Ubicar maletines y/o mochilas en el gabinete al final de aula de Laboratorio. No ingresar con líquidos ni comida al aula de Laboratorio. Tener cuidado en conectar los equipos utilizando cable y enchufes en buen estado. Asegurarse de conectar y desconectar los dispositivos cuando estén apagados y con

su fuente de poder correspondiente. Al culminar la sesión de laboratorio, apagar correctamente la computadora y el

monitor. Bajo la orientación del instructor, guarde los equipos utilizados en los armarios

correspondientes.

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 2

Page 3: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

Procedimiento

Pasos Previos:

1. Instalar el Sistema Operativo Linux CentOS 5.x

2. Instalar el último kernel de nuestra distribución y las fuentes del kernel actualizado.

# yum install kernel kernel-devel –y

3. Reiniciar y bootear con el nuevo kernel instalado.

4. Actualizar el Sistema Operativo Base

# yum update

Is this ok [y/N] : y

Si pregunta para aceptar la llave GPGKey presionar “y”. Esperar que bajen los paquetes de actualización y que se instalen. Cuando esto termine ya tendrás actualizado el Sistema Operativo CentOS base.

5. Desactivar el FIREWALL IPTABLES

Ingresar con el usuario: root y password : tecsup Verificar si el firewall iptables está ejecutándose

# service iptables status

Para el firewall iptables y evitar que se inicie cuando iniciemos nuevamente el servidor.

# service iptables stop# chkconfig iptables off

Comprobamos que el firewall iptables no esté ejecutándose. # service iptables status

6. Deshabilitar SELINUX (Secure Enhanced LINUX)

# vi /etc/selinux/config..SELINUX = disabled..SELINUXTYPE = targeted

7. Verificar los parámetros de red de nuestro Servidor Asterisk

Ejecutar el siguiente comando y anotar la dirección IP. # ifconfig

Dirección IP: ________________________________

8. Compruebe si tiene conexión a Internet. En caso contrario realice los cambios necesarios para tener acceso a Internet. Este paso es obligatorio para la correcta instalación de Asterisk.

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 3

Page 4: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

Instalación del Servidor de Comunicaciones Asterisk

9. Habilitar NTP para asegurar la hora del sistema

# yum install ntp –y# ntpd

El comando ntpd es realizado para asegurar que la hora en el servidor Asterisk permanece sincronizado con el resto del mundo. Importante para las aplicaciones voicemail y cdr (call detailed records).

10. Instalar las siguientes dependencias de ASTERISK, LIBPRI y DAHDI.

# yum install gcc ncurses ncurses-devel make gcc-c++ libtermcap libtermcap-devel zlib zlib-devel libtool bison bison-devel openssl-devel bzip2 bzip2-devel wget newt newt-devel libxml2 libxml2-devel -y

i. gcc (requerido para la compilación de Asterisk, DAHDI y Libpri)ii. gcc-c++ (idem a 1)iii. make (conduce el proceso de instalación)iv. wget (utilizado para descargar archivos desde internet)v. libxml2-devel (utilizado para mostrar la información de ayuda en el CLI)vi. ncurses-devel (usado por menuselect y otros menues de consola)vii. newt-devel (utilizado por dahdi_tool)

11. Verificar que se hayan instalado las dependencias anteriores.

Ejemplo. Para verificar que se haya instalado el paquete make ejecutamos el siguiente comando :

# rpm –qa | grep make

Realizar lo mismo para todas las dependencias instaladas.

12. Compilar la librería libSRTP para que Asterisk tenga el soporte de SRTP

# wget http://srtp.sourceforge.net/srtp-1.4.2.tgz# tar -zxvf srtp-1.4.2.tgz# cd srtp# CFLAGS="-Wall -O4 -fexpensive-optimizations -funroll-loops -fPIC" ./configure

(el anterior commando es una sola linea)# make && make install# make runtest

13. Instalar el soporte para trabajar con aplicaciones web php

# yum install mysql mysql-server mysql-devel -y# yum install httpd php php-mysql php-gd -y

14. Levantar los servicios y hacerlos permanentes.

# service mysqld start # service httpd start # chkconfig mysqld on # chkconfig httpd on

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 4

Page 5: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

Nota : Todas las dependencias deben estar instaladas sino tendrá problemas al momento de compilar Asterisk.

15. Descargar los paquetes necesarios para instalar Asterisk

a) Desde internet:

# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.X.tar.gz

# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.5.0+2.5.0.tar.gz

# wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.12.tar.gz

b) Desde la PC del instructor dentro de la red del laboratorio

# scp –r root@IP_PC_INSTRUCTOR:/usr/src/*.gz /usr/src/

16. Descomprimir y desempaquetar cada paquete dentro del directorio /usr/src

Ingresar al directorio /usr/src y descomprimimos/desempaquetamos cada uno.

# cd /usr/src

# tar -zxvf asterisk-1.8.X.tar.gz

# tar -zxvf dahdi-linux-complete-2.5.0+2.5.0.tar.gz

# tar -zxvf libpri-1.4.12.tar.gz

17. Compilación e instalación de los 04 paquetes

Instalación de las librerías para Telefonía Digital ISDN

# cd libpri-1.4.12# make clean# make# make install

Instalación de los controladores de hardware de telefonía marca Digium (asegúrese que dispone de conexión a internet puesto que DAHDI intentara descargar los últimos firmwares)

# cd dahdi-linux-complete-2.5.0+2.5.0# make clean# make# make install# make config

Instalar el paquete subversion y habilitar el soporte para mp3

# yum install subversión –y

# cd /usr/src/asterisk-1.8.X# sh contrib/scripts/get_mp3_source.sh

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 5

Page 6: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

Instalación de Asterisk

# cd asterisk-1.8.X# make clean# ./configure# make menuselect(Habilitar en Add-ons app-mysql, app_saycountpl, cdr_mysql, format_mp3, res-config_mysql luego ir a Extras Sound Packages y seleccionar EXTRA-SOUNDS-EN-GSM).Validar queen Asterisk Module and Build Option Selection esté marcado con “*” el modulo res_srtp

Luego : Save & Exit

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 6

Page 7: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

# make

# make install# make samples# make config

Iniciando Asterisk:

Asterisk puede ser iniciado de diferentes formas:

18. Arranque de Asterisk en primer plano o ligado a una sesión de usuario:# asterisk -vvvvvc

Aparecerá una serie de información acerca del inicio de asterisk y la consola de comandos de asterisk: CLI>

Podemos ejecutar nuestro primer comando en el CLI de asterisk CLI> core show versión

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 7

Page 8: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

¿Qué muestra el anterior comando?

Para obtener información sobre el proceso en ejecución, abra otra ventana de comandos y utilice el siguiente comando. Registre los resultados:#ps -aux | grep asterisk

PID (de Asterisk): _______________

OWNER (de Asterisk): ________________

Regresar a la ventana de comandos donde se esta ejecutando asterisk y detener el servicio ejecutando el siguiente comando:CLI> core stop now

19. Si Asterisk pudo ejecutarse en primer plano, intente ahora iniciarlo como servicio y en segundo plano:

# service asterisk start

Conéctese ahora remotamente a la consola de Asterisk:

# asterisk -rrrr

Para salir de la consola, si detener el servicio, ejecute:

CLI> quit

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 8

Page 9: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

Para detener el servicio:

# service asterisk stop

Arranque ‘en producción’ de los servicios de comunicaciones:

20. Para un funcionamiento en producción recuerde siempre que deben iniciarse primero los controladores de hardware (DAHDI) y luego recién Asterisk. Las librerías de LibPRI no necesitan iniciarse luego de haberse instalado.

Líneas arriba, cuando ejecuto ‘make config’, DAHDI y Asterisk han generado archivos de inicialización que han sido copiados en /etc/init.d/

Iniciar el servicio DAHDI

# service dahdi start

Iniciar el servidor de comunicaciones Asterisk

# service asterisk start

Directorios y archivos de instalación y configuración:

21. Ubique los archivos de configuración de Asterisk:Ingrese a /etc/asterisk/ y visualice los archivos de configuración.

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 9

Page 10: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

22. En caso que no se encuentren los archivos de configuración, instale los archivos de ejemplo. Ingresar al directorio de las fuentes de asterisk y ejecutar make samples.

# cd /usr/src/asterisk-1.8.X# make samples

23. Ingrese a las carpetas /etc/dahdi/ y /etc/asterisk/ y ubique los archivos: system.conf, chan_dahdi.conf, extensions.conf, sip.conf, iax.conf, asterisk.conf, modules.conf. Anotar lo siguiente:

En /etc/dahdi/ :

Archivo que indica la configuración del hardware:

En /etc/asterisk/ :

Archivo de configuración general de Asterisk:

Archivo que indica los módulos a inicializar:

Archivo que indica los tipos de música en espera:

Archivo de configuración de los usuarios SIP:

Archivo de configuración de los usuarios IAX:

Archivo de configuración telefonía analógica y digital:

24. Abrir el archivo asterisk.conf, visualice los directorios del sistema y regístrelos:

# vi asterisk.conf

Directorio de Archivos de Configuración:

Directorio de Módulos Activos:

Directorio de Variables de Estado:

Directorio Archivos Registro de Eventos:

Ingrese a los directorios encontrados en el archivo de configuración y compruebe el contenido.

Primeros comandos en el CLI : Command Line Interface

25. Iniciar asterisk como servicio, una vez iniciado ingresar a la interfase de Línea de Comandos

# service asterisk start

# asterisk -rrrr

26. Utilizar el comando help para ver la ayuda

CLI> help

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 10

Page 11: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

27. Ver la versión de asterisk:CLI>core show version

28. Ver los CODECs disponibles:CLI>core show codecs

29. Ver el plan de discado:CLI>dialplan show

Configurando y registrando anexos SIP

Procederemos a realizar una configuración básica con el softphone SIP Sjphone

30. Renombre los archivos de configuración actuales y escriba nuevas configuraciones:

# cd /etc/asterisk/

# mv sip.conf sip.conf.old

# mv extensions.conf extensions.conf.old

# vi sip.conf

[general]

[101]type=friendcontext=internalhost=dynamicsecret=1234disallow=allallow=ulawallow=alaw

[102]type=friendcontext=internalhost=dynamicsecret=1234disallow=allallow=ulawallow=alaw

[103]type=friendcontext=internalhost=dynamicsecret=1234disallow=allallow=ulaw

allow=alaw

Recargar la configuración del sip.conf

CLI> sip reload (recarga la configuración del modulo chan_sip.so)

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 11

Page 12: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

Mostrar las cuentas SIP configuradas

CLI>sip show peers

Debe obtener un resultado similar al ejemplo que sigue:Name/username Host Dyn Nat ACL Port Status101/101 192.168.12.x D N 5060

Unmonitored102/102 192.168.12.y D N 5060 Unmonitored103/103 192.168.12.y D N 5060

Unmonitored

31. Configurando nuestro primer DIALPLAN

# vi extensions.conf

[general]

[internal]

exten => 101,1,Dial(SIP/101,20,Ttr)exten => 101,n,Hangup()

exten => 102,1,Dial(SIP/102,20,Ttr)exten => 102,n,Hangup()

exten => 103,1,Dial(SIP/102,20,Ttr)exten => 103,n,Hangup()

exten => 2000,1,Playback(one-small-step2)exten => 2000,n,Hangup()

RECARGAR EL MODULO pbx_config.so

CLI>dialplan reload

MOSTRAR EL DIALPLAN ACTUAL

CLI>dialplan show

32. Instale el Softphone Sjphone y configure una de las cuentas SIP.

33. Configurar otra cuenta SIP destinada para un Teléfono IP y la tercera para un teléfonos analógico.

34. Verificar el registro del teléfono SIP.

CLI> sip show peers

Anote el resultado

35. Aumentar el grado de verbosidad de la salida en el CLI. Utilizar el siguiente comando:

CLI> core set verbose 5

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 12

Page 13: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

36. Realice llamadas entre los anexos SIP configurados. Observe lo que sucede en la interfase CLI. Anotar sus interpretaciones.

Nota : Si ha enlazado una llamada permanezca conectada, no cuelgue aun.

37. Ejecute en el CLI

CLI>core show channels

38. Cuelgue la llamada en alguno de los teléfonos:

Identificación del ID de una llamada

39. Realice una nueva llamada al anexo 102. Identifique el ID de la llamada en el CLI de Asterisk.Anote el ID de la llamada actual.

Matar una llamada desde el CLI de Asterisk

CLI> soft hangup SIP/102-xxxxxxxxx

REINICIANDO Y DETENIENDO ASTERISK MIENTRAS SE ESTÁ CURSANDO LLAMADAS

40. Realice nuevamente una llamada entre los teléfonos SIP. No cuelgue.

41. En la consola de comandos detener el servidor asterisk con el comando:CLI>core stop gracefully

Registre lo ocurrido.

__________________________________________________________________

42. Cuelgue el teléfono observando la consola de comando de asterisk. Registre lo ocurrido.

43. Repetir los últimos tres pasos esta vez utilizando el comando: core restart gracefully.

EJECUTAR COMANDOS ASTERISK DESDE EL SHELL DE LINUX

Para ejecutar comandos de asterisk desde el shell utilizamos el comando asterisk con la opción x.

44. Recargar la configuración de asterisk.# asterisk –rx “reload”

45. Obtenga la información de las cuentas SIP# asterisk –rx “sip show peers”

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 13

Page 14: Instalacion de Asterisk y Configuracion Cuenta SIP

Instalación de Asterisk versión 1.8.X Instalación y Configuración de Asterisk

46. Detener Asterisk

# asterisk –rx “core stop now”

OBSERVACIONES y CONCLUSIONES_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Ing. CIP Adolfo Cáceres Luque | [email protected]ág. 14