Archive for the ‘iax’ Category

SIP, IAX2, softphones

July 24, 2008

http://www.asteriskesp.com/Foro/page_display.asp?pid=5

Un Softphone es típicamente parte de un entorno Voz sobre IP|VoIP y puede estar basado en el estandard SIP/H.323 o ser propietario. Hay muchas implementaciones disponibles, como la ampliamente disponible Microsoft Windows Messenger o NetMeeting.

Los típicos Softpone basados en SIP actualmente incluyen – eyeBeam de CounterPath (antiguamente Xten), OpenWengo, Nexge, sipXphone, Adore Softphone, Express Talk y SJphone. Ellos funcionan bien con la mayoría de los ITSP – Proveedores de Servicios de Telefonía por Internet. Se puede conectar usando un teléfono USB o un gateway usb a un SoftPhone y obtener un servicio gratuito VoIP de teléfono-a-teléfono.

El muy popular Skype no es simplemente un softphone sino un servicio P2P VOIP.

Nombre Comentario Link
X-LITE Gratis, Interfaces Amigable SIP CounterPath.com
IDEFisk Gratis, Super Completo IAX IDEFisk
EyeBeam versión Comercial de X-LITE
Ofrece Vídeo
SIP CounterPath.com
SJPhone Gratis SIP SJLabs
Snom 360 Emulación del Snom Hardware SIP Snom
Media IAX Gratis, Fácil de Utilizar IAX MediaXPhone
IAXComm Gratis, Fuentes Disponible IAX IAXComm
ExpressTalk PC a PC, Asterisk, etc, SIP ExpressTalk
Kiax Gratis, Open Source IAX Kiax
Diax Gratis, Super Pequeño
Fácil de Utilizar
IAX Dante’s Diax
IAX Phone Comercial IAX IAXPhone
E-Phone UI Amigable IAX E-Phone
Cubix Uso de Skins/Temas IAX Cubix

SIP: es un protocolo desarrollado por el IETF MMUSIC Working Group con la intención de ser el estándar para la iniciación, modificación y finalización de sesiones interactivas de usuario donde intervienen elementos multimedia como el vídeo, voz. En Noviembre del año 2000, SIP fue aceptado como el protocolo de señalización de 3GPP y elemento permanente de la arquitectura IMS (IP Multimedia Subsystem). SIP es uno de los protocolos de señalización para voz sobre IP, acompañado por H.323.

Los clientes SIP usan el puerto 5060 en TCP (Transmission Control Protocol) y UDP (User Datagram Protocol) para conectar con los servidores SIP. SIP es usado simplemente para iniciar y terminar llamadas de voz y vídeo. Todas las comunicaciones de voz/vídeo van sobre RTP (Real-time Transport Protocol).

“SIP hace uso de elementos llamados servidores proxy para ayudar a enrutar las peticiones hacia la localización actual del usuario, autenticar y autorizar usuarios para darles servicio, posibilitar la implementación de políticas de enrutamiento de llamadas, y aportar capacidades añadidas al usuario.”
“SIP también aporta funciones de registro que permiten al usuario informar de su localización actual a los servidores proxy.”
“Es un concepto importante que la distinción entre los tipos de servidores SIP es lógica y no física.”

Hoy en día, ya son habituales los terminales con soporte SIP por software. Microsoft Windows Messenger usa SIP y en Junio de 2003 Apple Computer anunció y publicó en fase beta su iChat, una nueva versión compatible con el AOL Instant Messenger que soporta charlas de audio y vídeo a través de SIP.

mas en Wiki: http://es.wikipedia.org/wiki/Session_Initiation_Protocol

IAX: (Inter-Asterisk eXchange protocol) es uno de los protocolos utilizado por Asterisk, un servidor PBX (centralita telefónica) de código abierto patrocinado por Digium. Es utilizado para manejar conexiones VoIP entre servidores Asterisk, y entre servidores y clientes que también utilizan protocolo IAX.

El protocolo IAX ahora se refiere generalmente al IAX2, la segunda versión del protocolo IAX. El protocolo original ha quedado obsoleto en favor de IAX2.

