Anda di halaman 1dari 39

Sistemas Telefnicos

Configuracin Inicial de Asterisk


Escuela de Informtica y Telecomunicaciones
2008 Escuela de Informtica y Telecomunicaciones, DuocUC

Asterisk CLI
Ejecute el comando: asterisk !! Conectese a la CLI de Asterisk:
asterisk r

Escuela de Informtica y Telecomunicaciones

Algun mensaje importante al inicio de Asterisk?


Ejecute las siguientes instrucciones:
core show version core show uptime quit

Que realizan esos comandos?

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

Asterisk conceptos de la configuracin


Canal (Channel Chan)

Escuela de Informtica y Telecomunicaciones

Es una conexin que conduce una llamada entrante o saliente en el sistema Asterisk. La conexin puede venir de o salir hacia telefona tradicional analgica, digital o VoIP.

Por defecto, Asterisk soporta una serie de canales, los ms importantes son:
H.323, IAX2, SIP, MGCP: Protocolos VoIP. Console: GNU Linux OSS/ALSA sound system. Zap/Dahdi: lneas analgicas y digitales.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

Escuela de Informtica y Telecomunicaciones

Dialplan
El plan del marcado es el corazon de una central telefonica y la parte principal de asterisk. Indica como la PBX responde a llamadas entrantes y salientes. En Asterisk el plan del marcado es totalmente configurable, a diferencia de las centrales privativas. Dentro del plan de marcado de Asterisk encontramos principalmente:
Extensiones Aplicaciones Contextos

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

Escuela de Informtica y Telecomunicaciones

Extension
Extension o exten encierra un concepto diferente a lo que normalmente pensamos. Que tienen en mente por una extensin? Cada extensin se compone de:
Nombre, prioridad y aplicacin.

Nombre: agrupa una lista de acciones o pasos. Prioridad: define el orden.

Aplicacin: define la ejecucin.


Con la descripcin anterior defina nuevamente una extensin en Asterisk.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

Escuela de Informtica y Telecomunicaciones

Aplicacin
Asterisk ejecuta secuencialmente los comandos asociados a cada extensin. Esos comandos son realmente aplicaciones que controlan el comportamiento de la llamada y del sistema en s. Algunos ejemplos:
Hangup: colgar la llamada. Monitor: comenzar la grabacin a disco de la llamada. Dial: realizar una llamada saliente. Goto: saltar a otra extensin o contexto. PlayBack: reproducir un fichero de sonido.

AGI: llamar a una aplicacin externa (stdin, stdout, stderr).

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

Escuela de Informtica y Telecomunicaciones

Contexto
El dialplan de Asterisk se divide en uno o varios contextos. Un contexto es una coleccin de extensiones. Permite la interaccin entre las diferentes partes del dialplan.

Los contextos existen para poder diferenciar el lugar en donde se encuentra una llamada, para:
Aplicar polticas de seguridad: por ej, al entrar una llamada, con 0 va a la operadora, mientras que cuando un usuario local marca 0 y un nmero hace una llamada saliente (fuera de la PBX).

Se declaran colocando el nombre del contexto dentro de los smbolos [ ].


ej: [entrantes]

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

Dialplan: Arquitectura

Escuela de Informtica y Telecomunicaciones

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

Escuela de Informtica y Telecomunicaciones

Primeros pasos sip.conf


Accese a la carpeta /etc/asterisk Que se encuentra en esa carpeta? Accese al archivo sip.conf
[jose]
secret=1234 host=dynamic

;Nombre del usuario


;Clave de jose ;El telfono puede tener una ip dinmica

type=friend ;Permite generar y recibir llamados

context=internos; El contexto asocia el usuario al plan de numeracin

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

Escuela de Informtica y Telecomunicaciones

Generando una llamada


Realice la instalacion de x-lite descargue el tar.gz. Cambie el modo para ejecucion Ejecute el software X-Lite Verificar la configuracion de una cuenta SIP en X-Lite Verifique que tenga tono de marcado, si es necesario busque la instalacion Windows. Origine una llamada desde el CLI: originate sip/canal application echo Conteste el telefono!!

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

