SlideShare ist ein Scribd-Unternehmen logo
1 von 70
Downloaden Sie, um offline zu lesen
http://www.irontec.com
Introducción a la VoIP y Asterisk
http://www.irontec.com
Parte II: SIP
Curso: Introducción a la VoIP y Asterisk
3
Introducción
● Ya tenemos Asterisk instalado
– Ahora nos falta que haga algo :D
● Asterisk soporta canales de múltiples tecnologías.
– Entre ellas, el protocolo de señalización 'estándar de
facto' en la VoIP: SIP.
● Al final de este bloque conseguiremos:
– Conocer el protocolo SIP
– Entender las trazas básicas
– Realizar llamadas con los hardphones
SAP, SDP y SIP
Curso: Introducción a la VoIP y Asterisk
5
Punto de partida: SAP
● Session Announcement Protocol (RFC 2974).
● Sirve para 'anunciar' una sesión multimedia
– “Hoy a las 8, película de noseke...”
– Como la revista de la TV
● No se encarga de describir la sesión,
para eso tenemos SDP.
Curso: Introducción a la VoIP y Asterisk
6
SDP
● Session Description Protocol (RFC 4566)
● Contiene toda la información que un usuario puede
necesitar para unirse a una sesión multimedia.
● Ofrece la siguiente información
– IP/puerto para conectarse a la sesión
– Codecs soportados
– Información descriptiva
Curso: Introducción a la VoIP y Asterisk
7
Recapitulando...
● Hasta ahora sabemos hacer 2 cosas
– Anunciar una sesión multimedia
– Describirla
● Pero... ¿como indicamos a alguien que se una?
– Hay que INVITARLE a inicial una sesión
SIP: Session Initiation Protocol
Curso: Introducción a la VoIP y Asterisk
8
Origen
● Para cubrir la carencia de no poder iniciar una sesión
multimedia con alguien, surgió SIP.
● Estándar de la IETF, recogido en el RFC3261 (SIPv2)
● 'Merge' entre
– SIPv1 (Session Invitation Protocol)
– SCIP (Simple Conference Invitation Protocol)
● Capa de transporte: UDP / TCP (Websocket, TLS).
● La más habitual: UDP (puerto 5060)
Curso: Introducción a la VoIP y Asterisk
9
Funcionalidades
● SIP proporciona un mecanismo para iniciar, modificar y
finalizar una sesión.
● Independiente del tipo de sesión multimedia y de su
descripción.
– Podemos invitar a alguien a una partida online de mus mediante
SIP, utilizando MGDP (Mus Game Description Protocol) para
describir la sesión. XD
● Movilidad del usuario
– Necesidad de conocer su localización.
– SIP URIs: identificar a usuario SIP.
sip:carlos@irontec.com
– Los usuarios registran su ubicación en el servidor.
Curso: Introducción a la VoIP y Asterisk
10
Direccionamiento SIP
● Hay que distinguir 2 conceptos: la dirección SIP lógica de
un usuario y su dirección 'física'.
● La dirección SIP lógica es la URI SIP y está ligada al
usuario.
– Es equivalente a una dirección de correo electrónico:
userA@sipDomainA
● La dirección 'física' es la dirección del dispositivo desde el
que se registra un usuario SIP.
● La asociación entre ambas la gestiona el Location Server.
Curso: Introducción a la VoIP y Asterisk
11
Entidades SIP
● User-Agent: entidad con la que interactúa el usuario.
– Teléfono SIP
– Softphone
● Servidor Proxy: servidor que gestiona las invitaciones a las
sesiones de un determinado dominio SIP.
– Recibe peticiones de UAs y otros Proxy.
– Se apoya en el Location Server para transformar/resolver
direcciones SIP.
Curso: Introducción a la VoIP y Asterisk
12
Entidades SIP (2)
● Registrar: servidor que acepta peticiones de registro y
transmite la información al Location Server.
● Location Server: Guarda la relación entre la dirección SIP
lógica y la dirección física de los subscribers de un
determinado dominio SIP.
● Normalmente los 3 últimos son el mismo software.
● La relación entre estas entidades se divide en:
● Conexiones dentro del dominio SIP.
● Conexiones entre distintos dominios.
Curso: Introducción a la VoIP y Asterisk
13
Relación de entidades SIP (1)
Conexión entre dos subcribers del mismo dominio SIP
Curso: Introducción a la VoIP y Asterisk
14
Relación de entidades SIP (2)
Conexión entre dos usuarios de diferentes dominios SIP
Curso: Introducción a la VoIP y Asterisk
15
Por qué SIP es el camino a seguir
● Diferencia entre el establecimiento y la descripción de la
sesión
– Extensible
● Protocolo de extremo a extremo
– Un usuario ES DUEÑO DE SU SESIÓN
– Paradigma IP vs. Paradigma SS7
● Favorece la interoperabilidad
– El 'core' es “””relativamente””” sencillo: 6 métodos
– Funcionalidades adicionales mediante extensiones
● Es escalable
– La inteligencia esta en los extremos
– La red guarda muy pocos datos del estado
Curso: Introducción a la VoIP y Asterisk
16
Métodos SIP RFC 3261
● INVITE
– Invita a un usuario a una sesión multimedia
– Modifica una sesión multimedia existente
● ACK
– Proporciona un 3-way-handshake en el INVITE, sirve para confirmar la
recepción de una respuesta final a un INVITE
● CANCEL
– Cancela una transacción en curso
● BYE
– Se utilizan para abandonar una sesión
● REGISTER
– Sirven para informar al servidor de la ubicación del usuario
● OPTIONS
– Nos permite consultar qué métodos soporta un usuario.
Curso: Introducción a la VoIP y Asterisk
17
Transacciones Cliente-Servidor
● Un cliente GENERA peticiones.
● Un servidor RECIBE peticiones.
● El UA que genera peticiones se conoce como UAC:
User Agent Client.
● El UA que responde a las peticiones se conoce como
UAS: User Agent Server.
● Una petición, junto con las respuestas que genera, es una
TRANSACCIÓN.
Curso: Introducción a la VoIP y Asterisk
18
Respuestas SIP
● 100 – 199: provisional e informativa
● 200 – 299: afirmativa
● 300 – 399: redirección
● 400 – 499: error del cliente
● 500 – 599: error del servidor
● 600 – 699: fallo global
● Las respuestas incluyen un mensaje descriptivo, pero lo
importante es el código numérico.
Curso: Introducción a la VoIP y Asterisk
19
INVITE
INVITE
180 Ringing
Alice Bob
200 OK
Curso: Introducción a la VoIP y Asterisk
20
ACK
INVITE
180 Ringing
ACK
200 OK
Conversación
Alice Bob
Curso: Introducción a la VoIP y Asterisk
21
ACK (2)
● INVITE es el único método que utiliza 3 way
handshake.
● El resto de mensajes esperan una respuesta veloz, pero
en el caso del INVITE, esta puede tardar.
● El UAC manda al UAS un ACK, indicando que ha
recibido su respuesta.
● Aseguramos el correcto establecimiento de la sesión
sobre un medio no fiable: UDP
Curso: Introducción a la VoIP y Asterisk
22
CANCEL
INVITE
180 Ringing
ACK
200 OK
Alice Bob
CANCEL
487 Transaction Cancelled
Curso: Introducción a la VoIP y Asterisk
23
BYE
INVITE
180 Ringing
ACK
200 OK
Alice Bob
BYE
200 OK
Conversación
Curso: Introducción a la VoIP y Asterisk
24
REGISTER
REGISTER
401 Unauthorized
REGISTER
200 OK
Alice Servidor SIP
Curso: Introducción a la VoIP y Asterisk
25
OPTIONS
OPTIONS
Alice Bob
200 OK
Curso: Introducción a la VoIP y Asterisk
26
Cabeceras SIP
● From
– Identifica al que origina una petición.
● Call-ID
– Representa una relación entre 2 dispositivos SIP, relacionando
un INVITE y todas las transacciones asociadas.
● Contact
– Incluye una SIP URL, indicando donde se puede contactar con
el usuario.
● To
– Identifica al receptor de una petición.
● Vía
– Contiene todos los proxys que han gestionado una petición.
– Hace que las respuestas sigan el mismo camino que las
peticiones
Curso: Introducción a la VoIP y Asterisk
27
Conceptos importantes: Transacción y Diálogo
● Transacción
– Una petición + respuesta, SI la respuesta es afirmativa
(INVITE + 200 OK)
– Una petición + respuesta negativa + ACK
(INVITE + 404 Not Found + ACK)
– Identificado unívocamente por el 'branch' de la cabecera Vía.
● Diálogo
– Concepto de 'llamada'
– Identificado unívocamente por el From tag, To tag y Call-ID.
NB
Curso: Introducción a la VoIP y Asterisk
28
Tipos de proxys SIP
● Stateful Proxy
– Su ámbito es la transacción.
– No entiende de diálogos, pero sí de transacciones.
● Stateless Proxy
– No guardan ningún tipo de estado.
IMPORTANTE: Asterisk NO es un proxy SIP!!
Curso: Introducción a la VoIP y Asterisk
29
Asterisk NO es un proxy SIP!!
● Un proxy SIP simplemente conecta UAC.
● Rara vez permanece en medio una vez establecida la
sesión (salvo por motivos de facturación).
● NUNCA es el endpoint de una llamada.
● Asterisk es:
– Location Server
– Registrar Server
– Media Gateway
– B2BUA
Curso: Introducción a la VoIP y Asterisk
30
Routing de mensajes SIP
Alice BobServidor SIP
INVITE INVITE
180 Ringing180 Ringing
200 OK200 OK
ACK
Conversación
BYE
200 OK
Curso: Introducción a la VoIP y Asterisk
31
Routing de mensajes SIP (2)
● Después del 200 OK, Alice ya sabe donde esta Bob
(Contact)
● Las transacciones siguientes (ACK y BYE-200 OK) van
directamente de extremo a extremo.
● Podemos alterar este comportamiento con las cabeceras
Record-Route y Route
– Si queremos facturar, queremos estar al tanto de la señalización...
Curso: Introducción a la VoIP y Asterisk
32
Routing de mensajes SIP (3)
INVITE INVITE
180 Ringing
180 Ringing
200 OK
200 OK
Conversación
ACK
ACK
BYE
BYE
200 OK
200 OK
Alice Servidor SIP Bob
Curso: Introducción a la VoIP y Asterisk
33
Routing de mensajes SIP (4)
● Cada proxy que quiere quedarse 'en medio' añade una
cabecera Record-Route al invite que pasa a través de él.
● Las cabeceras se mantienen y se envían de vuelta en la
respuesta.
● Las siguientes transacciones se generan con la cabecera
Route (en orden inverso que las Record-Route).
● En mensaje se envía al proxy que indica su primera
cabecera Route y el proxy la elimina.
Curso: Introducción a la VoIP y Asterisk
34
Extendiendo SIP
● Con lo visto hasta ahora, solo podemos hacer y recibir
llamadas :-O
● PEEEERO, SIP se diseñó para ser extensible, por lo que
se le han añadido servicios mediante extensiones al
protocolo.
– Mensajería
– Notificaciones Asíncronas de Eventos
– Transferencia de sesiones
– ...
Curso: Introducción a la VoIP y Asterisk
35
Métodos SIP posteriores
● SUBSCRIBE
Subscripción a eventos
● NOTIFY
Notificaciones de eventos a subscriptores
● PUBLISH
Notificación de evento por parte del UAC
● INFO
● UPDATE
● REFER (call tranfer)
● MESSAGE
● PRACK
Curso: Introducción a la VoIP y Asterisk
36
Mensajería Instantánea
INVITE
180 Ringing
Alice Bob
200 OK
ACK
MESSAGE “Como mola SIP!!”
200 OK
Curso: Introducción a la VoIP y Asterisk
37
Notificaciones Asíncronas de Eventos
INVITE
484 Busy Here
Alice Bob
200 OK
ACK
SUBSCRIBE Estado de Bob
200 OK
NOTIFY Bob esta ocupado
200 OK
NOTIFY Bob esta disponible
INVITE
Curso: Introducción a la VoIP y Asterisk
38
Transferencia de sesiones
SIP y el NAT
Curso: Introducción a la VoIP y Asterisk
40
NAT
Problema del NAT
● El 'supuesto' agotamiento de los rangos de direcciones IP
utilizables en Internet ha obligado a utilizar direcciones IP
privadas dentro de las redes de empresas y usuarios domésticos.
● Un equipo IP para ser alcanzado en Internet debe utilizar una IP
pública para sus comunicaciones. Es necesario por tanto
'enmascarar' la red interna en una o varias IPs públicas (Source
NAT).
● El proceso de NAT no es nada sencillo: varios tipos de NAT,
varios tipos de soluciones.
● Tesis Heinz Herlitz:
– http://www.uct.cl/biblioteca/tesis-on-line/heinz-herlitz/tesis.pdf
Curso: Introducción a la VoIP y Asterisk
41
NAT y SIP
Esquema Base
Red local
IP's privadas:
192.168.0.0/16
172.16.0.0/12
10.0.0.0/8
Internet
Router NAT
Proceso NAT:
conversión
IP privada » IP pública
Problema en entrada:
mapeo de puertos
Problema en salida:
encapsulación IP
y puerto de RTP
a nivel de aplicación
Curso: Introducción a la VoIP y Asterisk
42
NAT y SIP
Tipos de NAT (I)
● NAT full cone: Todas las peticiones desde la misma IP/puerto
de la LAN son mapeadas a la misma IP/puerto público.
Cualquier máquina puede enviar paquetes a la máquina interna
por esa IP/puerto mediante redirección de puertos.
Router NAT
Google
Irontec
2050 4702
80
4702
3590
2050
Máquina interna
Curso: Introducción a la VoIP y Asterisk
43
NAT y SIP
Tipos de NAT (II)
● NAT restringido: Lo mismo, pero una máquina externa con IP
X puede enviar paquetes a la máquina interna sólo si ésta le ha
enviado paquetes previamente. No importa el puerto.
Router NAT
Google
Irontec
2050 4702
80
1025
3590
1025
Máquina interna
1025
2231
Curso: Introducción a la VoIP y Asterisk
44
NAT y SIP
Tipos de NAT (III)
● NAT puerto restringido: Lo mismo que NAT restringido, pero
la máquina externa con IP X y puerto P sólo puede enviar
paquetes a la máquina interna si ésta le ha enviado previamente
paquetes al puerto P.
Router NAT
Google
Irontec
2050 4702
80
125
3590Máquina interna
125
2231
Curso: Introducción a la VoIP y Asterisk
45
NAT y SIP
Tipos de NAT (IV)
● NAT simétrico: Todas las peticiones desde la misma IP/puerto de la
LAN a una IP/puerto externos específicos son mapeadas a la misma
IP/puerto público. Si la máquina interna envía un paquete a una
IP/puerto distintos el mapeo cambia. Por lo tanto, sólo la máquina
externa que recibe un paquete puede devolver paquetes a la máquina
interna.
Router NAT
Google
Irontec
2050 4702
80
Máquina interna 125
2231
2050 9055
80
Curso: Introducción a la VoIP y Asterisk
46
NAT y SIP
Tipos de NAT (V)
● La clasificación anterior está abandonada hoy en día.
Muchas implementaciones NAT oscilan entre varios de
los tipos.
– Preservación de puerto: Se mapea la misma IP/puerto externo
para la misma IP/puerto interno. Si dos máquinas internas
tratan de conectar con la misma IP/puerto externo, el puerto
exterior mapeado a la segunda máquina se elige
aleatoriamente. También se conoce como NAT restricted
cone.
Curso: Introducción a la VoIP y Asterisk
47
NAT y SIP
¿Cómo nos afecta el NAT?
● El paquete SIP que enviamos contiene IPs privadas:
– Cabecera 'Via'
– Cabecera 'Contact'
– Campo 'c' en el SDP
Curso: Introducción a la VoIP y Asterisk
48
NAT y SIP
INVITE sip:destino@mydomain.org SIP/2.0
Via: SIP/2.0/UDP 192.168.1.33:5060;rport;branch=z9hG4bKjyofoqmp
Max-Forwards: 70
To: <sip:destino@mydomain.org>
From: "Iñaki" <sip:ibc@mydomain.org>;tag=nrrrx
Call-ID: xetazdjyktlpsfo@192.168.1.33
CSeq: 800 INVITE
Contact: <sip:ibc@192.168.1.33:5060>
Content-Type: application/sdp
Allow:
INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO,MESSAGE
Supported: replaces,norefersub,100rel
User-Agent: Twinkle/1.1
Content-Length: 312
v=0
o=ibc 1090098764 894503441 IN IP4 192.168.1.33
c=IN IP4 192.168.1.33
t=0 0
m=audio 8000 RTP/AVP 98 97 8 0 3 101
Curso: Introducción a la VoIP y Asterisk
49
NAT y SIP
Soluciones para NAT
● Solución por parte del cliente:
– Utilización de servidores STUN.
– SIP ALG
● Soluciones de en los equipos de comunicaciones IP:
– VPN
– Mapeo de puertos
● Soluciones en los servidores SIP:
– NAT helpers.
Curso: Introducción a la VoIP y Asterisk
50
STUN: Simple Traversal of UDP through NATs
Teoría de Funcionamiento
● Protocolo de red que permite a clientes detrás de NAT averiguar
su IP pública, tipo de NAT y puerto exterior.
● El cliente STUN solicita a un servidor STUN la IP y puerto por
los que ha salido a Internet. En función de varios test contra el
servidor STUN el cliente averigua el tipo de NAT en el que se
encuentra.
● El servidor STUN dispone de dos IPS públicas.
● No soluciona el problema del NAT simétrico.
● En VoIP se utiliza para facilitar la recepción de los datos de voz
RTP (UDP).
● Servidores STUN públicos:
– stun.fwd.net, stun.xten.com, ...
Curso: Introducción a la VoIP y Asterisk
51
SIP ALG
● SIP Application Level Gateway
● Implementado en routers de todas las gamas
– Comtrend de Telefónica
– SpeedTouch de Orange
● El 99,99% de los ALG no funcionan
● Es necesario deshabilitarlo para poder utilizar VoIP
Configuración de canales SIP
Curso: Introducción a la VoIP y Asterisk
53
Canales SIP
Configuración para canales SIP
● La instalación crea ficheros de ejemplo con la
sintaxis bastante comentada a modo de guía.
sip.conf
● En este fichero se definen:
– Variables generales de SIP.
– Clientes SIP.
– Servidores SIP.
Curso: Introducción a la VoIP y Asterisk
54
Canales SIP
sip.conf: Sección General
● En primer lugar existe la sección [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
Curso: Introducción a la VoIP y Asterisk
55
Canales SIP
sip.conf: Sección General
● Las variables generales más importantes son:
– allow y disallow: indican los codecs permitidos / no
permitidos.
– dtmfmode: permite especificar el método por el cual se
enviaran los tonos DTMF valores posibles: rfc2833, INFO,
inband.
– context: Contexto por defecto donde entraran las llamadas
entrantes por SIP.
– {udp,tcp,tls}bindaddr: Dirección IP en la que se escucha.
Puerto opcional con ':'.
– transport: Protocolo de transporte preferido.
Curso: Introducción a la VoIP y Asterisk
56
Canales SIP
sip.conf: Clientes y Servidores
● En sip.conf se definen tanto los clientes que se conectarán a Asterisk, como
los proveedores que se utilizaran para encaminar llamadas.
● 3 tipos de usuarios. En función del tipo, Asterisk se fija en unos campos o en
otros a la hora de identificar sus peticiones SIP:
– peer: IP y puerto (proveedor IP o otros servers)
– user: From header (sin domain) == [snom] / defaultuser (en desuso)
– friend: Mezcla de los anteriores (UACs). Asterisk internamente crea user
y peer.
● Primero Asterisk busca en la tabla de users con el From sin dominio. Si no
encuentra, pasa a la tabla de peer fijándose en IP/puerto.
● La sintaxis para definir un friend o un peer es:
[nombre]
type = friend / peer
Curso: Introducción a la VoIP y Asterisk
57
Canales SIP
sip.conf: Clientes y Servidores
● Las variables más importantes que deben ser configuradas
inicialmente son:
– type: peer / friend
– context: Contexto donde entraran las llamadas generadas.
– nat: Indica si el usuario o peer se encuentran tras NAT.
– host: IP remota o 'dynamic' si se registrará.
– fromuser: nombre de usuario.
– secret: contraseña de acceso.
– allow y disallow: Configuraciones de codecs específicas para
cada friend/peer.
– qualify: Evalúa el estado del extremo SIP para conocer su
accesibilidad y latencia.
Curso: Introducción a la VoIP y Asterisk
58
Canales SIP
sip.conf: Ejemplo: usuario
● Vamos a declarar de forma básica dos clientes en el
fichero sip.conf:
[jon]
type = friend
secret = jon
disallow=all
allow = alaw
context = desde-usuarios
host=dynamic
[leire]
type = friend
secret = leire
disallow = all
allow = alaw
context = desde-usuarios
host=dynamic
Curso: Introducción a la VoIP y Asterisk
59
Canales SIP
sip.conf: Ejemplo: peer
● Vamos a configurar un proveedor en sip.conf:
[sarenet]
type=peer
host = sarevoz.com
disallow = all
allow = g729
allow = alaw
fromuser= 24162
fromdomain = sarevoz.com
defaultuser=24162
secret=iwonttellyou
insecure=port,invite
directmedia=no
sendrpid=pai
Curso: Introducción a la VoIP y Asterisk
60
Canales SIP
sip.conf: Verificación de la configuración
● Mediante el comando module reload en el CLI de
Asterisk, le indicamos que recargue la configuración.
Aunque es posible recargar la configuración SIP de
forma independiente: sip reload
● Una vez recargada, podemos comprobar los usuarios y
peers que tenermos definidos haciendo: sip show peers
Conectando servidores Asterisk
Curso: Introducción a la VoIP y Asterisk
62
Trunks SIP en Asterisk
● A parte de para registrar teléfonos podemos utilizar SIP para
enlazar Asterisk con cualquier PBX, gateway, proxy, ... que hable
SIP.
– Configuración de un peer/user/friend.
– Proveedor IP
– Si el proveedor IP nos va a meter llamadas, necesitaremos una
línea de register en sip.conf antes de la sección
[authentication]:
register => 24162:iwonttellyou@194.30.0.111/943943943
El protocolo IAX2
Curso: Introducción a la VoIP y Asterisk
64
IAX2
Protocolo IAX2
● IAX2: Inter Asterisk eXchange
● Creado y estandarizado por la centralita Asterisk.
● Utiliza el puerto 4569 UDP.
● Características Principales:
– Media y señalización por el mismo flujo de datos.
– Trunking
– Cifrado
Curso: Introducción a la VoIP y Asterisk
65
IAX2(2)
Protocolo IAX2: Ventajas
● NAT: Al enviar tanto señalización como streaming
por el mismo flujo de datos (flujo UDP), se evitan
los problemas derivados del NAT. No es necesario
abrir rangos de puertos para RTP.
● Trunking: Es posible enviar varias conversaciones
por el mismo flujo, lo cual supone un importante
ahorro de ancho de banda (overhead de la capas IP y
transporte UDP).
Ejercicios
Curso: Introducción a la VoIP y Asterisk
67
Ejercicios
1)
El objetivo de este ejercicio es registrar un hardphone en vuestro
flamante nuevo Asterisk. Para ello:
– Conectar hardphone al SW y ver qué IP obtiene.
– Configurar un usuario de tipo 'friend' en sip.conf
– Acceder a la web de configuración del teléfono
(introduciendo su IP en un navegador web) y configurar
cuenta SIP.
– Verificar registro con 'sip show peers'
Curso: Introducción a la VoIP y Asterisk
68
Ejercicios(2)
2) Realiza un trunk SIP contra la PBX de tu compañero.
3) Realiza un trunk SIP contra el proveedor IP Sarevoz.
Bonus)
Previa introducción mínima al Dialplan de Asterisk, haz posible:
● Llamar a tu móvil (saliendo por Sarevoz)
● Llamar al teléfono de tu compañero.
Hint1: qualify=yes en la definición del peer puede ayudar
Hint2: *CLI> sip set debug on
Hint3: # ngrep -qt -W byline -d any port 5060 and udp
Curso: Introducción a la VoIP y Asterisk
69
Soluciones
Solución 1:
[1001]
type=friend
secret=mysecret
context=desde-usuarios
host=dynamic
disallow=all
allow=alaw
Solución 2:
En la centralita A:
[pbxB]
type=peer
host=ipB
defaultuser=pbxA
secret=sh4r3dk3y
context=desde-trunksip
disallow=all
allow=alaw
En la centralita B:
[pbxA]
type=peer
host=ipA
defaultuser=pbxB
secret=sh4r3dk3y
context=desde-trunksip
disallow=all
allow=alaw
Curso: Introducción a la VoIP y Asterisk
70
Soluciones(2)
Solución 3:
[sarevoz]
type=peer
host = sarevoz.com
disallow = all
allow = g729
allow = alaw
defaultuser=24162
fromuser= 24162
fromdomain = sarevoz.com
secret=iwonttellyou
directmedia=no
sendrpid=pai
Bonus:
extensions.conf:
[desde-usuarios]
exten => 1001,1,Dial(SIP/pbxX/1001)
exten => _X.,1,Dial(SIP/sarevoz/${EXTEN})
[desde-trunksip]
exten => 1001,1,Dial(SIP/1001)