IAX2 es robusto, lleno de novedades y muy simple en comparación con otros protocolos. Permite manejar una gran cantidad de códecs y un gran de número de streams, lo que significa que puede ser utilizado para transportar virtualmente cualquier tipo de dato. Esta capacidad lo hace muy útil para realizar videoconferencias o realizar presentaciones remotas.

IAX2 utiliza un único puerto UDP, generalmente el 4569, para comunicaciones entre puntos finales (terminales VoIP) para señalización y datos. El tráfico de voz es transmitido in-band, lo que hace a IAX2 un protocolo casi transparente a los cortafuegos y realmente eficaz para trabajar dentro de redes internas. En esto se diferencia de SIP, que utiliza una cadena RTP out-of-band para entregar la información.

El protocolo IAX2 fue creado por Mark Spencer para la señalización de VoIP en Asterisk. El protocolo crea sesiones internas y dichas sesiones pueden utilizar cualquier códec que pueda transmitir voz o vídeo. El IAX esencialmente provee control y transmisión de flujos de datos multimedia sobre redes IP. IAX es extremadamente flexible y puede ser utilizado con cualquier tipo de dato incluido vídeo.

El principal objetivo de IAX ha sido minimizar el ancho de banda utilizado en la transmisión de voz y vídeo a través de la red IP, con particular atención al control y a las llamadas de voz y proveyendo un soporte nativo para ser transparente a NAT.

Mas: http://es.wikipedia.org/wiki/IAX

Tipos de NAT: los enemigos de la VOIP

May 21, 2008

NAT quiere decir Network Address Translation y es un método usado por routers para comunicar con computadores remotos los computadores internos (sus clientes). Cada cliente tiene una dirección IP interna. El router, hacia el exterior tiene una única dirección IP externa que es asignada por el proveedor de servicios de Internet. Una computadora remota no puede ver las direcciones IP internas de los clientes.

Para evitar problemas con NAT en redes que se necesiten dedicar a VOIP dos recomendaciones:

1.- No usen SIP, usen IAX

2.- Si el cliente es SIP entonces usen algun servidor STUN publico como:

stun.fwd.net
stun.xten.com
stun.voipbuster.com

Adicionalmente cada programa que corre en un cliente usa un puerto de su computadora para comunicarse con el router. Estos puertos son virtuales y son numerados del 1 al 65.535. El router también tiene puertos, que son públicos por lo que pueden ser accedidos desde Internet.

De esta manera siempre que hablamos de direcciones podemos hablar de un par IP:puerto. Un par IP:puerto-interno tendrá su correspondiente par IP:puerto-externo en el router. Esta relación entre IP:puerto-interno e IP:puerto-externo es el NAT. El router recuerda en cada pedido de comunicación externa que hacen los clientes, sus IP:puerto-interno, y al recibir respuesta dirige dirige la misma al cliente que hizo el pedido.

Hacer click para ampliar

En el gráfico vemos un cliente A con un par IP:puerto 192.168.0.1:80 que sale por el par IP:puerto público del router 202.123.211.25:10080. Otro cliente/computadora B con un IP:puerto 192.168.0.2:80 sale por el IP:puerto-público del router 202.123.211.25:20080. Nótese que la dirección IP pública del router es única (202.123.211.25). Si el router recibe una respuesta a su puerto 10080 inmediatamente transmitirá ésta al cliente A, si recibe una respuesta a su puerto 20080 al cliente B.

Tipos de NAT

Existen 4 tipos de NAT. Los routers vienen configurados con uno de estos 4 tipos

1) Full Cone
2) Restricted Cone
3) Port Restricted Cone
4) Symmetric Cone

Para una dada IP:puerto interna, los primeros 3 tipos de NAT conservan esta dirección independientemente de la dirección:puerto externa de la máquina de destino. Para el Symmetric cone NAT se hará un par IP:puerto-interno/IP:puerto-externo nuevo para cada IP externa que se contacte.

