Instalacion y Configuracion de Asterisk (1) (1)

14
Mayo 2015 Ing. Michael Dávila Página 1 Curso 2: Instalación y configuración de Asterisk · Programa de Especialista en Telefonía IP con Asterisk · Presentación: El objetivo del curso es conocer el proceso de implementación del servicio telefónico IP basado en software libre, con el soporte de funcionalidades y servicios que permitan la comunicación entre usuarios, considerando la extensión del servicio telefónico hacia otras centrales a través de la configuración de troncales Logros al Finalizar el Programa: Al finalizar el curso el estudiante habrá logrado: 1. Identificar requisitos básicos de hardware y software para el uso de centrales telefónicas IP basadas en software libre 2. Seleccionar servicios y funcionalidades de centrales telefónicas IP basadas en software libre 3. Estructurar el plan de numeración telefónico 4. Instalar software con funcionalidades de central telefónica IP 5. Configurar funcionalidades básicas en una central telefónica IP y teléfonos IP 6. Planificar extensión de servicio de telefonía a través de troncales

description

Curso

Transcript of Instalacion y Configuracion de Asterisk (1) (1)

  • Mayo 2015

    Ing. Michael Dvila Pgina 1

    Curso 2: Instalacin y configuracin de Asterisk

    Programa de Especialista en Telefona IP con Asterisk

    Presentacin:

    El objetivo del curso es conocer el proceso de implementacin del servicio

    telefnico IP basado en software libre, con el soporte de funcionalidades y servicios

    que permitan la comunicacin entre usuarios, considerando la extensin del

    servicio telefnico hacia otras centrales a travs de la configuracin de troncales

    Logros al Finalizar el Programa:

    Al finalizar el curso el estudiante habr logrado:

    1. Identificar requisitos bsicos de hardware y software para el uso de

    centrales telefnicas IP basadas en software libre

    2. Seleccionar servicios y funcionalidades de centrales telefnicas IP basadas

    en software libre

    3. Estructurar el plan de numeracin telefnico

    4. Instalar software con funcionalidades de central telefnica IP

    5. Configurar funcionalidades bsicas en una central telefnica IP y telfonos

    IP

    6. Planificar extensin de servicio de telefona a travs de troncales

  • Mayo 2015

    Ing. Michael Dvila Pgina 2

    Contenido Temtico:

    Tema 1: Instalacin de Asterisk

    Tema 2: Configuracin de telfonos IP utilizando el protocolo SIP

    Tema 3: Estructuracin de plan de numeracin

    Tema 4: Interconexin de dos servidores Asterisk

    Tema 5: Configuracin de telfonos analgicos

    Tema 6: Configuracin de troncales analgicas y digitales

    Tema 7: Ruteo de llamadas

    Tema 8: Grabacin de llamadas

    Tema 9: Correo de voz

    Tema 10: Salas de conferencia

    Tema 11: Parqueo de llamadas

    Tema 12: IVR (Interactive Voice Response), ACD (Automatic Call Distribution)

    Juan Michael Dvila Galindo. Ingeniero de Sistemas

    Gmail :[email protected] Rpc : 991688428

  • Mayo 2015

    Ing. Michael Dvila Pgina 3

    Instalacin de Asterisk(Tema 1)

    El programa de software Asterisk fue desarrollado por Mark Spencer, por entonces estudiante de ingeniera informtica en la Universidad de Auburn, Alabama. Mark haba creado en 1999 la empresa "Linux

    Support Services" con el objetivo de dar soporte a usuarios de

    GNU/Linux. Para ello necesitaba una central telefnica, pero ante la imposibilidad de adquirirla dados sus elevados precios, decidi construir

    una con un PC bajo Linux, utilizando lenguaje C.

    Posteriormente "Linux Support Services" se convertira en el ao 2001 en "Digium", redirigiendo sus objetivos al desarrollo y soporte de

    Asterisk.

    Una vez que sepas qu es Asterisk, podemos ver cmo se instala.

    Contenido

    Qu necesitamos

    LINUX

    DAHDI

    LibPRI

    Asterisk

    Qu necesitamos

    Para instalar cualquier aplicacin, es imprescindible prestar atencin a

    las cosas que necesitamos:

    1. Un sistema con sistema operativo Linux

    2. Libreras necesarias

    3. Aplicaciones necesarias

    4. Otros paquetes opcionales

    Asterisk est formado por paquetes:

    DAHDI

    LibPRI

  • Mayo 2015

    Ing. Michael Dvila Pgina 4

    Asterisk

    Primero Instalar LINUX (Centos 7)

    Para administrar los servicios del servidor Centos en Windows se usa el programa PUTTY

    Se Descarga de

    http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

    -----------------------------------------------------------------------

    Para administrar los archivos del servidor Centos se usa el Programa WinSCP.exe

    Se Descarga de

  • Mayo 2015

    Ing. Michael Dvila Pgina 5

    http://sourceforge.net/projects/winscp/files/WinSCP/5.7.3/winscp573set

    up.exe/download?use_mirror=ufpr&download=

    Actualizando el Servidor

    (Antes de instalar hay q actualizar el servidor)

    yum update -y

    Esto se hace desde PUTTY

    Recordar q hay q Deshabilitar 2 servicios el selinux y el firewal linux

    para el firewall

    systemctl mask firewalld

    service firewalld stop

    chkconfig firewalld off

    Esto se hace desde PUTTY

    para el selinux

    vi /etc/selinux/config

    Presionar el boton insertar en el teclado de la PC para poder escribir

    Ojo no deshabilitar la ltima fila cambiar la fila del centro la que dice

    SELINUXTYPE=disabled

    Luego presionar

    escape :wq

  • Mayo 2015

    Ing. Michael Dvila Pgina 6

    luego reiniciar el servidor

    init 6

    Instalando Dependencias para Asterisk

    Instalar estas dependencias para Asterisk en PUTTY con estos comandos

    yum install -y make wget openssl-devel ncurses-devel newt-devel libxml2-devel kernel-devel gcc gcc-c++ sqlite-devel libuuid-devel

    ir a la carpeta de Recursos con el comando cd para descargar Asterisk y sus Componentes

    cd /usr/src/

  • Mayo 2015

    Ing. Michael Dvila Pgina 7

    wget http://downloads.asterisk.org/pub/telephony/libp

    ri/libpri-1.4-current.tar.gz

  • Mayo 2015

    Ing. Michael Dvila Pgina 8

    cd ..

    Entramos a la carpeta dahdi

    cd /usr/src/dah*

  • Mayo 2015

    Ing. Michael Dvila Pgina 9

    asterisk rvvv

    Configuracin de Telfonos Ip Utilizando SIP(Tema2)

    Para configurar los Telefonos Ip ir a la ruta etc/asterisk/sip.conf para las carpetas y textos de configuraciones usar el WinScp

    Configuracin Bsica del Protocolo SIP

    [general]

    disallow=all

    allow=ulaw

    allow=alaw

    allow=g729

    allow=gsm

    language=es

    [10]

    callerid="Oficina"

    type=friend

    secret=4st3r1skmichael

    qualify=yes

    nat=no

    host=dynamic

  • Mayo 2015

    Ing. Michael Dvila Pgina 10

    canreinvite=no

    context=local

    mailbox=10@michaelbuzon

    callgroup=1

    pickupgroup=1

    Asterisk Necesita tener un plan de Discado

    Para configurar un plan de Discado ir a la ruta etc/asterisk/extensions.conf para las carpetas y textos de

    configuraciones usar el WinScp

    Configuracin Bsica del Protocolo SIP

    [General]

    [default]

    exten => s,1,congestion

    exten => s,2,Hangup

    [local]

    exten => 10,1,Dial(SIP/10,20)

    exten => 10,2,Hangup

    Estructuracin de Plan de Numeracin (Tema3)

    El plan de marcacin o Dial Plan, es el corazn de toda configuracin en asterisk, y de esta configuracin depender el performace y eficiencia

    de nuestra central telefnica.

    Para poder personalizar la central a gusto se deber comprender plenamente el funcionamiento del plan de marcacin de asterisk

    Sintaxis:

  • Mayo 2015

    Ing. Michael Dvila Pgina 11

    El plan de marcacin se configura en el archivo extensions.conf, este

    archivo reside usualmente en la carpeta /etc/asterisk/

    El dial plan est compuesto de 04 conceptos principalmente:

    - Contextos - Extensiones

    - Prioridades - Aplicaciones

    CONTEXTOS:

    El dial plan se divide en secciones llamadas contextos, los contextos son nombres para un grupo de extensiones, las cuales pueden tener

    diferentes propsitos. Los contextos tambin pueden interactuar entre ellos.

    Los contextos se denotan escribiendo el nombre del contexto entre

    corchetes [nombre_de_contexto].

    Durante la creacin de una extensin (sip.conf, iax.conf, etc) se define a

    que contexto pertenece.

    p.e. context=from-internal

    Todas las instrucciones por debajo del nombre del contexto son asignadas a ese mismo contexto hasta que un nuevo contexto sea

    declarado.

    Al inicio del archivo extensions.conf, existen dos contextos especiales

    -[General] -[Globals]

    La seccin general, contiene los parmetros generales del dial plan.

    La seccin globals, contiene las variables globales del sistema, las cuales irn siendo utilizadas por los contextos siguientes.

    EXTENSIONES:

    Normalmente conocemos con el nombre de extensin, al nmero que se le asigna a los terminales telefnicos, sin embargo en asterisk una

    extensin es mucho mas que un nmero _ telefnico, ya que define una serie de pasos (donde cada paso contiene una aplicacin) que asterisk

    realizara durante una llamada.

  • Mayo 2015

    Ing. Michael Dvila Pgina 12

    La sintaxis usada para declarar una extensin es la palabra exten, seguido de una flecha formada por una signo igual y un signo mayor

    p.e. exten =>

    Esto va seguido por el nmero de la extensin.

    exten => name,priority,application()

    Una extensin completa est compuesta de:

    El nombre (o nmero ) de la extensin.

    La prioridad (cada extensin puede incluir mltiples pasos, el nmero

    del paso es llamado prioridad)

    La aplicacin (o comando) es el que realiza la accin en la llamada.

    PRIORIDADES:

    Cada extensin puede tener mltiples pasos, llamados prioridades, cada prioridad es numerada secuencialmente, comenzando con 1, y

    ejecutando una aplicacin especfica.

    Existe un tipo de prioridad no numerada que se representa con la letra n y permite evitar problemas generados por la numeracin secuencial.

    Esta prioridad no numerada significa que cada prioridad es igual a la prioridad anterior +1

    Por lo tanto: n=n+1 p.e. exten => 123,1,Answer()

    exten => 123,n,do something exten => 123,n,do something else

    exten => 123,n,do one last thing

    exten => 123,n,Hangup()

    PRIORIDADES - ETIQUETAS:

    Desde asterisk 1.2, es muy comn asignar etiquetas de texto (labels), a

    las prioridades. Esto es para asegurarnos que podremos referirnos a esa prioridad por un valor distinto a su nmero, el cual probablemente no se

    conozca (prioridad n), y dado que actualmente el uso de prioridades no numeradas es muy usual en el diseo de una dial plan.

  • Mayo 2015

    Ing. Michael Dvila Pgina 13

    Para asignar una etiqueta de texto a una prioridad, solo basta con agregarla entre parntesis justo despus del nmero de la prioridad.

    p.e. exten => 123,n(label),application()

    APLICACIONES:

    Las aplicaciones son el caballito de batalla del dial plan, cada aplicacin realiza una accin especfica sobre el canal actual, como por ejemplo,

    tocar una meloda, aceptando entradas de tono, marcar un canal, colgar una llamada, y as sucesivamente.

    Algunas aplicaciones como Answer() o Hangup(), no requieren mayor

    informacin para hacer su trabajo, sin embargo existen otras aplicaciones que si requieren de cierta informacin adicional para

    procesarla, a esta informacin adicional se le conoce como parmetros, y para pasarle los parmetros a la aplicacin deben colocarse entre los

    parntesis.

    Ocasionalmente podramos ver el pipe entre los parntesis, y es que

    este signo es utilizado para separar mas de un parmetro.

    CONSTRUYENDO UN DIAL PLAN SIMPLE: Answer(), Playback(), Hangup()

    Vamos a construir un dial plan que consista en que , asterisk contesta la

    llamada, toca una meloda, y luego cuelga. Para este ejemplo vamos a asumir que ya hemos creado la extensin y

    que tiene como nombre de contexto from-internal

    Para la construccin de este dial plan utilizaremos las siguientes aplicaciones:

    Answer() Playback()

    Hangup()

    Answer(), es la aplicacin que se utiliza para que la central conteste una llamada que esta timbrando.

    Se puede utilizar al inicio de la configuracin del contexto para una

    extension, pero en algunas ocasiones no es necesario.

  • Mayo 2015

    Ing. Michael Dvila Pgina 14

    Como ya mencionamos, Anwser() no tiene argumentos

    Playback(), es la aplicacin que se utiliza para reproducir un sonido

    grabado previamente en un archivo o a travs de un canal.

    Cuando utilizamos playback, las entradas (inputs) del usuario desde la

    extension son ignoradas.

    Para utilizar playback() se debe ingresar el nombre del archivo sin la extension (p.e. .wav o .mp3) como argumento entre los parntesis.

    Por defecto playback buscara el archivo ingresado como argumento en

    la ruta /var/libs/asterisk/sounds

    Si se desea hacer referencia a un archivo ubicado en otra ruta, se deber ingresar la ruta completa entre los parntesis

    Playback(/home/john/sounds/filename)

    Lo mas comun es crear una carpeta para estos archivos dentro de la ruta por defecto

    Playback(custom/filename)

    Ahora si vamos a crear nuestro dial plan

    [from-internal]

    exten => 1234,1,Answer() exten => 1234,n,Playback(hello-world)

    exten => 1234,n,Hangup()