Weitere ähnliche Inhalte

Was ist angesagt?

Architecture voip (1)
Architecture voip (1)Architecture voip (1)
Architecture voip (1)kenane toufik
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHMoises Silva
 
10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-express10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-expressNguyen Thanh
 
Protocolo TCP/IP
Protocolo TCP/IPProtocolo TCP/IP
Protocolo TCP/IPIza García
 
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.Anthony Torres Bastidas
 
Présentation du projet IPTV
Présentation du projet IPTV Présentation du projet IPTV
Présentation du projet IPTV Mohammed JAITI
 
Presentacion asterisk
Presentacion asteriskPresentacion asterisk
Presentacion asteriskarchimd
 
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk) Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk) Dimitri LEMBOKOLO
 
Conceptos básicos de telefonía
Conceptos básicos de telefoníaConceptos básicos de telefonía
Conceptos básicos de telefoníae-Contact LATAM
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCHMoises Silva
 
Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.
Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.
Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.betsmee
 
DNS (Bind) con Fedora.
DNS (Bind) con Fedora.DNS (Bind) con Fedora.
DNS (Bind) con Fedora.Vellidin
 
Connect Laptop/PC to Router Console Port
Connect Laptop/PC to Router Console Port Connect Laptop/PC to Router Console Port
Connect Laptop/PC to Router Console Port Yaser Rahmati
 