Full Cone
Se establece una único par IP:puerto-interno/IP:puerto-router. Esta relación esta siempre disponible aunque el cliente no haya enviado ninguna señal. Por ejemplo esta prefijado que el cliente con 198.162.0.1:80 sale por 202.123.211.25:10080.
Cualquier computadora en Internet puede enviar paquetes a 202.123.211.25:10080 que serán transmitidos a 198.162.0.1:80. La mayoría de los routers hogareños usa este tipo de NAT.

Hacer click para ampliar

Restricted Cone NAT
En el Restricted Cone NAT, la IP:puerto publica del router se abre recién cuando el cliente hace un pedido hacia una máquina remota. El router recuerda la IP de la remota y solo acepta información de esta. De manera que si no hay un pedido concreto del cliente, una Remota A no podrá hacerle llegar información. Por ejemplo si 198.162.0.1:80 pide comunicarse con Remota A sale por 202.123.211.25:10080 hacia Remota A 222.111.99.1
Solo Remota A podrá enviar información. Remota B no lo podrá hacer hasta que el cliente haga un pedido a remota B.

Port Restrited Cone NAT
Es casi idéntico al restricted cone NAT solo que el pedido del cliente debe contener el puerto de la Remota. Si después de hacer el pedido la remota envía desde 222.111.99.1:20202 entonces NAT hará llegar la información al cliente. Si no envía su numero de puerto no podra hacerle llegar la información al cliente.

Symetric NAT
Para cada remota el router abre un puerto distinto. Si el cliente envía desde 192.169.0.1:80 a Remota A (222.111.99.1:20202) el router abrirá un nuevo puerto (en la figura el 45678), y para una remota B otro puerto (en la figura el 12345). La Remota solo podrá devolver la información a la IP:puerto router abierto especialmente para su máquina.

Hacer click para ampliar

Conectar 2 asterisk con IAX: caso de estudio

May 16, 2008

Trunking entre centrales asterisk utilizando el protocolo IAX

En el servidor Asterisk 01

iax.conf
[general]
port=5036
bandwidth=low
disallow=all
allow=gsm
allow=ulaw

jitterbuffer=yes
tos=lowdelay

register => trunk:trunk@10.10.3.80 ; donde 10.10.3.80 es la ip del server 02

[asterisk01]
type=friend
user=trunk
secret=trunk
host=10.10.3.80
trunk=yes
qualify=yes
context=default ; o el contexto que estes usando para tus extensiones sip

extensions.conf
exten => _6XXXX,1,Dial(IAX2/asterisk02@10.10.3.80) ; donde 10.10.3.80 es la ip del server 02
exten => _6XXXX,2,Congestion

————————————————————————–

Ahora para el servidor Asterisk 02

iax.conf
[general]
port=5036
bandwidth=low
disallow=all
allow=gsm
allow=ulaw

jitterbuffer=yes
tos=lowdelay

register => trunk:trunk@10.10.3.79 ; donde 10.10.3.79 es la ip del server 01

[asterisk02]
type=friend
user=trunk
secret=trunk
host=10.10.3.79
trunk=yes
qualify=yes
context=default , o el contexto que estes usando para tus extensiones sip

extensions.conf
exten => _5XXXX,1,Dial(IAX2/asterisk01@10.10.3.79) ; donde 10.10.3.79 es la ip del server 01
exten => _5XXXX,2,Congestion

————————————————————————–

La configuracion es simple:
para llamar de asterisk1 –> asterisk2 marcas 6XXXX donde XXXX es la extension
para llamar de asterisk2 –> asterisk1 marcas 5XXXX donde XXXX es la extension

IAX vs SIP como protocolo de VoIP

April 14, 2008

Tomado de: http://www.asterisk-es.org/modules/news/article.php?storyid=15

Los objetivos de este nuevo protocolo fueron minimizar el ancho de banda necesario para señalización y el medio, y proporcionar soporte interno para traspararencia en la traducción de direcciones de red (NAT), todo ello permitiendo la escalabilidad necesaria para futuras mejoras de funcionalidades. No es necesaria ninguna configuración adicional para hacer funcionar IAX para atravesar firewalls NAT.