10

Escuela de Informtica y Telecomunicaciones

Primeros pasos: Los archivos de Canales


Archivos de configuracin de canales:
iax.conf: canales IAX (Inter Asterisk eXchange). sip.conf: canales SIP. zaptel.conf/system.conf: telefona analgica y digital. h323.conf: canales H323. mgcp.conf: canales MGCP. unicall.conf: canales R2

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

11

Carga de Configuraciones

Escuela de Informtica y Telecomunicaciones

La configuracin se carga al iniciar Asterisk, por lo que para aplicar cualquier cambio ser necesario recargarla. Para ello basta con ejecutar el comando reload en el CLI: CLI> reload

Dialplan:
extensions.conf: el propio Dialplan. features.conf: dialplan para mtodos. complementarios (transferencias, call parking, grabacin de llamadas bajo demanda, etc.).

Configuracin de aplicaciones del dialplan:


meetme.conf: para salas de conferencias. musiconhold.conf: config. de la msica en espera. queues.conf: configuracin de colas de llamadas. voicemail.conf: configuracin de los buzones de voz.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

12

Escuela de Informtica y Telecomunicaciones

SIP.conf
En primer lugar existe la seccin [general], donde se definen variables globales y aspectos por defecto para todos los canales SIP.
La sintaxis es la siguiente: [general] variable1=valor1 variable2=valor2 .... register => usuario : password @ servidorregistrar register => ....

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

13

Escuela de Informtica y Telecomunicaciones

SIP.conf Registrar
Register permite a Asterisk registrar su presencia en el otro extremo. De esta forma, el proveedor sabr la localizacin del cliente. En ningn caso es suficiente para poder hacer llamadas. El comando Register slo es necesario si:
1. 2. 3. Se necesita ser llamado (lo cul implica ser localizado). Se aparece en el otro extremo con una configuracin de IP dinmica. Los requerimientos registrar se manejan periodicamente!!

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

14

SIP.conf seccion General


Las variables generales ms importantes son:

Escuela de Informtica y Telecomunicaciones

allow y disallow: indican los codecs permitidos / no permitidos. dtmfmode: especifica el mtodo por el cual se enviarn los tonos (dgitos pulsados durante la conversacin); inband/rfc2833/info nat: informa a Asterisk el tipo de NAT en el que se encuentra; yes/no/never/route externip: direccin pblica si esta atrs de un NAT. context: contexto por defecto donde entrarn las llamadas entrantes por SIP. port: puerto en el que escuchar (5060 ).

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

15

SIP.conf
user: enva llamadas a Asterisk. peer: recibe llamadas de Asterisk. friend: recibe y enva llamadas. La sintaxis para definir un type es:
[nombre] ; contexto type = friend / peer / user variable1 = valor variable2 = valor

Escuela de Informtica y Telecomunicaciones

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

16

SIP.conf Variables de canales


type: peer / friend context: contexto donde entrarn las llamadas generadas. nat: indica si el usuario o peer se encuentra tras un NAT.

Escuela de Informtica y Telecomunicaciones

host: IP remota o dynamic (en el caso en que la IP no sea fija). username: nombre de usuario. secret: contrasea de acceso en texto plano. allow y disallow: configuraciones de codecs especficas para cada peer / friend.

qualify: evala el estado del extremo SIP para conocer su accesibilidad y latencia (tener cuidado si el otro extremo no esta configurado para responder).
canreinvite: permite que el trfico de voz pase por el asterisk o bien directamente entre las partes.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

17

SIP.conf Ejemplo
[pepe] ; usuario type=friend ; IN/OUT secret=pepin ; clave context=internos ; rela dial plan callerid="pepe perez" <1001> host=dynamic ; IP del device nat=yes ; soporte NAT device canreinvite=no ;disallow=all ;allow=gsm ;allow=ulaw ;allow=alaw mailbox=1001@default

Escuela de Informtica y Telecomunicaciones