Was ist angesagt? (20)

QoS & VoIP
QoS & VoIPQoS & VoIP
QoS & VoIP
 
Architecture voip (1)
Architecture voip (1)Architecture voip (1)
Architecture voip (1)
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCH
 
10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-express10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-express
 
Protocolo TCP/IP
Protocolo TCP/IPProtocolo TCP/IP
Protocolo TCP/IP
 
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
 
Etude de la VoIP
Etude de la VoIPEtude de la VoIP
Etude de la VoIP
 
Présentation du projet IPTV
Présentation du projet IPTV Présentation du projet IPTV
Présentation du projet IPTV
 
Presentacion asterisk
Presentacion asteriskPresentacion asterisk
Presentacion asterisk
 
Asterisk Complete Training
Asterisk Complete TrainingAsterisk Complete Training
Asterisk Complete Training
 
Sip
SipSip
Sip
 
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk) Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
 
Conceptos básicos de telefonía
Conceptos básicos de telefoníaConceptos básicos de telefonía
Conceptos básicos de telefonía
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCH
 
Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.
Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.
Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.
 
DNS (Bind) con Fedora.
DNS (Bind) con Fedora.DNS (Bind) con Fedora.
DNS (Bind) con Fedora.
 
Connect Laptop/PC to Router Console Port
Connect Laptop/PC to Router Console Port Connect Laptop/PC to Router Console Port
Connect Laptop/PC to Router Console Port
 
