23 - Debian Linux - Configuración de Asterisk

Volver ó curso

Configuración IP en Linux

Las interfaces de red y sus direcciones IP suelen estar detalladas en un archivo de texto. Éste se puede ver haciendo cat /etc/network/interfaces. A veces parte de la información se delega a otra carpeta, como interfaces.d o /etc/NetworkManager/system-connections/Wired\ connection\ 1 (cuando hay interfaz gráfica). Desactiva la GUI siguiendo este tutorial.

Este es el aspecto del fichero interfaces de una de las máquinas virtuales del aula:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
	address 192.168.0.246
	netmask 255.255.255.0
	gateway 192.168.0.254

auto eth1
iface eth1 inet dhcp
root@Debian:/etc/network# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
7: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 1a:c5:ac:02:a5:f9 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.0.246/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::18c5:acff:fe02:a5f9/64 scope link 
       valid_lft forever preferred_lft forever
9: eth1@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether de:5f:96:5f:95:d7 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.88.30/24 brd 192.168.88.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::dc5f:96ff:fe5f:95d7/64 scope link 
       valid_lft forever preferred_lft forever

Los DNS se guardan en otra parte, en el fichero /etc/resolv.conf. En esa misma carpeta también tenemos el fichero /etc/hosts. Interesante también ver la configuración ssh en /etc/ssh/sshd_config

Si haces cambios, aplícalos con /etc/init.d/networking restart

Tarea 23.1. Parámetros IP en Linux. (quiero pruebas de todo!)

Consola de Asterisk

Asterisk tiene su propia línea de comandos dentro de la línea de comandos de Linux. Se abre mediante /usr/sbin/asterisk -c o -r si ya está en funcionamiento.

Sal con CTRL + C

Dos ficheros de configuración: extensions.conf y sip.conf

Varias extensiones pueden tener el mismo contexto, pero una extensión sólo se asigna a un contexto.

 sip.conf

Tiene un área [general] con parámetros que afectan a todas las secciones del fichero y un área para cada extensión o línea: [101], [102][yoigo]

Léete aquí los parámetros sip. Los más importantes:

Cuando añadas algo, entra en la consola de asterisk y ejecuta sip reload y luego sip show peers o sip show users.

 extensions.conf

Dentro de cada contexto, la palabra “exten” indica que a continuación viene un número marcado, seguido de la prioridad (1, 2, 3… por orden) y de la aplicación para ejecutar. Aplicaciones: Dial(), Answer(), Hangup() , Wait(), Playback(), Background()… ver más.

Tarea 23.2. Realiza este ejemplo de extensiones y dialplan básico:

/etc/asterisk/sip.conf
/etc/asterisk/sip.conf
/etc/asterisk/extensions.conf (dialplan)
/etc/asterisk/extensions.conf (dialplan)

IMPORTANTE: “Status OK” en sip show peers

Debes hacer llamadas usando softphones y teléfonos SIP del aula. Te dejo un esquema de los tipos de llamadas permitidas por el dialplan que indica el enunciado:

Tarea 23.3. En este ejemplo trataremos de pillar soltura. Llamadas grupales al marcar 8 y monitorización de llamadas inválidas con core set verbose 3 desde la consola Asterisk.

Fíjate en el patrón de marcado del final: _[12345678]!

Tutorial sobre patrones de extensiones en voip-info: link.

Tarea 23.4. En este ejercicio veremos las primeras abreviaturas del dialplan. Instala unas cuantas extensiones como se indica en el curso Asterisk (III): Extensiones Internas. No usaremos DDNS, aquí tenemos IP estática (consúltala aquí). Ingresa con Zoiper y comprueba el estado con sip show peers

Crea extensiones y pruébalas en Zoiper
Crea extensiones y pruébalas en Zoiper

Mejoras en el extensions.conf

En los ejercicios 23.2, 23.3 y 23.4 hemos visto tres maneras distintas de indicar los códigos de llamada:

# Forma más arcaica de dialplan:
exten => 101,1,Dial(SIP/101)
exten => 101,2,Hangup()
exten => 102,1,Dial(SIP/101)
exten => 102,2,Hangup()

# Omitiendo los números de prioridad:
exten => 101,1,Dial(SIP/101)
same => n,Hangup()
exten => 102,1,Dial(SIP/102)
same => n,Hangup()

# Utilizando variables y patrones:
exten => _1XX,1,Dial(SIP/${EXTEN}) 
same => n,Hangup()

;;Mucho mejor (en este caso suponemos extensiones de tres dígitos que empiezan todas por "1").

;;Si, por ejemplo, no hay extensiones de la 130 a la 139:
exten => _13X,1,Playback(invalid) 
same => n,Hangup()

Patrones y variables

Tarea 23.5. Diseña patrones de marcado (Curso Asterisk (IV): El Dialplan):

  1. Que permitan llamar a todas las extensiones de tres cifras que empiecen por “2”.
  2. Que permitan llamar a las extensiones 115, 117, 118, 119.
  3. Que permitan llamar a móviles que empiecen por 6
  4. Que permitan llamar a todos los fijos de España (empiezan por 8 y 9, el siguiente dígito va del 1 al 8)
  5. Que permitan marcar a todos los fijos nacionales (empiezan por 8 y 9) y a todos los móviles (empiezan por 6 y 7), pero no permitan llamar a 806.

Bibliografía e información extra

OJO: Concepto de IP de WAN:


Volver al curso