[juan] type=friend secret=juanin callerid="juan perez" <1002> context=internos host=dynamic nat=yes canreinvite=no ;disallow=all ;allow=gsm ;allow=ulaw ;allow=alaw mailbox=1002@default

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

18

SIP.conf Verificacion en el CLI

Escuela de Informtica y Telecomunicaciones

Mediante el comando reload en el CLI de Asterisk, se indica que recargue la configuracin. Aunque es posible recargar de forma independiente slo la conf. SIP:
CLI> sip reload

Una vez recargada, puede comprobarse los users que se han definido con el comando: sip show users
Para ver los peers definidos: sip show peers Puede consultarse si Asterisk se ha registrado correctamente en los registars configurados en la seccin general con el comando: sip show registry Pueden verse los canales sip activos (comunicaciones activas), va el comando: sip show channels

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

19

Escuela de Informtica y Telecomunicaciones

IAX.conf
En el archivo IAX.CONF se definen todos los enlaces que se establecern usando el protocolo IAX tiene la misma estructura que el SIP.CONF: una seccin general y otras por canales.
[juan] type=friend secret=miclave qualify=yes port=4569 transfer=no host=dynamic context=interno callerid=device <1234>

El valor transfer=no es el equivalente a canreinvite=no del sip.conf, hace que el servidor Asterisk quede situado en medio de la comunicacin entre clientes.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

20

Escuela de Informtica y Telecomunicaciones

IAX.conf
El protocolo IAX permite el trunking de llamadas, es decir, que mltiples streams de voz compartan un nico trunk con otro servidor, reduciendo el overhead creado por los paquetes IP.

Luego de 4 llamadas concurrentes comienza a haber ganancia de ancho de banda.


Para pasar un canal IAX a modo trunk, incluir en la definicin del archivo iax.conf:

trunk=yes

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

21

Escuela de Informtica y Telecomunicaciones

Definiciones con Plantillas


Para definiciones estticas de usuarios con caractersticas comunes como en grupos de trabajo o tipos de usuarios se puede utilizar plantillas:

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

22

Escuela de Informtica y Telecomunicaciones

Detalles del Extensions.conf


El archivo extensions.conf es la parte central de toda la configuracin, dado que es donde se define el dialplan de Asterisk. Se compone de 4 partes principales: contextos, extensiones, prioridades y aplicaciones.

El dialplan se divide en secciones denominadas contextos, que estn rotuladas y contienen un grupo de extensiones. Los contextos se definen colocando su nombre entre corchetes ([]). Este nombre puede contener caracteres alfanumricos adems del guin y el guin bajo. Por ej:
[interno]

Todas las instrucciones son parte del contexto hasta que el prximo contexto es definido.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

23

Escuela de Informtica y Telecomunicaciones

Detalles del Extensions.conf


Existen dos contextos especiales: [general] (variables predefinidas) y [globals] (variables no predefinidas). Una extensin es una instruccin que ser seguida por Asterisk, luego de ser disparada por una llamada entrante o bien por dgitos discados en un canal, definida en el marco de un contexto. La sintaxis de una extensin es la siguiente:
exten => nombre,prioridad,aplicacion()

Ejemplo: exten => 123,1,Answer() Extensin s (start): es una extensin especial que es utilizada si una llamada entra a un contexto sin una extensin destino especfica (por ejemplo una llamada en un puerto FXO); la llamada trata de entrar automticamente a la extensin s.
exten => s,1,Answer()

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

24

Escuela de Informtica y Telecomunicaciones

Detalles del Extensions.conf Prioridades


Una extensin puede tener varios pasos, denominados prioridades. Las prioridades comienzan con 1 y se ejecutan en orden numrico. Si no existe la prioridad N + 1, Asterisk no salta a la siguiente prioridad (N+2). Cada prioridad ejecuta una nica aplicacin. Ejemplo:
exten => 123,1,Answer() exten => 123,2,Hangup()

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

25

Escuela de Informtica y Telecomunicaciones