Dhcp
DhcpDhcp
Dhcp
 
Expl couches osi
Expl couches osiExpl couches osi
Expl couches osi
 
EtherChannel
EtherChannelEtherChannel
EtherChannel
 

Andere mochten auch

Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosIrontec
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...Irontec
 
Seguridad en VoIP
Seguridad en VoIPSeguridad en VoIP
Seguridad en VoIPIrontec
 
Presentación VoIP2Day : Soluciones Ingeniosas con VoIP
Presentación VoIP2Day : Soluciones Ingeniosas con VoIPPresentación VoIP2Day : Soluciones Ingeniosas con VoIP
Presentación VoIP2Day : Soluciones Ingeniosas con VoIPAlberto Sagredo Castro
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskIrontec
 
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskConfiguración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskDiego Llanes
 
Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasElio Rojano
 
Tecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con AsteriskTecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con AsteriskNicolás Gudiño
 
Seguridad en VoIP Open Source: Poniendo el punto sobre la i
Seguridad en VoIP Open Source: Poniendo el punto sobre la iSeguridad en VoIP Open Source: Poniendo el punto sobre la i
Seguridad en VoIP Open Source: Poniendo el punto sobre la iPaloSanto Solutions
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerIrontec
 
Curso avanzado SVN
Curso avanzado SVNCurso avanzado SVN
Curso avanzado SVNIrontec
 
Irontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec
 
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)Iñaki Baz Castillo
 
Soluciones SIP Carrier Class con OpenSIPS
Soluciones SIP Carrier Class con OpenSIPSSoluciones SIP Carrier Class con OpenSIPS
Soluciones SIP Carrier Class con OpenSIPSAlejandro Rios Peña
 
Comunicaciones Unificadas con Software Libre
Comunicaciones Unificadas con Software LibreComunicaciones Unificadas con Software Libre
Comunicaciones Unificadas con Software LibreAlejandro Rios Peña
 
SIP: más que una moda en el Contact Center de última generación
SIP: más que una moda en el Contact Center de última generaciónSIP: más que una moda en el Contact Center de última generación
SIP: más que una moda en el Contact Center de última generaciónMundo Contact
 
Una breve mirada a mango analytics
Una breve mirada a mango analyticsUna breve mirada a mango analytics
Una breve mirada a mango analyticsPaloSanto Solutions
 
Asterisk Rest Interface - ARI
Asterisk Rest Interface - ARIAsterisk Rest Interface - ARI
Asterisk Rest Interface - ARIDavid Muñoz
 
Llamada Sip (2)
Llamada Sip (2)Llamada Sip (2)
Llamada Sip (2)Abasota
 
FreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con EsteroidesFreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con EsteroidesMoises Silva
 

Andere mochten auch (20)

Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzados
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
 
Seguridad en VoIP
Seguridad en VoIPSeguridad en VoIP
Seguridad en VoIP
 
Presentación VoIP2Day : Soluciones Ingeniosas con VoIP
Presentación VoIP2Day : Soluciones Ingeniosas con VoIPPresentación VoIP2Day : Soluciones Ingeniosas con VoIP
Presentación VoIP2Day : Soluciones Ingeniosas con VoIP
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y Asterisk
 
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskConfiguración de escenarios reales con asterisk
Configuración de escenarios reales con asterisk
 
Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no miras
 
Tecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con AsteriskTecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con Asterisk
 
Seguridad en VoIP Open Source: Poniendo el punto sobre la i
Seguridad en VoIP Open Source: Poniendo el punto sobre la iSeguridad en VoIP Open Source: Poniendo el punto sobre la i
Seguridad en VoIP Open Source: Poniendo el punto sobre la i
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz provider
 
Curso avanzado SVN
Curso avanzado SVNCurso avanzado SVN
Curso avanzado SVN
 
Irontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IP
 
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
 
Soluciones SIP Carrier Class con OpenSIPS
Soluciones SIP Carrier Class con OpenSIPSSoluciones SIP Carrier Class con OpenSIPS
Soluciones SIP Carrier Class con OpenSIPS
 
Comunicaciones Unificadas con Software Libre
Comunicaciones Unificadas con Software LibreComunicaciones Unificadas con Software Libre
Comunicaciones Unificadas con Software Libre
 
SIP: más que una moda en el Contact Center de última generación
SIP: más que una moda en el Contact Center de última generaciónSIP: más que una moda en el Contact Center de última generación
SIP: más que una moda en el Contact Center de última generación
 
