laboratorio 2v0

Author: daniel-portero

Post on 05-Apr-2018

216 views

Category:

Documents


0 download

Embed Size (px)

TRANSCRIPT

  • 7/31/2019 Laboratorio 2v0

    1/12

    Laboratorio #2 Comunicacin de VoIP SIP a travs de Asterisk

    Contenido:

    1- Introduccin de Asterisk como una soft-PBX.

    2- Instalacin de Asterisk a travs de un repositorio.

    3- Configuracin bsica de Asterisk para lograr comunicaciones empleando a SIP como

    protocolo de sealizacin.

    4- Capturar paquetes SIP y RTP, para su anlisis posteriormente.

    Objetivos:

    1- Conocer a Asterisk como ejemplo de soft-PBX.

    2- Dominar la configuracin bsica para lograr comunicaciones SIP.

    3- Comprobar los conocimientos adquiridos en conferencias acerca del intercambio de

    mensajes SIP para establecer sesiones de comunicacin.

    Desarrollo:

    En el presente laboratorio se trabajar con una mquina virtual (MV) (Ubuntu 10.04 server) que ya

    posee instalado Asterisk, configurado el fichero /etc/resolv.conf para el trabajo en la red con el

    servidor DNS de la Cujae y el repositorio (/etc/apt/sources.list) con el propsito de ganar

    tiempo.

    A la misma se le debe configurar la red (por la va empleada la red debe ser configurada cada vez

    que se inicie la MV):

    - La IP y mscara:

    ifconfig eth0 192.168.0.12 netmask 255.255.255.0 up

    La ruta por omisin:

    route add default gw 192.168.0.1

  • 7/31/2019 Laboratorio 2v0

    2/12

  • 7/31/2019 Laboratorio 2v0

    3/12

    Un canal es el equivalente a una lnea telefnica o a un troncal en la forma de un circuito de vozdigital. Este generalmente consiste de una seal analgica en un sistema POTS o alguna

    combinacin de CODEC y protocolos de sealizacin (GSM con SIP, Ulaw con IAX). En un

    principio las conexiones de telefona eran siempre analgicas y por eso, ms susceptibles a ruidosy ecos. Ms recientemente, buena parte de la telefona pas para el sistema digital, donde la seal

    analgica es codificada en forma digital usando normalmente PCM. Existen canales para la PSTN

    y la ISDN, para VoIP (SIP, H.323, IAX) e internos para la gestin de la PBX.

    Asterisk soporta los siguientes CODECs: G.711 ulaw (usado en EUA) (64 Kbps).

    G.711 alaw (usado en Europa y Brasil) (64 Kbps).

    G.723.1 Modo Pass-through G.726 - 32kbps en Asterisk1.0.3, 16/24/32/40kbps

    G.729 Precisa adquisicin de licencia, a menos que est siendo usado en modo passthru.

    (8Kbps) GSM (12-13 Kbps)

    iLBC (15 Kbps)

    LPC10 - (2.5 Kbps)

    Speex - (2.15-44.2 Kbps)Asterisk soporta:

    SIP

    H323

    IAXv1 y v2 MGCP

    SCCP (Cisco Skinny).

    2- Instalacin del Asterisk:

    Se actualiza y se upgradea con los comandos: apt-get update y apt-get upgrade (en caso de

    requerir los permisos necesarios comenzar con sudo).

  • 7/31/2019 Laboratorio 2v0

    4/12

    En este punto ya se puede comenzar a instalar:

    sudo apt-get install asterisk

    La instalacin debe haber sido exitosa. La PC en donde haya sido instalado debe ser reiniciada.

    En la MV dada Asterisk se encuentra configurado para que cada vez que la MV se iniciada

    automticamente el Asterisk se inicie.

    Para comprobar que el Asterisk est corriendo ejecutamos:

    ps A | grep Asterisk

    Cuya respuesta de estar activo Asterisk debe ser algo parecido a:

    2865 ? 00:00:00:00 asterisk

    En donde 2865 es el identificador del proceso asignado a Asterisk.

    Asterisk posee su programa binario que se ejecuta cada vez que se inicia el servidor Asterisk y que

    se realice una conexin al mismo para su gestin. Este programa posee 2 modos: modo

    operationserver y modo client. El servidor es la instancia del Asterisk que se mantiene

    corriendo todo el tiempo, manejando las llamadas, almacenando los mensajes de voz, etc. La

    instacia cliente permite monitorear y manipular al servidor mientras corre.

    Para iniciar el modo servidor se ejecuta:

    sudo asterisk &

    o

    sudo asterisk -cvvv

    Una vez iniciado el servidor, se puede conectar el modo cliente:

    sudo asterisk -rvvv

    A partir de este momento se estar trabajando en la interfaz CLI del Asterisk. Se puede trabajar

    desde esta interfaz o desde la CLI del SO empleado en la MV. En este laboratorio emplearemos la

    interfaz CLI del Asterisk, ya que es el aconsejado por la bibliografa.

    3- Establecimiento de una sesin de comunicacin a travs de Asterisk, empleando como

    protocolo de sealizacin a SIP:

    En este ejercicio como el enunciado indica emplearemos canales SIP. Los canales SIP se

    configuran en el archivo sip.conf (/etc/asterisk/sip.conf), en donde en realidad lo que se hace es

    crear y configurar los usuarios que trabajarn con este protocolo de sealizacin.

  • 7/31/2019 Laboratorio 2v0

    5/12

    - El fichero sip.conf por defecto del Asterisk contiene mucha informacin de ayuda, por

    lo que este fichero es muy largo y hace engorroso el trabajo, por lo que moveremos

    este fichero original a uno llamado sip.conf.old:

    Se colocan en /etc/asterisk/ (cd /etc/asterisk/) y ejecutamos:

    mv sip.conf sip.conf.old

    - sip.conf es ledo por el programa binario de arriba hacia abajo, por lo que los

    parmetros globales que son aplicados a todos los usuarios son definidos en el contexto

    [general], mientras que para personalizar a cada usuario se le crea su contexto y se le

    configura sus parmetros (que sobre escriben a los globales). A continuacin se

    muestra un ejemplo (bsico):

    [general]

    context=default

    port=5060bindaddr=0.0.0.0

    allow=all

    Estos parmetros indican:

    context: configura el contexto en el plan de marcacin en que de manera general todos

    los clientes sern colocados, a menos que sea sobrescrito en la definicin del usuario.

    En el fichero en donde se define el plan de marcacin (extensions.conf) existe el

    contexto por defecto default, en el cual, a menos que se configure manualmente otro

    contexto, sern ubicadas todas las extensiones de los usuarios.

    port: puerto en el cual Asterisk debe esperar por conexiones de entrada SIP. El ms

    general o usado es el puerto 5060.

    bindaddr: direccin IP en donde Asterisk ir a esperar por las conexiones SIP. El

    comportamiento general es esperar en todas las interfaces y direcciones secundarias

    (0.0.0.0).

    allow: permite que un determinado codec sea usado (all indica que todos los codecs

    pueden ser empleados).

    - Despus de configurar el contexto general, siguen las definiciones de los usuarios o

    entidades SIP. Es bueno recordar que en esta seccin vamos apenas a dar una

    introduccin al archivo sip.conf. A continuacin se muestra un ejemplo bsico:

    [255]

    type=friend

    username=255

  • 7/31/2019 Laboratorio 2v0

    6/12

    secret=1010

    host=dynamic

    careinvite=yes

    context=local-users

    [name]: es la parte nombre de usuario de la SIP URI. Es el contexto del usuariocreado conteniendo su configuracin.

    type: configura la clase de la conexin, las opciones son peer (el usuario solo podr

    recibir llamadas), user (el usuario solo podr realizar llamadas) y friend (el usuario

    podr recibir y realizar llamadas).

    username: indica el nombre del usuario. Generalmente este campo es igual a lo

    configurado en [name], e igual a lo configurado en el nmero de la extensin que se le

    asignar.

    secret: contrasea empleada para autentificar al usuario.

    host: configura la direccin IP o el nombre del host. Se puede usar tambin la opcin

    dynamic donde se espera que el telfono se registre, es la opcin ms comn.

    careinvite: indica si la informacin de media pasar a travs del servidor Asterisk (=no)

    o no (=yes).

    context: sobre escribe el contexto definido en la sesin [general].

    Una vez configurado el fichero sip.conf se configura el plan de marcacin en extensions.conf:

    - Al igual que se hizo con sip.conf, crearemos un nuevo extensions.conf. Se colocan

    en /etc/asterisk/ (cd /etc/asterisk/) y ejecutamos:

    mv extensions.conf extensions.conf.old

    - Este fichero se divide en tres sesiones:

    [general]: permite modificar determinadas variables como static y writeprotect,pero para el presente laboratorio, estas variables no son de importancia.

    [globals]: permite definir variables globales.

    [default]: es el plan de marcacin que brinda Asterisk por defecto. El administrador

    puede definir nuevos contextos.- A continuacin se muestra el presente ejemplo:

    [general]

    autofallthrough=yes

    clearglobalvars=yes

    [globals]

    CONSOLE=Console/dsp

  • 7/31/2019 Laboratorio 2v0

    7/12

    [default]

    [local-users]

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

    exten => 307,2,Hangup

    exten => 310,1,Dial(SIP/310,20)exten => 310,2,Hangup

    La sintaxis para definir una extensin es el siguiente:

    El comando exten=> es seguido por un nmero de extensin, la prioridad y la

    aplicacin.

    Las prioridades son pasos numerados de ejecucin de cada extensin. Cada prioridad

    llama a una aplicacin especfica. Normalmente estos nmeros de prioridad comienzan

    con 1 y aumentan de uno en uno en cada extensin. Los nmeros de prioridad nosiempre son consecutivos. Las prioridades son corridas en orden numrica.

    Las aplicaciones son parte fundamental de Asterisk, ellas tratan al canal de voz,

    tocando sonidos, aceptando dgitos o cortando una llamada. Las aplicaciones son

    llamadas con opciones que afectan a su forma de funcionamiento. Usted puede usar

    core show applications en la interfaz de lnea de comando de Asterisk.

    El presente fichero define un nuevo contexto local-users, y en este 2 extensiones: 307

    y 310 (correspondiente al usuario creado en el ejemplo del paso anterior):

    exten => 310,1,Dial(SIP/310,20); en este ejemplo, discando 310 sonar el telfonoIP registrado como 310, el cual de no ser atendido en 20 segundos ser desviado para

    la prioridad 2.

    exten => 310,2,Hangup; colgar la llamada.

    Hasta el momento se ha visto que como mnimo se deben configurar los ficheros sip.conf (para

    crear los usuarios) y extensions.conf (para crear las extensiones de los usuarios), ahora se deben de

    configurar los clientes SIP:

    Se emplear como en el Laboratorio #1 el softphone Ekiga, en donde:

  • 7/31/2019 Laboratorio 2v0

    8/12

    Se configuran las cuentas de usuarios. En esta nos referimos a:

  • 7/31/2019 Laboratorio 2v0

    9/12

    En donde se presentar la siguiente ventana, con las casillas en blanco:

  • 7/31/2019 Laboratorio 2v0

    10/12

    name: nombre de la cuenta (arbitraria).

    registrar: IP del servidor de registro SIP al que deber registrarse el usuario. Esta accin permite

    que el usuario sea localizado para recibir llamadas, independientemente de su ubicacin.

    user: el nombre del usuario identifica al usuario de esa cuenta en el Ekiga.

    authentication user: es el nombre del usuario definido en el servidor que sirve como PBX, en este

    caso el Asterik. De manera general user se hace coincidir con este parmetro.

    password: contrasea del usuario definida en la PBX.

    time out: indica el intervalo de tiempo cada cuanto el usuario debe registrarse.

    Hasta el momento se tiene un usuario SIP, pero no se le ha indicado a qu servidor proxy debe

    solicitarle la conexin, para entonces realizar el proceso de establecimiento de la sesin de

    comunicacin. En este caso coincide con la PBX Asterisk. Se indica en:

    En donde aparecer la ventana:

  • 7/31/2019 Laboratorio 2v0

    11/12

    En la cual se indica la IP del servidor SIP proxy.

    A partir de este momento todo se encuentra listo para establecer llamadas.

    Para establecer una sesin de comunicacin se procede a teclear el nombre de la extensin

    deseada, que en este caso coincide con el usuario.

    Una vez establecida la sesin aparecer que estamos conectados a [email protected] del Asterisk. Esto se

    debe a que los mensajes SIP son:

    En donde el intercambio de mensajes SIP son entre UA1-Asterisk y Asterisk-UA2, es decir, no es

    directo entre los usuarios agentes. El transporte de media puede pasar o no a travs de Asterisk en

    dependencia de lo configurado en careinvite.

    4- Capturar con el Wireshark el intercambio de mensajes SIP entre un usuario SIP y el

    Asterisk para establecer una sesin de comunicacin, y posteriormente paquetes RTP.

    Analizar el contenido del mensaje SIP INVITE.

  • 7/31/2019 Laboratorio 2v0

    12/12