Prioridades en Extensions.conf
Prioridades sin numerar: Asterisk introduce el uso de la prioridad n (next). Cada vez que Asterisk encuentra una prioridad n, toma el nmero de la prioridad anterior y le suma 1. Simplifica el proceso de escritura del dialplan, evitando tener que volver a numerar las prioridades al insertar una prioridad para la misma exten. Ejemplo: exten => 123,1,Answer() exten => 123,n,hago algo exten => 123,n,Hangup() exten => 555,1,Answer() exten => 555,n(LlamaPepe),Dial(SIP/pepe,20) exten => 555,n,Voicemail(44) exten => 555,n,Hangup

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

26

Escuela de Informtica y Telecomunicaciones

Prioridades en Extensions.conf
;Va a n+101 en caso de que el canal est ocupado:
exten => 555,LlamaPepe+101,Voicemail(44,u) ;Tambin puede tener una etiqueta esta prioridad: exten => 555,LlamaPepe+101(PepeNoDisponible),

exten => _044.,1,Answer exten => _044.,n(Director),GotoIf($[${CALLERID(num)} =pepe]?LlamaCelular:) exten => _044.,n,Set(TIMEOUT(absolute)=300) exten => _044.,n(LlamaCelular),Dial(Zap/1Dahdi/1/${EXTEN}) exten => _044.,n,Hangup

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

27

Detalles del Extensions.conf

Escuela de Informtica y Telecomunicaciones

Las aplicaciones realizan una accin determinada en el canal actual, controlando el comportamiento de la llamada y del sistema en s. Algunos ejemplos:
Answer(): contesta una llamada. Hangup(): cuelga una llamada. Dial(): realiza una llamada saliente. Playback(): reproduce un archivo de sonido.

Ciertas aplicaciones requieren del pasaje de parmetros, estos se incluyen dentro de los parntesis, separados por ,.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

28

Escuela de Informtica y Telecomunicaciones

extensions.conf
En el archivo extensions.conf se configura el plan de marcado (dialplan) de la central telefnica. El dialplan consistir en una serie de contextos que contendrn extensiones y que tendrn diferentes prioridades. Una extensin VOIP Asterisk no es lo mismo que una extensin telefonica tradicional. El archivo tiene dos contextos generales uno el contexto general y el contexto globals.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

29

Sintaxis en extensions.conf
Sintaxis General de un contexto en extensions.conf

Escuela de Informtica y Telecomunicaciones

Ejemplo: Hola Mundo en el archivo extensions.conf

Cual sera la utilidad de tener una extensin hola??

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

30

Escuela de Informtica y Telecomunicaciones

Contextos y Extensiones
Cada extensin SIP o llamada entrante de la PSTN tendr asociado un contexto. Para acceder a variables dentro del script del extensions.conf se usa:
${ }

Marcar una extensin significa acceder a una seccin de cdigo, y, de acuerdo a una prioridad establecida ejecutar una aplicacin. Las prioridades definen que aplicaciones se marcan primero. El orden fisico del archivo extensions.conf no es relevante, para eso estan las prioridades, excepto en prioridad n. ${EXTEN} es una variable de Asterisk que contiene el numero de extensin que fue marcado.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

31

Manejo de Variables en extensions.conf


Para el acceso a una variable:
${VARIABLE}

Escuela de Informtica y Telecomunicaciones

Para asignar un valor a una variable:


Set()

Los nombres de variables NO son case sensitive. Para el uso de operadores (aritmeticos, lgicos) se usa:
$[OPERACION]

Ejemplo de extensin como funcin:

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

32

Escuela de Informtica y Telecomunicaciones

The road so far


Hemos aprendido:
Comandos para manejar procesos, redes y paquetes y solucionar problemas relacionados a ellos. Google puede solucionar problemas y como buscarlos.

Descargar, Compilar e Instalar Asterisk.


Manejar el sip.conf para crear UA/Canales simples. Manejar comandos simples de la CLI para verificar el comportamiento de Asterisk. Crear extensiones simples.

Han tenido algunos problemas, Cuales? AHORA es cuando, lo siguiente es la prctica.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