Una breve mirada a mango analytics
Una breve mirada a mango analyticsUna breve mirada a mango analytics
Una breve mirada a mango analytics
 
Asterisk Rest Interface - ARI
Asterisk Rest Interface - ARIAsterisk Rest Interface - ARI
Asterisk Rest Interface - ARI
 
Llamada Sip (2)
Llamada Sip (2)Llamada Sip (2)
Llamada Sip (2)
 
FreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con EsteroidesFreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con Esteroides
 

Ähnlich wie Introducción a SIP y Asterisk

Seguridad en VoIP - Hackelarre
Seguridad en VoIP - HackelarreSeguridad en VoIP - Hackelarre
Seguridad en VoIP - HackelarrePablo Garaizar
 
Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...
Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...
Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...Internet Security Auditors
 
Configuración básica asterisk sixbell - v2.0
Configuración básica asterisk   sixbell - v2.0Configuración básica asterisk   sixbell - v2.0
Configuración básica asterisk sixbell - v2.0Sebastian Cisternas Arenas
 
Itn instructor ppt_chapter10
Itn instructor ppt_chapter10Itn instructor ppt_chapter10
Itn instructor ppt_chapter10Cesar Aguirre
 
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...Adiptel
 
20170530 VoIP Teoría General
20170530  VoIP Teoría General20170530  VoIP Teoría General
20170530 VoIP Teoría GeneralLuis Castro
 