En lugar de usar “Real-time Protocol” (RTP), IAX utiliza “User Datagram Protocol” (UDP) sobre un único puerto de Internet (Puerto 4569) para transmitir y recibir la señalización y el medio. IAX atraviesa fácilmente firewalls y emplea muchas menos cabeceras que RTP. IAX puede triplicar el número de llamadas enviadas a través de un solo megabit cuando se utiliza por ejemplo el codec con compresión G.729. Por ejemplo, empleando G.729 a través de protocolo IAX se permiten efectuar al menos 103 llamadas a través de 1M bit de ancho de banda simétrico.

En lugar de “parsear” comandos de texto, IAX utiliza datos únicamente binarios porque esta es la forma natural de comunicarse entre sí los ordenadores.

Las respuestas del protocolo IAX se envían de vuelta desde donde quiera que viniesen en lugar de tener que negociar una dirección IP externa. Al estar continuamente enviándose solicitudes “ping-pong”, si la línea se cae de repente, el dispositivo IAX se percataría en menos de 1 minuto.

Toda la señalización tiene lugar dentro de una consistente capa 2 de datos. Los tonos multifrecuencia (DTMF) se envían siempre a través del mismo camino como el resto de señalizaciones de datos y de esta forma son retransmitidos de forma fiable al otro extremo.

El protocolo IAX transmite los paquetes de audio con tan sólo 4 bytes de cabecera y los comandos emplean un ancho de banda muy reducido. Para llamadas múltiples, el “trunking” IAX reduce las cabeceras de cada canal combinando los datos de varios canales en un sólo paquete, reduciendo así no sólo el número de cabeceras, sino también el número de paquetes, lo cual es importante, por ejemplo, en redes WiFi.

Es más, el protocolo IAX es tan simple y directo que el stack IP completo, el stack IAX, el itnterface TDM, la cancelación de eco y la generación de caller ID se puede implementar en un adaptador de terminales analógicos (ATA). El dispositivo ATA que incluye un puerto de Ethernet un puerto de teléfono, y convierte el teléfono analógico en un teléfono IP se puede contruir con tan sólo un microprocesador de 8-bits, 4K bytes de RAM y 64K bytes de memoria flash interna, por lo que en un futuro cercano, alguien podría construir un teléfono IP por 10$ usando estos componentes tan comunes y baratos.

La presencia de productos futuros

El protocolo IAX se está extendiendo para incluir encriptación y funcionalidades de intercomunicación. Aunque todas las implementaciones son iguales, el principal obstáculo para la aceptación de IAX’s por parte de los fabricantes parece ser la falta de un estandar documentado (documentación disponible en el área de descargas de asterisk-es). Sin embargo, muchos colaboradores están trabajando en la creación de un estándar, y cualquiera puede de forma voluntaria contribuir a la causa.

Incluso sin un estándar documentado, algunos fabricantes han creado nuevos productos compatibles con IAX o extendido las capacidades de sus productos existentes para soportar IAX.

El servicio de telefonía analógica tradicional es fiable porque es tan simple que hay muy pocas posibilidades de equivocarse. El objetivo que persiguen los ingenieros que trabajan con IAX es llegar a hacer la VoIP igual de simple, de forma que un día incluso el menos hábil técnicamente de los empleados de una oficina pueda enchufar un teléfono IP de muy bajo coste y empezar a hacer llamadas directamente.

IAX: How it works (Gráfica Adjunta)

Telefonos SIP y telefonos IAX

March 28, 2008

Telefono con protocolo IAX (Zoiper descarga directa: http://www.zoiper.com/downloads/free…_Installer.exe) y tan solo usar un solo puerto para la transmision de datos haciendo mas facil el NAT y el Port Forwarding (por default es el UDP 4569), las configuraciones son las mismas como si se usara los telefonos en una LAN, la diferencia puede radicar en que la opcion NAT en los archivos de configuracion iax.conf y sip.conf deben estar en yes (nat=yes), esto para evitar problemas con los clientes que estan detras de routers o redes internas.


Follow

Get every new post delivered to your Inbox.