33

Escuela de Informtica y Telecomunicaciones

Practica: PBX Battle V1


Recordar Politicas del curso: Las practicas SON CALIFICADAS!! Y Corresponden al 50% de la nota de APROBACION. Las practicas sern HANDS-ON, Lo estamos cumpliendo? Esta ser una prctica MUY guiada y servir para verificar el alcance de red del laboratorio y el alcance de llamadas VOIP que podemos generar hasta ahora. Al final del da tendremos 2 grandes centrales conversando entre s. Debern utilizar por lo menos en la mitad de las estaciones OTRO softphone!!

Tienen 60 Minutos para desarrollar la practica!

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

34

Practica: PBX Battle V1

Escuela de Informtica y Telecomunicaciones

Cada nmero perteneciente a una PBX dentro del laboratorio constar de 4 dgitos. Los dos primeros dgitos identificarn al servidor Asterisk y los dos posteriores, una extensin dentro del mismo. El identificador de cada Asterisk est dado por un dgito con la fila que ocupa dentro de la sala, y seguido por otro con el nmero de columna. Por lo tanto cada nmero tendr la siguiente forma: FCXX donde F es la fila de la PBX,

C es la columna de la PBX, XX es la extensin de la PBX identificada por FC

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

35

Escuela de Informtica y Telecomunicaciones

Practica: PBX Battle V1


Por ejemplo: Para definir una extensin 01, en el servidor ubicado en la fila 4 y columna 5, esta estara dada por: 4501. Para este ejercicio, se trabajar en parejas. En cada fila, formarn un par los participantes de las columnas 1 - 2, otro los de las columnas 3 - 4, y finalmente los que ocupan las 5 - 6. Elegir la PBX de uno de los participantes y llevar a cabo en conjunto los siguientes puntos: 1.1. Configurar en el servidor Asterisk dos canales SIP identificados por los nombres de los participantes, que tengan tanto la opcin de recibir como efectuar llamadas. Realizar la configuracin va IP dinmica. Recordar hacer la recarga de la configuracin cada vez que se efectuen cambios sobre la misma.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

36

Escuela de Informtica y Telecomunicaciones

Practica: PBX Battle V1


1.2. Verificar via la CLI que ambos canales se encuentran configurados tanto como clientes como proveedores. Utilizar los comandos: sip show peers y sip show users. 1.3. Configurar el dialplan del servidor Asterisk de maneral tal que al discar los nmeros <F><C>01 y <F><C>02 haga las llamadas va los canales configurados en el punto 1.1., respectivamente. Utilizar el contexto [internos]. 1.4. Configurar cada softphone de manera tal que se registre en el servidor Asterisk. Cada usuario deber configurar su propia cuenta (creada en el punto 1.1.) en su softphone. Utilizar nombres descriptivos para identificar fcilmente en qu PBX est configurado el usuario. Por ejemplo, "<Usuario> en PBX <F><C>".

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

37

Escuela de Informtica y Telecomunicaciones

Practica: PBX Battle V1


1.5. Verificar va la CLI que los softphones se registraron. Utilizar: sip show peers 1.7. Realizar llamadas entre los telfonos, en ambas direcciones. 1.8. Verificar va la CLI que las llamadas estn siendo llevadas a cabo. Utilizar: sip show channels / show channels 1.9. Repetir todos los puntos del 1.1. al 1.8. pero ahora utilizando la PBX restante. De esta manera, cada participante terminar con dos cuentas en su softphone, una para cada PBX.

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

38

Escuela de Informtica y Telecomunicaciones

Practica PBX Battle V1


Luego de que hayan terminado, espere instrucciones sobre como organizarse para la PBX Battle. Solo una mquina ser Central Telefnica (por ahora) con Asterisk, vayan pensando cual ser? La prueba ser con los shows del CLI y realizando los generates y las llamadas entre las extensiones! El equipo que gane obtendr el premio!!

2007 Cisco Systems, Inc. Todos los derechos reservados.

Cisco Public

39

Anda mungkin juga menyukai