[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP
[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP
[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIPIñaki Baz Castillo
 
Tema 5 capa de transporte
Tema 5 capa de transporteTema 5 capa de transporte
Tema 5 capa de transportealex sgarcia
 
Protocolos de voip de acuerdo al modelo osi
Protocolos de voip de acuerdo al modelo osiProtocolos de voip de acuerdo al modelo osi
Protocolos de voip de acuerdo al modelo osiSolxitlaly Guerra
 
Itn instructor ppt_chapter7
Itn instructor ppt_chapter7Itn instructor ppt_chapter7
Itn instructor ppt_chapter7Cesar Aguirre
 
7-R&S_CCNA1_ITN_Chapter7_Capa de transporte.pdf
7-R&S_CCNA1_ITN_Chapter7_Capa de transporte.pdf7-R&S_CCNA1_ITN_Chapter7_Capa de transporte.pdf
7-R&S_CCNA1_ITN_Chapter7_Capa de transporte.pdfOscar Correa
 
Presente y futuro de las comunicaciones VoIP
Presente y futuro de las comunicaciones VoIPPresente y futuro de las comunicaciones VoIP
Presente y futuro de las comunicaciones VoIPSaúl Ibarra Corretgé
 

Ähnlich wie Introducción a SIP y Asterisk (20)

Seguridad en VoIP - Hackelarre
Seguridad en VoIP - HackelarreSeguridad en VoIP - Hackelarre
Seguridad en VoIP - Hackelarre
 
Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...
Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...
Seguridad en Redes Convergentes: Seguridad en Voz sobre IP (VoIP). White Hack...
 
Seguridad en VoIP
Seguridad en VoIPSeguridad en VoIP
Seguridad en VoIP
 
Configuración básica asterisk sixbell - v2.0
Configuración básica asterisk   sixbell - v2.0Configuración básica asterisk   sixbell - v2.0
Configuración básica asterisk sixbell - v2.0
 
Sip
SipSip
Sip
 
Itn instructor ppt_chapter10
Itn instructor ppt_chapter10Itn instructor ppt_chapter10
Itn instructor ppt_chapter10
 
VoIP
VoIPVoIP
VoIP
 
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...
Adiptel - Guia Rápida de configuración una linea SIP en un adaptador Cisco SP...
 
20170530 VoIP Teoría General
20170530  VoIP Teoría General20170530  VoIP Teoría General
20170530 VoIP Teoría General
 
Fundamentos de sip
Fundamentos de sipFundamentos de sip
Fundamentos de sip
 
[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP
[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP
[VoIP2Day 2009] Presente y futuro de las comunicaciones VoIP
 
Telefonía IP (SIP, Diameter, RTP/RTPC)
Telefonía IP (SIP, Diameter, RTP/RTPC)Telefonía IP (SIP, Diameter, RTP/RTPC)
Telefonía IP (SIP, Diameter, RTP/RTPC)
 
Seguridad en VoIP con Tecnología Cisco
Seguridad en VoIP con Tecnología CiscoSeguridad en VoIP con Tecnología Cisco
Seguridad en VoIP con Tecnología Cisco
 
Tema 5 capa de transporte
Tema 5 capa de transporteTema 5 capa de transporte
Tema 5 capa de transporte
 
Protocolos de voip de acuerdo al modelo osi
Protocolos de voip de acuerdo al modelo osiProtocolos de voip de acuerdo al modelo osi
Protocolos de voip de acuerdo al modelo osi
 
Itn instructor ppt_chapter7
Itn instructor ppt_chapter7Itn instructor ppt_chapter7
Itn instructor ppt_chapter7
 
7-R&S_CCNA1_ITN_Chapter7_Capa de transporte.pdf
7-R&S_CCNA1_ITN_Chapter7_Capa de transporte.pdf7-R&S_CCNA1_ITN_Chapter7_Capa de transporte.pdf
7-R&S_CCNA1_ITN_Chapter7_Capa de transporte.pdf
 
Presente y futuro de las comunicaciones VoIP
Presente y futuro de las comunicaciones VoIPPresente y futuro de las comunicaciones VoIP
Presente y futuro de las comunicaciones VoIP
 
Tecnología IP Leccion 2
Tecnología IP Leccion 2Tecnología IP Leccion 2
Tecnología IP Leccion 2
 
Modelo tcp ip
Modelo tcp ipModelo tcp ip
Modelo tcp ip
 

Mehr von Irontec

Gestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoGestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoIrontec
 
Sobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPSobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPIrontec
 
Presente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderPresente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderIrontec
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCIrontec
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Irontec
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17Irontec
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseIrontec
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Irontec
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecIrontec
 
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraEuskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraIrontec
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Irontec
 
Caso de éxito: Irontec por nuestro proveedor Hostalia
Caso de éxito: Irontec por nuestro proveedor HostaliaCaso de éxito: Irontec por nuestro proveedor Hostalia
Caso de éxito: Irontec por nuestro proveedor HostaliaIrontec
 
PHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en AndroidPHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en AndroidIrontec
 
Curso completo de CRM + SugarCRM
Curso completo de CRM + SugarCRMCurso completo de CRM + SugarCRM
Curso completo de CRM + SugarCRMIrontec
 
Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql AdministracionIrontec
 
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAXJavascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAXIrontec
 
Mysq Replication
Mysq ReplicationMysq Replication
Mysq ReplicationIrontec
 
Curso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de WordpressCurso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de WordpressIrontec
 
Curso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVCurso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVIrontec
 

Mehr von Irontec (20)

Gestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoGestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajo
 
Sobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPSobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIP
 
Presente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderPresente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ Provider
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTC
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSense
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | Irontec
 
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraEuskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6
 
Caso de éxito: Irontec por nuestro proveedor Hostalia
Caso de éxito: Irontec por nuestro proveedor HostaliaCaso de éxito: Irontec por nuestro proveedor Hostalia
Caso de éxito: Irontec por nuestro proveedor Hostalia
 
PHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en AndroidPHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en Android
 
Curso completo de CRM + SugarCRM
Curso completo de CRM + SugarCRMCurso completo de CRM + SugarCRM
Curso completo de CRM + SugarCRM
 
Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql Administracion
 
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAXJavascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
 
Mysq Replication
Mysq ReplicationMysq Replication
Mysq Replication
 
Curso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de WordpressCurso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de Wordpress
 
Curso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVCurso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPV
 

Introducción a SIP y Asterisk

  • 3. Curso: Introducción a la VoIP y Asterisk 3 Introducción ● Ya tenemos Asterisk instalado – Ahora nos falta que haga algo :D ● Asterisk soporta canales de múltiples tecnologías. – Entre ellas, el protocolo de señalización 'estándar de facto' en la VoIP: SIP. ● Al final de este bloque conseguiremos: – Conocer el protocolo SIP – Entender las trazas básicas – Realizar llamadas con los hardphones
  • 5. Curso: Introducción a la VoIP y Asterisk 5 Punto de partida: SAP ● Session Announcement Protocol (RFC 2974). ● Sirve para 'anunciar' una sesión multimedia – “Hoy a las 8, película de noseke...” – Como la revista de la TV ● No se encarga de describir la sesión, para eso tenemos SDP.
  • 6. Curso: Introducción a la VoIP y Asterisk 6 SDP ● Session Description Protocol (RFC 4566) ● Contiene toda la información que un usuario puede necesitar para unirse a una sesión multimedia. ● Ofrece la siguiente información – IP/puerto para conectarse a la sesión – Codecs soportados – Información descriptiva
  • 7. Curso: Introducción a la VoIP y Asterisk 7 Recapitulando... ● Hasta ahora sabemos hacer 2 cosas – Anunciar una sesión multimedia – Describirla ● Pero... ¿como indicamos a alguien que se una? – Hay que INVITARLE a inicial una sesión SIP: Session Initiation Protocol
  • 8. Curso: Introducción a la VoIP y Asterisk 8 Origen ● Para cubrir la carencia de no poder iniciar una sesión multimedia con alguien, surgió SIP. ● Estándar de la IETF, recogido en el RFC3261 (SIPv2) ● 'Merge' entre – SIPv1 (Session Invitation Protocol) – SCIP (Simple Conference Invitation Protocol) ● Capa de transporte: UDP / TCP (Websocket, TLS). ● La más habitual: UDP (puerto 5060)
  • 9. Curso: Introducción a la VoIP y Asterisk 9 Funcionalidades ● SIP proporciona un mecanismo para iniciar, modificar y finalizar una sesión. ● Independiente del tipo de sesión multimedia y de su descripción. – Podemos invitar a alguien a una partida online de mus mediante SIP, utilizando MGDP (Mus Game Description Protocol) para describir la sesión. XD ● Movilidad del usuario – Necesidad de conocer su localización. – SIP URIs: identificar a usuario SIP. sip:carlos@irontec.com – Los usuarios registran su ubicación en el servidor.
  • 10. Curso: Introducción a la VoIP y Asterisk 10 Direccionamiento SIP ● Hay que distinguir 2 conceptos: la dirección SIP lógica de un usuario y su dirección 'física'. ● La dirección SIP lógica es la URI SIP y está ligada al usuario. – Es equivalente a una dirección de correo electrónico: userA@sipDomainA ● La dirección 'física' es la dirección del dispositivo desde el que se registra un usuario SIP. ● La asociación entre ambas la gestiona el Location Server.
  • 11. Curso: Introducción a la VoIP y Asterisk 11 Entidades SIP ● User-Agent: entidad con la que interactúa el usuario. – Teléfono SIP – Softphone ● Servidor Proxy: servidor que gestiona las invitaciones a las sesiones de un determinado dominio SIP. – Recibe peticiones de UAs y otros Proxy. – Se apoya en el Location Server para transformar/resolver direcciones SIP.
  • 12. Curso: Introducción a la VoIP y Asterisk 12 Entidades SIP (2) ● Registrar: servidor que acepta peticiones de registro y transmite la información al Location Server. ● Location Server: Guarda la relación entre la dirección SIP lógica y la dirección física de los subscribers de un determinado dominio SIP. ● Normalmente los 3 últimos son el mismo software. ● La relación entre estas entidades se divide en: ● Conexiones dentro del dominio SIP. ● Conexiones entre distintos dominios.
  • 13. Curso: Introducción a la VoIP y Asterisk 13 Relación de entidades SIP (1) Conexión entre dos subcribers del mismo dominio SIP
  • 14. Curso: Introducción a la VoIP y Asterisk 14 Relación de entidades SIP (2) Conexión entre dos usuarios de diferentes dominios SIP
  • 15. Curso: Introducción a la VoIP y Asterisk 15 Por qué SIP es el camino a seguir ● Diferencia entre el establecimiento y la descripción de la sesión – Extensible ● Protocolo de extremo a extremo – Un usuario ES DUEÑO DE SU SESIÓN – Paradigma IP vs. Paradigma SS7 ● Favorece la interoperabilidad – El 'core' es “””relativamente””” sencillo: 6 métodos – Funcionalidades adicionales mediante extensiones ● Es escalable – La inteligencia esta en los extremos – La red guarda muy pocos datos del estado
  • 16. Curso: Introducción a la VoIP y Asterisk 16 Métodos SIP RFC 3261 ● INVITE – Invita a un usuario a una sesión multimedia – Modifica una sesión multimedia existente ● ACK – Proporciona un 3-way-handshake en el INVITE, sirve para confirmar la recepción de una respuesta final a un INVITE ● CANCEL – Cancela una transacción en curso ● BYE – Se utilizan para abandonar una sesión ● REGISTER – Sirven para informar al servidor de la ubicación del usuario ● OPTIONS – Nos permite consultar qué métodos soporta un usuario.
  • 17. Curso: Introducción a la VoIP y Asterisk 17 Transacciones Cliente-Servidor ● Un cliente GENERA peticiones. ● Un servidor RECIBE peticiones. ● El UA que genera peticiones se conoce como UAC: User Agent Client. ● El UA que responde a las peticiones se conoce como UAS: User Agent Server. ● Una petición, junto con las respuestas que genera, es una TRANSACCIÓN.
  • 18. Curso: Introducción a la VoIP y Asterisk 18 Respuestas SIP ● 100 – 199: provisional e informativa ● 200 – 299: afirmativa ● 300 – 399: redirección ● 400 – 499: error del cliente ● 500 – 599: error del servidor ● 600 – 699: fallo global ● Las respuestas incluyen un mensaje descriptivo, pero lo importante es el código numérico.
  • 19. Curso: Introducción a la VoIP y Asterisk 19 INVITE INVITE 180 Ringing Alice Bob 200 OK
  • 20. Curso: Introducción a la VoIP y Asterisk 20 ACK INVITE 180 Ringing ACK 200 OK Conversación Alice Bob
  • 21. Curso: Introducción a la VoIP y Asterisk 21 ACK (2) ● INVITE es el único método que utiliza 3 way handshake. ● El resto de mensajes esperan una respuesta veloz, pero en el caso del INVITE, esta puede tardar. ● El UAC manda al UAS un ACK, indicando que ha recibido su respuesta. ● Aseguramos el correcto establecimiento de la sesión sobre un medio no fiable: UDP
  • 22. Curso: Introducción a la VoIP y Asterisk 22 CANCEL INVITE 180 Ringing ACK 200 OK Alice Bob CANCEL 487 Transaction Cancelled
  • 23. Curso: Introducción a la VoIP y Asterisk 23 BYE INVITE 180 Ringing ACK 200 OK Alice Bob BYE 200 OK Conversación
  • 24. Curso: Introducción a la VoIP y Asterisk 24 REGISTER REGISTER 401 Unauthorized REGISTER 200 OK Alice Servidor SIP
  • 25. Curso: Introducción a la VoIP y Asterisk 25 OPTIONS OPTIONS Alice Bob 200 OK
  • 26. Curso: Introducción a la VoIP y Asterisk 26 Cabeceras SIP ● From – Identifica al que origina una petición. ● Call-ID – Representa una relación entre 2 dispositivos SIP, relacionando un INVITE y todas las transacciones asociadas. ● Contact – Incluye una SIP URL, indicando donde se puede contactar con el usuario. ● To – Identifica al receptor de una petición. ● Vía – Contiene todos los proxys que han gestionado una petición. – Hace que las respuestas sigan el mismo camino que las peticiones
  • 27. Curso: Introducción a la VoIP y Asterisk 27 Conceptos importantes: Transacción y Diálogo ● Transacción – Una petición + respuesta, SI la respuesta es afirmativa (INVITE + 200 OK) – Una petición + respuesta negativa + ACK (INVITE + 404 Not Found + ACK) – Identificado unívocamente por el 'branch' de la cabecera Vía. ● Diálogo – Concepto de 'llamada' – Identificado unívocamente por el From tag, To tag y Call-ID. NB
  • 28. Curso: Introducción a la VoIP y Asterisk 28 Tipos de proxys SIP ● Stateful Proxy – Su ámbito es la transacción. – No entiende de diálogos, pero sí de transacciones. ● Stateless Proxy – No guardan ningún tipo de estado. IMPORTANTE: Asterisk NO es un proxy SIP!!
  • 29. Curso: Introducción a la VoIP y Asterisk 29 Asterisk NO es un proxy SIP!! ● Un proxy SIP simplemente conecta UAC. ● Rara vez permanece en medio una vez establecida la sesión (salvo por motivos de facturación). ● NUNCA es el endpoint de una llamada. ● Asterisk es: – Location Server – Registrar Server – Media Gateway – B2BUA
  • 30. Curso: Introducción a la VoIP y Asterisk 30 Routing de mensajes SIP Alice BobServidor SIP INVITE INVITE 180 Ringing180 Ringing 200 OK200 OK ACK Conversación BYE 200 OK
  • 31. Curso: Introducción a la VoIP y Asterisk 31 Routing de mensajes SIP (2) ● Después del 200 OK, Alice ya sabe donde esta Bob (Contact) ● Las transacciones siguientes (ACK y BYE-200 OK) van directamente de extremo a extremo. ● Podemos alterar este comportamiento con las cabeceras Record-Route y Route – Si queremos facturar, queremos estar al tanto de la señalización...
  • 32. Curso: Introducción a la VoIP y Asterisk 32 Routing de mensajes SIP (3) INVITE INVITE 180 Ringing 180 Ringing 200 OK 200 OK Conversación ACK ACK BYE BYE 200 OK 200 OK Alice Servidor SIP Bob
  • 33. Curso: Introducción a la VoIP y Asterisk 33 Routing de mensajes SIP (4) ● Cada proxy que quiere quedarse 'en medio' añade una cabecera Record-Route al invite que pasa a través de él. ● Las cabeceras se mantienen y se envían de vuelta en la respuesta. ● Las siguientes transacciones se generan con la cabecera Route (en orden inverso que las Record-Route). ● En mensaje se envía al proxy que indica su primera cabecera Route y el proxy la elimina.
  • 34. Curso: Introducción a la VoIP y Asterisk 34 Extendiendo SIP ● Con lo visto hasta ahora, solo podemos hacer y recibir llamadas :-O ● PEEEERO, SIP se diseñó para ser extensible, por lo que se le han añadido servicios mediante extensiones al protocolo. – Mensajería – Notificaciones Asíncronas de Eventos – Transferencia de sesiones – ...
  • 35. Curso: Introducción a la VoIP y Asterisk 35 Métodos SIP posteriores ● SUBSCRIBE Subscripción a eventos ● NOTIFY Notificaciones de eventos a subscriptores ● PUBLISH Notificación de evento por parte del UAC ● INFO ● UPDATE ● REFER (call tranfer) ● MESSAGE ● PRACK
  • 36. Curso: Introducción a la VoIP y Asterisk 36 Mensajería Instantánea INVITE 180 Ringing Alice Bob 200 OK ACK MESSAGE “Como mola SIP!!” 200 OK
  • 37. Curso: Introducción a la VoIP y Asterisk 37 Notificaciones Asíncronas de Eventos INVITE 484 Busy Here Alice Bob 200 OK ACK SUBSCRIBE Estado de Bob 200 OK NOTIFY Bob esta ocupado 200 OK NOTIFY Bob esta disponible INVITE
  • 38. Curso: Introducción a la VoIP y Asterisk 38 Transferencia de sesiones
  • 39. SIP y el NAT
  • 40. Curso: Introducción a la VoIP y Asterisk 40 NAT Problema del NAT ● El 'supuesto' agotamiento de los rangos de direcciones IP utilizables en Internet ha obligado a utilizar direcciones IP privadas dentro de las redes de empresas y usuarios domésticos. ● Un equipo IP para ser alcanzado en Internet debe utilizar una IP pública para sus comunicaciones. Es necesario por tanto 'enmascarar' la red interna en una o varias IPs públicas (Source NAT). ● El proceso de NAT no es nada sencillo: varios tipos de NAT, varios tipos de soluciones. ● Tesis Heinz Herlitz: – http://www.uct.cl/biblioteca/tesis-on-line/heinz-herlitz/tesis.pdf
  • 41. Curso: Introducción a la VoIP y Asterisk 41 NAT y SIP Esquema Base Red local IP's privadas: 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 Internet Router NAT Proceso NAT: conversión IP privada » IP pública Problema en entrada: mapeo de puertos Problema en salida: encapsulación IP y puerto de RTP a nivel de aplicación
  • 42. Curso: Introducción a la VoIP y Asterisk 42 NAT y SIP Tipos de NAT (I) ● NAT full cone: Todas las peticiones desde la misma IP/puerto de la LAN son mapeadas a la misma IP/puerto público. Cualquier máquina puede enviar paquetes a la máquina interna por esa IP/puerto mediante redirección de puertos. Router NAT Google Irontec 2050 4702 80 4702 3590 2050 Máquina interna
  • 43. Curso: Introducción a la VoIP y Asterisk 43 NAT y SIP Tipos de NAT (II) ● NAT restringido: Lo mismo, pero una máquina externa con IP X puede enviar paquetes a la máquina interna sólo si ésta le ha enviado paquetes previamente. No importa el puerto. Router NAT Google Irontec 2050 4702 80 1025 3590 1025 Máquina interna 1025 2231
  • 44. Curso: Introducción a la VoIP y Asterisk 44 NAT y SIP Tipos de NAT (III) ● NAT puerto restringido: Lo mismo que NAT restringido, pero la máquina externa con IP X y puerto P sólo puede enviar paquetes a la máquina interna si ésta le ha enviado previamente paquetes al puerto P. Router NAT Google Irontec 2050 4702 80 125 3590Máquina interna 125 2231
  • 45. Curso: Introducción a la VoIP y Asterisk 45 NAT y SIP Tipos de NAT (IV) ● NAT simétrico: Todas las peticiones desde la misma IP/puerto de la LAN a una IP/puerto externos específicos son mapeadas a la misma IP/puerto público. Si la máquina interna envía un paquete a una IP/puerto distintos el mapeo cambia. Por lo tanto, sólo la máquina externa que recibe un paquete puede devolver paquetes a la máquina interna. Router NAT Google Irontec 2050 4702 80 Máquina interna 125 2231 2050 9055 80
  • 46. Curso: Introducción a la VoIP y Asterisk 46 NAT y SIP Tipos de NAT (V) ● La clasificación anterior está abandonada hoy en día. Muchas implementaciones NAT oscilan entre varios de los tipos. – Preservación de puerto: Se mapea la misma IP/puerto externo para la misma IP/puerto interno. Si dos máquinas internas tratan de conectar con la misma IP/puerto externo, el puerto exterior mapeado a la segunda máquina se elige aleatoriamente. También se conoce como NAT restricted cone.
  • 47. Curso: Introducción a la VoIP y Asterisk 47 NAT y SIP ¿Cómo nos afecta el NAT? ● El paquete SIP que enviamos contiene IPs privadas: – Cabecera 'Via' – Cabecera 'Contact' – Campo 'c' en el SDP
  • 48. Curso: Introducción a la VoIP y Asterisk 48 NAT y SIP INVITE sip:destino@mydomain.org SIP/2.0 Via: SIP/2.0/UDP 192.168.1.33:5060;rport;branch=z9hG4bKjyofoqmp Max-Forwards: 70 To: <sip:destino@mydomain.org> From: "Iñaki" <sip:ibc@mydomain.org>;tag=nrrrx Call-ID: xetazdjyktlpsfo@192.168.1.33 CSeq: 800 INVITE Contact: <sip:ibc@192.168.1.33:5060> Content-Type: application/sdp Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO,MESSAGE Supported: replaces,norefersub,100rel User-Agent: Twinkle/1.1 Content-Length: 312 v=0 o=ibc 1090098764 894503441 IN IP4 192.168.1.33 c=IN IP4 192.168.1.33 t=0 0 m=audio 8000 RTP/AVP 98 97 8 0 3 101
  • 49. Curso: Introducción a la VoIP y Asterisk 49 NAT y SIP Soluciones para NAT ● Solución por parte del cliente: – Utilización de servidores STUN. – SIP ALG ● Soluciones de en los equipos de comunicaciones IP: – VPN – Mapeo de puertos ● Soluciones en los servidores SIP: – NAT helpers.
  • 50. Curso: Introducción a la VoIP y Asterisk 50 STUN: Simple Traversal of UDP through NATs Teoría de Funcionamiento ● Protocolo de red que permite a clientes detrás de NAT averiguar su IP pública, tipo de NAT y puerto exterior. ● El cliente STUN solicita a un servidor STUN la IP y puerto por los que ha salido a Internet. En función de varios test contra el servidor STUN el cliente averigua el tipo de NAT en el que se encuentra. ● El servidor STUN dispone de dos IPS públicas. ● No soluciona el problema del NAT simétrico. ● En VoIP se utiliza para facilitar la recepción de los datos de voz RTP (UDP). ● Servidores STUN públicos: – stun.fwd.net, stun.xten.com, ...
  • 51. Curso: Introducción a la VoIP y Asterisk 51 SIP ALG ● SIP Application Level Gateway ● Implementado en routers de todas las gamas – Comtrend de Telefónica – SpeedTouch de Orange ● El 99,99% de los ALG no funcionan ● Es necesario deshabilitarlo para poder utilizar VoIP
  • 53. Curso: Introducción a la VoIP y Asterisk 53 Canales SIP Configuración para canales SIP ● La instalación crea ficheros de ejemplo con la sintaxis bastante comentada a modo de guía. sip.conf ● En este fichero se definen: – Variables generales de SIP. – Clientes SIP. – Servidores SIP.
  • 54. Curso: Introducción a la VoIP y Asterisk 54 Canales SIP sip.conf: Sección General ● En primer lugar existe la sección [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
  • 55. Curso: Introducción a la VoIP y Asterisk 55 Canales SIP sip.conf: Sección General ● Las variables generales más importantes son: – allow y disallow: indican los codecs permitidos / no permitidos. – dtmfmode: permite especificar el método por el cual se enviaran los tonos DTMF valores posibles: rfc2833, INFO, inband. – context: Contexto por defecto donde entraran las llamadas entrantes por SIP. – {udp,tcp,tls}bindaddr: Dirección IP en la que se escucha. Puerto opcional con ':'. – transport: Protocolo de transporte preferido.
  • 56. Curso: Introducción a la VoIP y Asterisk 56 Canales SIP sip.conf: Clientes y Servidores ● En sip.conf se definen tanto los clientes que se conectarán a Asterisk, como los proveedores que se utilizaran para encaminar llamadas. ● 3 tipos de usuarios. En función del tipo, Asterisk se fija en unos campos o en otros a la hora de identificar sus peticiones SIP: – peer: IP y puerto (proveedor IP o otros servers) – user: From header (sin domain) == [snom] / defaultuser (en desuso) – friend: Mezcla de los anteriores (UACs). Asterisk internamente crea user y peer. ● Primero Asterisk busca en la tabla de users con el From sin dominio. Si no encuentra, pasa a la tabla de peer fijándose en IP/puerto. ● La sintaxis para definir un friend o un peer es: [nombre] type = friend / peer
  • 57. Curso: Introducción a la VoIP y Asterisk 57 Canales SIP sip.conf: Clientes y Servidores ● Las variables más importantes que deben ser configuradas inicialmente son: – type: peer / friend – context: Contexto donde entraran las llamadas generadas. – nat: Indica si el usuario o peer se encuentran tras NAT. – host: IP remota o 'dynamic' si se registrará. – fromuser: nombre de usuario. – secret: contraseña de acceso. – allow y disallow: Configuraciones de codecs específicas para cada friend/peer. – qualify: Evalúa el estado del extremo SIP para conocer su accesibilidad y latencia.
  • 58. Curso: Introducción a la VoIP y Asterisk 58 Canales SIP sip.conf: Ejemplo: usuario ● Vamos a declarar de forma básica dos clientes en el fichero sip.conf: [jon] type = friend secret = jon disallow=all allow = alaw context = desde-usuarios host=dynamic [leire] type = friend secret = leire disallow = all allow = alaw context = desde-usuarios host=dynamic
  • 59. Curso: Introducción a la VoIP y Asterisk 59 Canales SIP sip.conf: Ejemplo: peer ● Vamos a configurar un proveedor en sip.conf: [sarenet] type=peer host = sarevoz.com disallow = all allow = g729 allow = alaw fromuser= 24162 fromdomain = sarevoz.com defaultuser=24162 secret=iwonttellyou insecure=port,invite directmedia=no sendrpid=pai
  • 60. Curso: Introducción a la VoIP y Asterisk 60 Canales SIP sip.conf: Verificación de la configuración ● Mediante el comando module reload en el CLI de Asterisk, le indicamos que recargue la configuración. Aunque es posible recargar la configuración SIP de forma independiente: sip reload ● Una vez recargada, podemos comprobar los usuarios y peers que tenermos definidos haciendo: sip show peers
  • 62. Curso: Introducción a la VoIP y Asterisk 62 Trunks SIP en Asterisk ● A parte de para registrar teléfonos podemos utilizar SIP para enlazar Asterisk con cualquier PBX, gateway, proxy, ... que hable SIP. – Configuración de un peer/user/friend. – Proveedor IP – Si el proveedor IP nos va a meter llamadas, necesitaremos una línea de register en sip.conf antes de la sección [authentication]: register => 24162:iwonttellyou@194.30.0.111/943943943
  • 64. Curso: Introducción a la VoIP y Asterisk 64 IAX2 Protocolo IAX2 ● IAX2: Inter Asterisk eXchange ● Creado y estandarizado por la centralita Asterisk. ● Utiliza el puerto 4569 UDP. ● Características Principales: – Media y señalización por el mismo flujo de datos. – Trunking – Cifrado
  • 65. Curso: Introducción a la VoIP y Asterisk 65 IAX2(2) Protocolo IAX2: Ventajas ● NAT: Al enviar tanto señalización como streaming por el mismo flujo de datos (flujo UDP), se evitan los problemas derivados del NAT. No es necesario abrir rangos de puertos para RTP. ● Trunking: Es posible enviar varias conversaciones por el mismo flujo, lo cual supone un importante ahorro de ancho de banda (overhead de la capas IP y transporte UDP).
  • 67. Curso: Introducción a la VoIP y Asterisk 67 Ejercicios 1) El objetivo de este ejercicio es registrar un hardphone en vuestro flamante nuevo Asterisk. Para ello: – Conectar hardphone al SW y ver qué IP obtiene. – Configurar un usuario de tipo 'friend' en sip.conf – Acceder a la web de configuración del teléfono (introduciendo su IP en un navegador web) y configurar cuenta SIP. – Verificar registro con 'sip show peers'
  • 68. Curso: Introducción a la VoIP y Asterisk 68 Ejercicios(2) 2) Realiza un trunk SIP contra la PBX de tu compañero. 3) Realiza un trunk SIP contra el proveedor IP Sarevoz. Bonus) Previa introducción mínima al Dialplan de Asterisk, haz posible: ● Llamar a tu móvil (saliendo por Sarevoz) ● Llamar al teléfono de tu compañero. Hint1: qualify=yes en la definición del peer puede ayudar Hint2: *CLI> sip set debug on Hint3: # ngrep -qt -W byline -d any port 5060 and udp
  • 69. Curso: Introducción a la VoIP y Asterisk 69 Soluciones Solución 1: [1001] type=friend secret=mysecret context=desde-usuarios host=dynamic disallow=all allow=alaw Solución 2: En la centralita A: [pbxB] type=peer host=ipB defaultuser=pbxA secret=sh4r3dk3y context=desde-trunksip disallow=all allow=alaw En la centralita B: [pbxA] type=peer host=ipA defaultuser=pbxB secret=sh4r3dk3y context=desde-trunksip disallow=all allow=alaw
  • 70. Curso: Introducción a la VoIP y Asterisk 70 Soluciones(2) Solución 3: [sarevoz] type=peer host = sarevoz.com disallow = all allow = g729 allow = alaw defaultuser=24162 fromuser= 24162 fromdomain = sarevoz.com secret=iwonttellyou directmedia=no sendrpid=pai Bonus: extensions.conf: [desde-usuarios] exten => 1001,1,Dial(SIP/pbxX/1001) exten => _X.,1,Dial(SIP/sarevoz/${EXTEN}) [desde-trunksip] exten => 1001,1,Dial(SIP/1001)