Desarrollo de un Software Proxy PBX de VoIP con funciones de reporte de llamadas

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Desarrollo de un Software Proxy PBX de VoIP con funciones de reporte de llamadas"

Transcripción

1 INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA Unidad Zacatenco INGENIERIA EN COMUNICACIONES Y ELECTRONICA Desarrollo de un Software Proxy PBX de VoIP con funciones de reporte de llamadas TESIS Que para obtener el título de Ingeniero en Comunicaciones y Electrónica Presentan: Liliana Aguilar Hernández Agustín Moreno Nájera Asesores: M. en C. Genaro Zavala Mejía M. en C. Fernando Noya Chávez Diciembre

2 Índice General Índice de figuras... 4 Índice de tablas Introducción.. 7 Descripción... 9 Justificación Objetivos.. 10 Diagrama a bloques.. 11 Capítulo I Estado del arte PBX Antecedentes Estado actual de los PBX VoIP Antecedentes de telefonía convencional Estado actual de la Telefonía IP bajo la tecnología VoIP.. 17 Capítulo II Marco teórico PBX Definición IP PBX Características Componentes y funcionamiento Proxy PBX Definición Sistema Proxy Funcionamiento Ventajas y desventajas del uso de un Proxy Proxy a nivel aplicación: Protocolo SIP VoIP Introducción a la VoIP Definición Implementación y funcionamiento Control de la comunicación Parámetros VoIP Códec Protocolos de señalización Protocolos de transporte de voz y ancho de banda de la voz Ventajas Protocolo SIP Definición Conceptos básicos Mensajes SIP Cabecera SIP Protocolo RTP

3 2.5.1 Definición Encapsulamiento. 40 Capítulo III Herramientas Sockets Sockets en C# Métodos de la clase socket Desarrollo.NET C# SDK SIP.NET Descripcion Configuración objeto SIP Core Servidor TrixBoX Cliente Softphone Descripción X-lite 55 Capítulo IV Desarrollo Desarrollo de software de comunicación IP usando socket Captura y análisis de Mensajes SIP Autentificación de Softphone en el PBX VoIP Inicio y fin de una llamada VoIP Desarrollo de Software Proxy basado en transacciones SIP Desarrollo de Software Proxy para autentificar Softphone Desarrollo de Software Proxy para iniciar y finalizar una llamada Desarrollo de Software Proxy para generar reportes de llamadas. 75 Capítulo V Pruebas Registro de teléfono SIP Resultados Establecimiento y liberación de sesión SIP Resultados Prueba Reporteador Resultados Resultados finales Conclusiones. 84 Glosario Anexos.. 86 Bibliografía 122 3

4 Índice de figuras Figura 1. ERICSSON PMBX 1A. 12 Figura 2. Telefonía punto a punto mediante cables Figura 3: Telefonía conectada a central. 16 Figura 4. Esquema de enrutado en un entorno SIP 25 Figura 5. Esquema protocolos 26 Figura 6. Trama VoIP 26 Figura 7. Ejemplo de llamada SIP (200 llama a 201). 34 Figura 8. Ejemplo de llamada SIP con intermediarios (200 llama a 201) 34 Figura 9. Proceso de registro Figura 10. Registro completado Figura 11. Encapsulamiento RTP Figura 12. Proceso Cliente/Servidor Figura 13: Arquitectura general de la Unidad SIP.NET API Figura 14. SIP Account Settings. 56 Figura 15. Propiedades de configuración de una cuenta SIP.. 57 Figura 16. Configuración de cliente SIP Figura 17. SIP Accounts, cuenta configurada. 58 Figura 18. Teléfono registrado y autenticado.. 61 Figura 19. Interfaz de aplicación Servidor TCP.. 61 Figura 20. Interfaz de aplicación Cliente TCP 63 Figura 21: Analizador de tráfico en red, captura de mensajes SIP. 64 Figura 22: Trama de una petición REGISTER

5 Figura 23. Proceso de autenticación y registro de un UAC 66 Figura 24. Transacciones SIP mediante un Proxy.. 67 Figura 25. Diagrama de transacciones incluidas en el Proxy PBX 68 Figura 26. Nodo perteneciente a la clase NodoListaSoftphone. 71 Figura 27. Proceso de inicio y fin de llamada. 73 Figura 28. Base de datos Reporteador. 75 Figura 29. Diagrama de registro de Softphone Figura 30. Esquema SIP de registro y autenticación de Softphone. 77 Figura 31. Softphone registrado Figura 32. Log de Tramas Register Figura 33. Diagrama Establecimiento y liberación de sesión SIP Figura 34. Esquema SIP de inicio y fin de llamada. 79 Figura 35. Log de tramas inicio y fin de sesión.. 80 Figura 36. Softphone2. 80 Figura 37. Llamada establecida.. 81 Figura 38. Esquema PROXY PBX 81 Figura 39.Prueba Reporteador 82 Figura 40. Aplicación PROXY PBX Figura 41. Créditos 83 5

6 Índice de tablas Tabla 1. Ejemplos de direcciones SIP 33 Tabla 2. Peticiones SIP.. 36 Tabla 3. Respuestas SIP 37 Tabla 4. Conceptos generales 51 Índice Sección de Código Sección de Código 1. Creación de aplicación Servidor TCP.. 61 Sección de Código 2. Creación de aplicación Cliente TCP 62 Sección de Código 3. Creación de transacciones SIP. 69 Sección de Código 4. Definición de estructura de datos asignada a cada usuario dentro de la red.. 71 Sección de código 5. Gestión de envío de trama INVITE a un usuario final

7 Introducción La telefonía de hoy en día, tal y como la hemos conocido siempre, está llegando a su fin. La era de las nuevas tecnologías, con Internet a la cabeza, le están ganando terreno a grandes consorcios tecnológicos que han permanecido invariables e intocables durante mucho tiempo. El mundo de las comunicaciones por voz es uno de ellos. Desde la invención del primer teléfono, se han venido produciendo cambios y mejoras en los sistemas de telefonía que han permitido su expansión, llegando prácticamente a todos los hogares y rincones del mundo. No obstante en la actualidad, estos sistemas siguen basándose en tecnologías de hace varias décadas, obsoletas y que no son óptimas en muchos sentidos. Por ejemplo, en el uso de la línea telefónica cuando se establece una comunicación: se necesita que exista un canal constantemente abierto o dedicado, con el consiguiente desperdicio de recursos que pudieran ser mejor aprovechados. Hoy en día ya no es necesario dedicar un recurso por completo para mantener una conversación. En la era de Internet, es posible que una conversación telefónica se pueda mantener entre dos puntos cualesquiera, ocupando una simple porción del espectro o ancho de banda de la conexión de área local o hacia Internet. La voz se convierte en paquetes y pasa a denominarse Voz sobre IP o VoIP por sus siglas en inglés (Voice over Internet Protocol). Si la voz ya no viaja por un circuito dedicado y exclusivo, si no que ahora forma parte de nuestras comunicaciones de datos, se consiguen otro de los beneficios de las grandes tecnologías, la unificación. La voz y los datos viajan por la misma red, y no solo eso, además son tratados y gestionados de forma conjunta y coordinada. Bajo estas condiciones se obtiene un uso óptimo de los recursos. Gracias al despliegue de nuevas redes de datos, se puede ofrecer ya una gran cantidad de servicios al usuario final, con una calidad óptima y además de manera centralizada: Televisión, Internet y por supuesto, voz. Es decir, ya no será necesario una línea telefónica sino una línea de datos. Dentro de este contexto, la Voz sobre IP está teniendo un auge vertiginoso. Fundamentalmente, aquellos países que disponen y/o se están dotando de redes de última generación, disponen de ventajas en uso y disfrute. Sin redes fiables que cuenten con un gran caudal de ancho de banda, no es posible una migración seria y efectiva. Desde este punto de vista, los países o comunidades que no tengan claro este concepto perderán el tren digital y aumentarán aún más su déficit tecnológico (brecha digital). 7

8 La telefonía IP comenzó a principios de las décadas de los 90 1, aunque la mala calidad de la voz y el impulso que en aquellos momentos estaba tomando la RDSI (Red digital de servicios integrados) hicieron que no pasara de ser solo un experimento. Durante esta década se produjo el auge de Internet, lo que hizo que todos los esfuerzos, tanto de las empresas como de los operadores fueran dirigidos a potenciar su uso y las aplicaciones de navegación Web y correo electrónico, fueron las que más éxito tuvieron, lo que junto al despliegue de las redes móviles dejaron la voz relegada en un tercer plano. Hasta hace muy poco el freno para el despliegue de la telefonía IP en el mercado lo daba la propia tecnología: la calidad del sonido era bastante defectuosa, lo que disuadía a utilizarla y seguía haciendo uso de la línea telefónica tradicional, a pesar de ser bastante más caro, salvo a esa problemática el sistema se fue abriendo camino. Sus ventajas son múltiples: es un servicio más barato, permite el uso de nomadismo uso del mismo número telefónico- en cualquier lugar y tiene capacidad multimedia. Además, la calidad del servicio va en aumento, aproximándose a la de la telefonía convencional, con la que se permite la interconexión. En principio, todo apunta hacia el triunfo definitivo de la telefonía IP, tanto en el segmento residencial como en el empresarial, pero esto solamente se producirá si existe una oferta amplia, con calidad y que represente un costo inferior al de la telefonía convencional, facilitando además los mismos servicios. Así pues, en un futuro no muy lejano, es previsible suponer que casi toda la voz se transportará sobre IP, pero los usuarios no serán conscientes de la tecnología que hay detrás sino que simplemente tendrán unas comunicaciones mas económicas y una terminal multimedia para acceder a ellas, con total movilidad, ya que al no depender de numeración geográfica podrán hacer y recibir sus llamadas en cualquier lugar y momento. En el plano empresaria, para lograr el enrutamiento de dichas llamadas telefónicas de manera efectiva, es necesaria la implementación de un PBX (Private Branch Exchange), utilizado para permitir la conexión de diversos teléfonos personales y así lograr la ejecución de llamadas internas y la transmisión de llamadas externas. Mantener redes de comunicación eficientes es prioritario dentro de una empresa, ya que gracias a ellas es posible conocer las necesidades de los clientes, conocer los ofrecimientos de los proveedores y mantener integrada a la organización. El conmutador telefónico es parte de la infraestructura de telecomunicaciones que hace posible cumplir con esa función de comunicación. Hace ya algunos año, era necesario un operador de conmutador quien atendía las llamadas telefónicas entrantes que posteriormente canalizaba con las personas indicadas dentro del establecimiento. Actualmente, se hace uso de diversas funciones programables con capacidad para establecer la comunicación a través de un número variable de líneas y así realizar el enlace de forma automática. 1 José Manuel Huidobro Moya, Tecnología IP y Telefonía VoIP,

9 Descripción En base a los conocimientos de programación adquiridos en la carrera de Ingeniería en Comunicaciones y Electrónica se implementará una aplicación Proxy PBX, basada en una tecnología de nueva generación: VoIP. Esta aplicación permitirá capturar y procesar mensajes SIP especificados en el RFC 3261, que estén implicados en una sesión telefónica, esto con el fin de hacer un reporte de llamadas: Inicio de llamadas, duración de llamadas, el número de extensiones telefónicas que intervienen en la llamada, etc. El desarrollo de un software Proxy PBX estará basado en el entorno de programación Visual Studio C# con la utilización de bibliotecas de sockets, desarrollado para el Sistema Operativo Windows mediante su interfaz gráfica. Para establecer la comunicación es necesario que exista un cliente y un servidor, donde el servidor tendrá la función de un PBX y podrá almacenar y distribuir las peticiones (llamadas) del cliente a toda la red local. El Proxy PBX es un elemento que se pondrá como intermediario entre el servidor PBX y el cliente Softphone, con la intención de generar los reportes de las llamadas. Para lograr la comunicación entre el servidor y sus clientes, será necesario hacer uso de diversos protocolos, mediante el modelo OSI. En la capa 1 (Física) se utilizará como medio de transmisión cable UTP categoría 5 utilizado normalmente en redes LAN. En la capa 2 (Enlace de datos) se requerirá un switch para concentrar todas las terminales existentes conectadas al servidor. Siguiendo con la capa 3 (Red) se implementará el protocolo IP y con esto se configurarán los clientes dentro de un dominio para ser visibles por el servidor. Dentro de la capa 4 (Transporte) para que exista transmisión de datos se hará uso del protocolo UDP basado en el envío de datagramas, el cual resulta de mayor factibilidad para transmitir voz en tiempo real. Por último en la capa de aplicación el protocolo SIP tomará un papel importante para lograr la comunicación y reconocimiento de las aplicaciones entre cliente y servidor. La aplicación Proxy PBX que se desarrollará en este trabajo, interviene en la capa 3 de modelo OSI, ya que re define direcciones IP con el fin de alcanzar al servidor PBX, manejara información de capa 4 con la intención de aceptar conexiones y enviar mensajes SIP mediante el protocolo UDP, entre la aplicación cliente Softphone y la aplicación servidor PBX y por último, modificara información de la capa de aplicación, es decir, del mensaje SIP en su cabecera para dar a conocer información de localización de los elementos que intervienen en la llamada SIP. 9

10 Justificación Actualmente en México hay poco desarrollo de aplicaciones para el manejo de VoIP, en lo que concierne a la telefonía IP: Softphone, PBX, Reporteador de llamadas y Proxy s. Existen muchas aplicaciones para VoIP pero desarrolladas en el extranjero, las aplicaciones que generan reportes de llamadas son a veces incompatibles entre diferentes marcas, son caras y su soporte es en el país extranjero, lo que hace a este tipo de soporte ineficiente. Se puede adquirir un PBX IP basados en software gratuito, normalmente para Linux, pero rara vez se pueden imprimir reportes. Por otro lado, en México no se desarrollan aplicaciones en tecnologías que están despuntando, como VoIP, e incluso adquiriendo gran popularidad, lo que nos deja en un plano de atraso tecnológico. Objetivo General: Objetivos Aplicar el lenguaje de programación C# para desarrollar un software Proxy PBX, implementado en una red de área local que utiliza la tecnología VoIP. Objetivos Particulares: a) Aplicar los protocolos SIP, IP y UDP para lograr la transmisión y recepción de la información para así manipular los datos según las necesidades del usuario. b) Programar sockets dentro del entorno de programación Windows C# para el desarrollo de una aplicación que nos permita gestionar las comunicaciones dentro de una red. c) Establecer comunicación entre nuestra aplicación y teléfonos basados en la tecnología VoIP. d) Diseñar una Interfaz Gráfica que permita la gestión de llamadas y el reporte de las mismas. 10

11 Diagrama a bloques del proyecto y sus alcances SIP IP Servidor de Registro UPD/RTP UAC 1 PROXY PBX Reporteador VoIP Gateway PSTN UAC UAC. 11

12 CAPITULO I. ESTADO DEL ARTE 1.1 PBX Antecedentes Una de las necesidades fundamentales de las empresas, es el mantener una comunicación eficaz. Esta función actualmente es realizada por el sistema PBX (Private Branch Exchange), es un dispositivo que permite la operación de una red telefónica privada que es utilizada dentro de una empresa. Este sistema dispone de cierto número de líneas, conecta las extensiones internas y al mismo tiempo las conecta con la red pública conmutada, conocida también como PSTN (Public Switched Telephone Network). En un inicio, se utilizaban centrales manuales de conmutación conocidas como PMBX 2 (Figura 1). Este término duro muy poco tiempo en el mercado y hace referencia a época donde las llamadas eran transferidas de un circuito a otro manualmente, conectando cables entre los abonados, este sistema era poco eficiente y tuvo principalmente 2 problemas que impulsaron su evolución. El primero era que las operadoras podían escuchar las llamadas y la segunda causa fue el error humano, ya que en ocasiones se enlazaban las llamadas a lugares equivocados. La solución, realizar este procedimiento mediante maquinas automáticas. Figura 1. ERICSSON PMBX 1A 2 Private Manual Branch Exchange 12

13 A partir de este punto, el avance de la telefonía, estuvo íntimamente ligado al desarrollo de los sistemas de cómputo ya que, aunque los equipos que reemplazaban a los PMBX todavía utilizaban tecnología convencional, su sistema central ya estaba basado en una computadora. Gracias a este avance, se comenzaron a agregar funciones útiles tanto en telefonía pública como en la telefonía corporativa y así, se obtenían cada vez más beneficios, más funcionalidad, mayor capacidad y menor costo. En el ámbito empresarial, es de suma importancia mantener comunicaciones eficientes. El sistema PBX se desarrolló para proveer a las empresas de funciones mejoradas, que no ofrecían las compañías de telefónicas, en la actualidad existen equipos de conmutación que, de manera automática, registran las llamadas entrantes y salientes, la duración de cada una de ellas y los números troncales y de enlace, entre otras funcionalidades Estado actual de los PBX Una de las tendencias más recientes en telefonía es la telefonía computarizada, paralelo al desarrollo de sistemas telefónicos que transmiten la voz por medio de la red de Internet. Estos llevan el nombre de VoIP PBX ó IP PBX. Actualmente existen cuatro diferentes opciones de sistemas telefónicos: PBX Servicio de PBX Virtual IP PBX Servicio de IP PBX Virtual Un IP PBX es un sistema telefónico basado en software que permite a un negocio disfrutar de varias funcionalidades y servicios que son normalmente son muy difíciles y costosos de implementar con las centralitas telefónicas PBX tradicionales. En la actualidad el registro y direccionamiento de llamadas es administrado mediante software, implementado bajo la tecnología VoIP, que de manera automática suprime el trabajo de una operadora telefónica que registraba la duración de llamadas así como la restricción hacia diversos usuarios. Una la de las aplicaciones más conocidas para realizar este tipo de funciones es la llamada Asterisk que fue creada en el año de 1999 por Mark Spencer de la empresa Digium y donada a la comunidad con licencia libre tras lo cual se han recibido muchas colaboraciones y mejoras por parte de muchos desarrolladores libres y empresas sin solicitar nada a cambio. 13

14 Poco a poco, esta aplicación se ha convertido en la evolución de las tradicionales centralitas analógicas y digitales permitiendo también la integración de la tecnología más actual: VoIP. Asterisk ha sido un sistema de comunicaciones completo, avanzado y económico en la actualidad. Este sistema permite realizar labores que hasta el día de hoy lo llevaban realizando sistemas extremadamente costosos y complicados. Una de las ventajas más interesantes es su posibilidad como sistema híbrido, ya que permite gestionar comunicaciones telefónicas tradicionales (analógicas, digitales, móviles, etc.) como comunicaciones IP mediante el uso de los protocolos estándar de VoIP. A pesar de las ventajas que nos ofrece Asterisk, presenta deficiencias en plataformas para Windows, ya que carece de funcionalidades para generar reportes de llamadas. Dicha función, al ser una pieza fundamental para un sistema PBX, el cliente se ve en la necesidad de adquirir este complemento, lo cual incrementa costos debido al desarrollo y soporte técnico en el extranjero. 14

15 1.2 VoIP Antecedentes de la telefonía convencional En sus inicios, el teléfono, consistía en un aparato con un altavoz y un micrófono, unido mediante un cable con otro aparato semejante situado a cierta distancia (ver figura 2). A través de dicho cable se enviaba y recibía la voz de cada uno de los extremos, lo que permitió mantener conversaciones con personas situadas a distancia. En la primera etapa (1878), cada terminal debía realizar la unión con los teléfonos remotos mediante un cable, donde si no existía conexión en los dos extremos, era imposible efectuar la comunicación. Eso provocó la aparición de múltiples cables tirados por las ciudades uniendo teléfonos particulares. Figura 2: Telefonía punto a punto mediante cables En la segunda etapa (1891), una entidad global se encargó de gestionar los cables, de modo que cada teléfono se unió a una central (ver figura 3). Cuando alguien deseaba realizar una llamada, en la central se unían los cables de ambos teléfonos, lo que permitía hablar con cualquier teléfono que estuviera conectado a la central, sin necesidad de conectar un cable específico con cada teléfono. Para conseguir esto, se hizo necesaria la identificación de cada teléfono mediante un número. Al principio las centrales eran manuales. Era necesaria la existencia de un operador que realizara la unión de los cables, a través de grandes paneles con múltiples nodos. Con el tiempo, se inventó una central automática, que permitió acelerar el proceso. Durante muchos años, conseguir la conexión telefónica llevaba mucho tiempo, en ocasiones varias horas debido a la congestión dentro de un canal de comunicación. 15

16 Figura 3: Telefonía conectada a central En cualquier caso, el hecho es que comenzaron a instalarse centrales en distintas ciudades, que luego eran unidas entre sí. Gracias a eso, se pudieron realizar llamadas interurbanas. Para lograrlo, la central origen debía unir el cable del teléfono que realizaba la llamada con el cable que la unía con la central destino. Y ésta, a su vez, debía unir este cable con el del teléfono destino. Para aprovechar el cableado, las uniones entre centrales se multiplexaban, de modo que era posible llevar por el mismo cable más de una llamada. Esto se lograba mediante multiplexación por división de frecuencia (FDM), donde, mediante un sintonizador era posible seleccionar una determinada frecuencia emitida por la central telefónica. Durante mucho tiempo, toda la red telefónica fue analógica. La información transmitida por los cables era una transformación directa de la voz en voltaje, que era lo que se enviaba y recibía. En su camino desde el origen al destino, la señal atravesaba diversos filtros analógicos, repetidores y amplificadores. Todos estos dispositivos (además de los posibles problemas del cable o interferencia) provocaban la aparición de ruido en el sonido que no podían ser eliminados fácilmente, y que originaban una baja calidad de sonido en el otro extremo. Con la aparición de la telefonía digital, la comunicación fue más eficiente. Mediante el uso de conversores analógico/digital y digital/analógico, en lugar de enviar la voz convertida en voltaje, se envía esa voz digitalizada. La señal transmitida puede seguir sufriendo ruido e interferencia por culpa de problemas en el medio de transmisión. Pero cuando llega a un punto intermedio de la red (central, repetidor, etc.) la señal original puede ser restaurada completamente, eliminando el ruido de la conversación. Progresivamente, las redes telefónicas de los distintos países se han ido transformando en digitales, en lo que a conexión entre centrales se refiere. La conexión entre los teléfonos y la central sigue siendo analógica, pero las centrales recogen la señal y 16

17 la digitalizan, por lo que no se acumula ruido en el sonido por culpa de la conexión entre centrales. Esto es posible únicamente gracias a la digitalización de la voz, que permite almacenar partes de la conversación y mandarlas instantes después. Es posible dividir, por ejemplo, cada conversación en secciones de milésimas de segundo que son enviadas a través del cable en mucho menos tiempo aún, pudiendo aprovechar el mismo cable para cientos de conversaciones. Con el paso de los años, las nuevas tecnologías han adquirido un papel muy importante dentro de las comunicaciones, como lo es la tecnología VoIP que da lugar a la implementación de la telefonía IP que se viene abriendo paso frente a la telefonía convencional Estado actual de la Telefonía IP bajo la tecnología VoIP En la década de los 90, un grupo de personas perteneciente al entorno de la investigación, tanto de instituciones educativas como empresariales, comenzaron a mostrar cierto interés por transportar voz y video sobre redes IP, especialmente a través de intranets corporativas e Internet. Esta tecnología es conocida hoy en día como VoIP y es el proceso de dividir el audio y el video en pequeños fragmentos, transmitir dichos fragmentos a través de una red IP y re ensamblar esos fragmentos en el destino final permitiendo de esta manera que la gente pueda comunicarse. La idea de la VoIP no es nueva, ya que hay patentes y publicaciones de investigaciones que datan de varias décadas. La VoIP ha tomado un papel central en la autopista de la información (o Internet) para que la red pueda interconectar cada hogar y cada negocio a través de una red de conmutación de paquetes. Fue la posibilidad de un despliegue masivo de Internet la que volvió a reabrir el interés en la VoIP a partir de esos años. En 1995, una pequeña compañía llamada Vacoltec anunció el lanzamiento del primer teléfono software para Internet. Este software era únicamente útil para entablar una comunicación de PC a PC y para ello necesitaba hacer uso de diversos requisitos hardware tales como micrófono, altavoces, tarjeta de sonido y módem. Básicamente el funcionamiento de este software es igual al de hoy en día, transformar la señal de voz en paquetes IP una vez comprimida. Sin embargo, esta alternativa a la comunicación telefónica tradicional fue comercialmente un fracaso ya que las conexiones a Internet que se disponían ofrecían un ancho de banda muy escaso. Durante los años siguientes, la tecnología asociada a las redes de datos y las comunicaciones continuó mejorando, para ser en 1998 cuando se dieron definitivamente los primeros pasos desde un punto de vista comercial. En este año diversas compañías lanzaron al mercado adaptadores que permitían hacer uso de los teléfonos tradicionales en un entorno VoIP. Ello facilitó el acercamiento a los clientes a la hora de poder hacer uso de la 17

18 tecnología VoIP, por lo que algunas empresas importantes se lanzaron al mercado ofreciendo productos y servicios relacionados con esta tecnología. Durante el año 1998 la tecnología VoIP alcanzaba ya el 1% del tráfico total de voz: su carrera había comenzado. En , compañías dedicadas a las redes de datos tales como CISCO crearon las primeras plataformas destinadas a empresas capaces de tratar con tráfico VoIP. Esto supuso un nuevo impulso a la VoIP ya que comenzó a implantarse en muchas empresas. La consecuencia directa fue que la VoIP alcanzara en el año 2000 más del 3% del tráfico total de voz. Las redes de datos siguieron mejorando en años venideros, y alrededor del año 2005 ya era fácil para cualquier persona de países desarrollados conseguir una conexión a Internet que cumpliera los requisitos mínimos para ofrecer una buena calidad de voz y una comunicación fiable a través de VoIP, reduciendo al mínimo las posibles interrupciones que se pudieran producir durante la conversación. Esto supuso otro gran impulso a la VoIP y provocó que al día de hoy existan muchas soluciones que hacen uso de esta tecnología. Un ejemplo claro es Asterisk, una centralita telefónica de software libre que se distribuye bajo licencia GPL. Este producto, soportado comercialmente por Digium, se ha convertido en pocos años en una de las soluciones IP más extendidas en diversos ámbitos, como el empresarial o el educativo. Otro ejemplo destacable de producto VoIP es Skype, que fue creado por dos jóvenes universitarios en el año A diferencia de Asterisk, Skype hace uso de un protocolo privado que no está basado en un estándar, lo que a largo plazo se piensa que limitará a sus usuarios. Al día de hoy Skype se puede emplear en multitud de plataformas y su uso se encuentra también ampliamente extendido. De un modo u otro, a finales del año 2008 se esperaba que el negocio relacionado con la VoIP llegara a la impresionante cifra de 5000 millones de dólares. El bajo costo de las llamadas a distancia y las nuevas funcionalidades que se están implementando son sólo dos de los alicientes que están provocando esta revolución. Aunque VoIP puede definirse abreviada como una tecnología que aprovecha el protocolo TCP/IP para ofrecer conversaciones de voz, lo cierto es que es mucho más que esto. VoIP puede ser usada para reemplazar la telefonía tradicional en un entorno empresarial, en un pequeño negocio o en una casa, o simplemente para añadir ventajas a un sistema de telefonía tradicional. 3 José Manuel Huidobro Moya, Tecnología IP y Telefonía VoIP,

19 El proceso de convergencia ha seguido un camino pausado. No es sencillo invertir en nuevos equipos o infraestructura como lo demanda el actual ritmo de crecimiento en materia de TICs, por tanto se tiende a seguir un modelo híbrido donde conviven PBX tradicionales y PBX habilitados con soporte para redes IP. Hoy en día la industria de las telecomunicaciones ha decidido apostar fuerte por una plataforma común sobre el Protocolo de Internet aunque, como hemos mencionado anteriormente, ha decidido hacerlo con visión de largo plazo. Para muchas organizaciones, incluyendo instituciones de educación, la convergencia significa la oportunidad de fusionar las aplicaciones existentes con nuevas herramientas de comunicación y nuevos modelos de transmisión de la información cuyas posibilidades son infinitas. En este rubro, México ocupa uno de los primeros lugares a nivel América Latina en el uso de la telefonía IP. Cada vez, más organizaciones están optando por los beneficios de la convergencia al mundo IP. El mercado de la telefonía por Internet ha crecido constantemente en los últimos años y seguirá con esta tendencia en el futuro próximo. Las ventajas que la convergencia plantea se vislumbran prometedoras. Aún no hay una idea clara del impacto que esta tecnología de convergencia puede tener no sólo en los modelos de negocios actuales sino en otros campos como lo es el sector educativo y de investigación. Quien domine el lenguaje de las comunicaciones por Internet tendrá un vasto mundo de oportunidades no solo de desarrollo profesional sino también personal. 19

20 CAPÍTULO II. MARCO TEÓRICO 2.1 PBX Definición Una central privada automática de conmutación para aplicaciones telefónicas, denominado generalmente PABX (Private Automatic Branch Exchange) o, últimamente, solo PBX ya que se entiende que todas son automáticas, es un equipo que tiene control por software y proporciona funciones de conmutación a los usuarios a ella conectados. El PBX permite conmutar las llamadas internas sin necesidad de acceder a la red pública de conmutación. A continuación se explica el significado del acrónimo PABX: Private. Debido a que este tipo de sistemas e instalaciones tienen un uso privado cuyos servicios no se encuentran disponibles desde otras redes de telefonía de acceso público. Automatic. Se refiere al modo de conmutación que desde hace ya mucho tiempo es automático para todos los equipos por lo que normalmente en vez de decir PABX se dice PBX. Branch. Sugiere que los equipos conectados a estas redes privadas se comportan en realidad como una ramificación de las grandes redes de acceso público. Exchange. Debido a que estos sistemas permiten intercambiar información, es su caso esta información son sobre todo llamadas telefónicas IP PBX Actualmente existe una gran diversidad de modelos de centrales telefónicas: centrales con mayor o menor número de extensiones para pequeñas o grandes empresas, de más o menos prestaciones, con mayor o menor funcionalidad, totalmente analógicas, semidigitales, completamente digitales, híbridas o completamente IP. Un PBX IP, es un equipo telefónico diseñado para ofrecer servicios de comunicación de voz y/o video a través de las redes de datos mediante tecnología VoIP e interactuar con la red PSTN, tanto RTB, como RDSI y móvil. Para disponer de las funciones de una centralita telefónica IP PBX se tienen varias opciones: IP PBX basada en hardware, IP PBX basada en software, IP Centrex y PBX híbrida con soporte VoIP. 20

21 Características Una centralita telefónica IP PBX permite comunicación de voz y/o video a través de las redes de datos, utilizando tecnología VoIP así como interactuar con las líneas telefónicas convencionales PSTN o RTC (Red Telefónica Conmutada), tanto analógicas RTB (Red Telefónica Básica) como digitales RDSI (Red Digital de Servicios Integrados) y móviles GSM/GPRS/UMTS. Una centralita telefónica IP PBX trabaja internamente con el protocolo IP, utilizando infraestructuras de comunicaciones de datos basadas en IP, como Internet, LAN (Local Area Network, Red de área local), WLAN (Wireless LAN, Wireless Local Area Network, Red de área local inalámbrica) y WAN (Wide Area Network, Red de área amplia). Una IP PBX puede tener las siguientes características, de acuerdo a su funcionamiento: IP PBX hardware: la centralita existe como dispositivo físico de hardware. Normalmente, cada uno de estos tipos se basa en un hardware específico con su propio procesador integrado que les permite soportar y manejar sus características específicas de señalización. IP PBX software (también llamada Soft IP PBX): la centralita consiste en un sistema de software. IP Centrex (también llamado Virtual IP PBX o Hosted IP PBX): la compañía telefónica proporciona virtualmente el servicio simulado de IP PBX. PBX con soporte VoIP (también llamada PBX híbrida): la mayoría de PBX tradicionales pueden disponer de las funciones de una centralita IP PBX conectando módulos donde se incorpora la tecnología VoIP Componentes y funcionamiento A continuación, se describen los principales componentes de una centralita telefónica IP PBX y su funcionamiento: La centralita telefónica IP PBX es el núcleo del sistema de comunicación telefónica de la empresa, esta se conecta a la red LAN, que debe disponer de suficiente ancho de banda para el transporte de datos, voz y video. Los teléfonos IP, así como los teléfonos IP DECT, se conectan en la LAN y se registran en la centralita telefónica IP PBX. 21

22 Las PC s de la red, tanto con conexión cableada como Wi-Fi, pueden acceder a la centralita telefónica IP PBX a través de la LAN, realizando llamadas mediante Softphones registrados en el IP PBX. Un gateway VoIP o ATA (Analog Telephone Adapter), permite conectar con equipos estándar, como teléfonos analógicos, faxes o teléfonos inalámbricos DECT. La telefonía VoIP permite extender la red telefónica privada a través de Internet, integrando de ese modo oficinas remotas en la infraestructura de comunicaciones de la empresa. Los usuarios acceden a los servicios que proporciona la centralita PBX IP a través de diversos dispositivos, entre los cuales se encuentran los teléfonos IP, Softphones, Fax, mensajería instantánea, sistemas de videoconferencia, dispositivos móviles, etc. 2.2 Proxy PBX Definición de un Sistema Proxy Un sistema proxy proporciona acceso a Internet a un solo anfitrión, o a un número pequeño de anfitriones, aunque parece que lo proporciona a todos. Los anfitriones que si tiene acceso actúan como proxy para las máquinas que no lo tienen, haciendo lo que estas últimas quieren que se haga. Un servidor proxy para un protocolo o para un conjunto de protocolos determinados se ejecuta en un anfitrión con doble a acceso o con un anfitrión bastión: algún anfitrión con el que pueda establecer comunicación con el usuario, que pueda, a su vez, comunicarse con el mundo exterior. El programa cliente del usuario se comunica ( habla ) con este servidor proxy en lugar de hacerlo directamente con el servidor real que está en Internet. El servidor proxy evalúa solicitudes del cliente y decide cuales pasar y cuáles no. Si una petición es aprobada, el servidor proxy habla con el servidor real en nombre del cliente (de ahí el término proxy, que significa representante en español) y procede a transmitir las solicitudes del cliente al verdadero servidor y a transmitir las respuestas de éste de nuevo al cliente. Para el usuario, hablar con el servidor proxy es como hablar directamente con el verdadero servidor. En cuanto a éste último, habla con un usuario en el anfitrión que ejecuta el servidor proxy; no sabe que el usuario en realidad está en otro lugar. Un sistema proxy no requiere de hardware especial, aunque si de un software especial para la mayoría de los servicios. 22

23 2.2.2 Funcionamiento Los detalles de cómo funciona un proxy varían de un servicio a otro. Algunos servicios proporcionan un proxy fácil o automáticamente; para esos servicios, un proxy se instala al realizar cambios de configuración a los servidores normales. Sin embargo, para la mayoría de los servicios la instalación de un proxy requiere de un software apropiado para servidor proxy del lado del servidor. De lado del cliente, necesita uno de los siguientes: Software cliente personalizado Con este enfoque, el software debe saber cómo ponerse en contacto con el servidor proxy en lugar de con el verdadero servidor cuando un usuario hace una solicitud, y cómo decirle al servidor proxy con cual servidor real conectarse. Procedimientos personalizados de usuario Con este enfoque, el usuario utiliza el software cliente estándar para hablar con el servidor proxy y le dice que se conecte con el verdadero servidor, en lugar de conectarse con el verdadero servidor directamente. Ventajas Ventajas y desventajas del uso de un Proxy Los servicios Proxy son buenos para la contabilidad del sistema Debido a que los servidores Proxy comprenden el protocolo de niveles inferiores, permiten que se lleve la contabilidad del sistema de una forma muy efectiva. Desventajas Los servicios Proxy podrían requerir servidores diferentes para cada servicio Quizá necesite un servidor Proxy para cada protocolo, por que el servidor Proxy debe comprender el protocolo para determinar que permite y que no, y para hacerse pasar como cliente ante el verdadero servidor y como el verdadero servidor ante el cliente proxy. Coleccionar, instalar y configurar todos estos servidores puede requerir mucho trabajo. Los productos y la paquetería difieren mucho en cuanto a la facilidad con la que pueden ser configurados, pero facilitar las cosas en un lugar puede hacerlas más difíciles en otros. Por ejemplo, los servidores fáciles de configurar por lo general están limitados en flexibilidad; son fáciles de configurar porque hacen ciertas suposiciones sobre cómo piensan que van a ser utilizados, que puede o no ser lo correcto o apropiado para su sitio. 23

24 2.2.4 Proxy a nivel de aplicación: Protocolo SIP Un proxy a nivel de aplicación es el que sabe sobre la aplicación específica para la cual está proporcionando servicios proxy; comprende e interpreta los comandos en el protocolo de la aplicación. Por otro lado, un proxy a nivel de circuito es el que crea un circuito entre el cliente y el servidor sin interpretar el protocolo de la aplicación. Aunque a nivel de aplicación y a nivel de circuito son términos utilizados a menudo, con mayor frecuencia distinguimos entre los servidores proxy dedicados y genéricos. Un servidor proxy dedicado es el que sirve a un solo protocolo; un servidor proxy genérico es el que sirve a varios protocolos. Dentro de la arquitectura de VoIP, es necesario el uso de ciertos elementos que permitan ordenar el tráfico telefónico y a la vez poner en contacto a los diferentes usuarios de las redes implicadas. Tal y como trabajan los routers con los datos en general, recibiendo y enviando peticiones desde y hacia otras maquinas, los diferentes protocolos IP necesitan igualmente que alguien o algo encamine sus peticiones hacia los usuarios finales, a fin de establecer una conversación. Esta tarea la realiza un servidor proxy o enrutador, encargándose de rutar la señalización hacia los sitios adecuados en función de las indicaciones pertinentes que cada protocolo implementa. En este contexto, un Proxy SIP, es una entidad intermediaria que actúa como un servidor y un cliente con el propósito de hacer peticiones en nombre de otros clientes. Un servidor proxy principalmente juega el papel de enrutamiento, lo que significa que su trabajo es asegurarse de que una solicitud se envía a otra entidad "más cercana" a los dirigidos del usuario. Los proxys son también útiles para la aplicación de la política (por ejemplo, asegurarse de que un usuario se le permite hacer una llamada). Un Proxy interpreta, y si es necesario, reescribe partes específicas de un mensaje de solicitud antes de enviarlo. De esta forma, los Proxy s se clasifican en 2, de la siguiente manera: Stateful Proxy: Es una entidad lógica que mantiene el estado de las transacciones durante el procesamiento de las peticiones. Permite división de una petición en varias, con la finalidad de la localización en paralelo de la llamada y obtener la mejor respuesta para enviarla al usuario que realizó la llamada. Stateless Proxy: Una entidad lógica que no mantiene el estado de las transacciones durante el procesamiento de las peticiones, únicamente reenvían mensajes. 24

25 Los Proxy s SIP, son elementos que enrutan peticiones SIP al agente de usuario servidores y las respuestas SIP a los agentes de usuario clientes. La solicitud puede atravesar varios Proxy s en su camino a un UAS. Cada uno hará en el enrutamiento, la modificación de la solicitud antes de enviarlo a la siguiente elemento. Las respuestas recorrerá el mismo conjunto de Proxy s que la solicitud atravesó, en el orden inverso. Al ser un proxy es una función lógica para un elemento de SIP. Cuando una solicitud de llega, un elemento que puede desempeñar el papel de un primer indicador decide si es necesario responder a la solicitud por su propia cuenta. Por ejemplo, la solicitud puede ser incorrecta o el elemento puede necesitar credenciales del cliente antes de actuar como un proxy. El elemento puede responder con cualquier código de error apropiado. Al responder directamente a una solicitud, la elemento es el papel de un UAS. Figura 4. Esquema de enrutado en un entorno SIP 25

26 2.3 TECNOLOGÍA VoIP Introducción a la VoIP Tradicionalmente, las redes de área local se vienen utilizando para la transmisión de datos, pero conforme las aplicaciones tienden a ser multimedia y los sistemas de comunicaciones en vez de ser elementos independientes y aislados para atender un determinado tipo de comunicación, son servidores de un conjunto más complejo, se tiende a transmitir cualquier tipo de información sobre los medios existentes. Así, sobre la LAN corporativa y sobre Internet, unos medios extendidos por la mayor parte de las empresas, mediante la adopción de ciertos estándares y la incorporación de algunos elementos, es posible enviar voz y vídeo, con la gran ventaja y ahorro que supone el utilizar la infraestructura existente. Sin embargo y mientras que los datos no son sensibles al retardo, a la alteración del orden en que llegan los paquetes, o la pérdida de alguno de ellos, ya que en el extremo lejano se reconstruyen, la voz y la imagen necesitan transmitirse en tiempo real, siendo especialmente sensibles a cualquier alteración que se pueda dar en sus características. Requieren por tanto de redes que ofrezcan un alto grado de servicio y garanticen el ancho de banda necesario Definición VoIP (Voice Over Internet Protocol) es la posibilidad de enviar paquetes de voz en tiempo real, conjuntando técnicas y tecnologías que nos permiten, digitalizar la voz y acondicionarla para que pueda ser transmitida a través de redes de datos basadas en el protocolo de Internet (IP). VoIP es un grupo de recursos que permiten utilizar las redes IP para aplicaciones de voz, tales como telefonía, teleconferencias, etc. Lo que permite tener conversaciones con personas a través de la red, en lugar de utilizar la telefonía tradicional. La principal ventaja de VoIP es la reducción de costos en las llamadas realizadas Implementación y funcionamiento de telefonía IP La telefonía IP reúne la transmisión de voz y de datos, lo que posibilita la utilización de las redes informáticas para efectuar llamadas telefónicas. Además, ésta tecnología al desarrollar una única red encargada de cursar todo tipo de comunicación, ya sea de voz, datos o video, se denomina red convergente o red multiservicios. La telefonía IP surge como una alternativa a la telefonía tradicional, brindando nuevos servicios al cliente y una serie de beneficios económicos y tecnológicos con características especiales como: 26

27 a) Interoperabilidad con las redes telefónicas actuales: Donde se dispone de dos tipos de Interconexión a la red de telefonía pública, desde una central telefónica IP y directamente desde una tradicional. b) Calidad de Servicio Garantizada a través de una red de alta velocidad: En Telefonía IP el concepto de calidad incluye aspectos como: - Red de alta disponibilidad que ofrece hasta de un 99,99% de recursos. - Calidad de voz garantizada (bajos indicadores de errores, de retardo, de eco, etc.) c) Servicios de Valor Agregado: como el actual prepago, y nuevos servicios como la mensajería unificada. Este modo de telefonía hace uso de un tipo especial de teléfono denominado Softphone, es un software que hace una simulación de teléfono convencional por computadora. Es decir, permite usar la computadora para hacer llamadas a otros Softphones o a otros teléfonos convencionales usando un VSP. Normalmente, un Softphone es parte de un entorno Voz sobre IP y puede estar basado en el estándar SIP/H.323 o ser privativo Control de la comunicación Al igual que ocurre en cualquier red, las redes de voz sobre paquetes requieren de una serie de normas que especifican las funcionalidades y servicios que este tipo de redes deben proveer en todas y cada una de sus dimensiones. Estas normas son los protocolos, y un aspecto muy importante es que tengan carácter abierto y que sean internacionalmente aceptados con el fin de garantizar la interoperabilidad entre productos de distintos fabricantes, facilitando la elección de los usuarios y disminuyendo los precios de los equipos al fabricarse estos en mayor escala. Una vez justificada la necesidad de protocolos, el paso siguiente es determinar que ámbitos de las redes de voz sobre paquetes deben estandarizarse. Para ello, se analizara a detalle los pasos implicados en el establecimiento de una llamada. En las redes telefónicas convencionales, una llamada consta de tres fases: establecimiento, comunicación y desconexión. Durante el establecimiento se reservan los recursos necesarios para que, en la fase de comunicación, la información pueda fluir libremente entre los dos extremos (cliente y servidor). Finalmente, en la desconexión se liberan los recursos que, previamente, se habían reservado y se pasa la información necesaria al servidor para que determine la tarifa de dichos recursos. Este esquema continúa siendo válido aunque con algunos cambios, para las redes de voz sobre paquetes. En estos casos, tradicionalmente, se han venido distinguiendo tres grandes grupos de protocolos (ver figura 5), que pueden ir bien sobre TCP y/o UDP, y ambos sobre IP. 27

28 2.3.5 Parámetros VoIP Uno de los principales problemas a los que se enfrentan tanto VoIP como todas las aplicaciones que se integran al protocolo IP, es el garantizar la calidad de servicio sobre Internet, ya que puede tener limitaciones de ancho de banda en la ruta y por lo tanto no existe un aprovechamiento óptimo de los recursos que nos provee la red mundial de la Internet Códec La voz ha de codificarse para poder ser transmitida por la red IP. Para ello se hace uso de códecs que garanticen la codificación y compresión del audio o del video para su posterior decodificación y descompresión antes de poder generar un sonido o imagen utilizable. Según el Códec utilizado en la transmisión, se utilizará más o menos ancho de banda. La cantidad de ancho de banda utilizada suele ser directamente proporcional a la calidad de los datos transmitidos. Entre los códecs utilizados en VoIP encontramos los G.711, G y el G.729 (especificados por la ITU-T). Estos Códecs tienen este tamaño en su señalización: G.711: bit-rate de 56 o 64 Kbps. G.722: bit-rate de 48, 56 o 64 Kbps. G.723: bit-rate de 5,3 o 6,4 Kbps. G.728: bit-rate de 16 Kbps. G.729: bit-rate de 8 o 13 Kbps Protocolos de señalización El objetivo es establecer un canal de comunicaciones a través del cual fluya la información de usuario y liberar el anal cuando finalice la comunicación. Para ello, debe existir un dialogo entre los componentes de la red y entre la red y las terminales de usuario. Son protocolos de señalización el H.323, SIP y MGCP. 28

29 Protocolos de transporte de voz y ancho de banda de la voz Son las normas que definen como debe realizarse la comunicación entre los extremos por un canal de comunicaciones previamente establecido. Los protocolos de transporte más empleados son RTCP, RTP, UDP y TCP. Figura 5. Esquema protocolos. Encapsulamiento de una trama VoIP Una vez que la llamada ha sido establecida, la voz será digitalizada y entonces transmitida a través de la red en tramas IP. Las muestras de voz son primero encapsuladas en RTP (Protocolo de Transporte en tiempo Real) y luego en UDP o TCP antes de ser transmitidas en una trama IP. La siguiente figura muestra un ejemplo de una trama VoIP sobre una red LAN y WAN. Figura 6. Trama VoIP 29

30 2.3.6 Ventajas VoIP tiene también algunas desventajas, sin embargo, las ventajas que puede aportar superan claramente a éstas. A continuación se mencionan algunos de los beneficios asociados al uso de VoIP y se ve cómo podría mejorar la comunicación por voz: Ahorrar Dinero. En una línea RTC, tiempo significa dinero. VoIP emplea Internet como medio de transporte, donde el único costo que se tiene es la factura mensual de Internet a tu proveedor de servicio o ISP. Hoy en día el servicio de Internet más común es una ADSL que se puede emplear de forma ilimitada y conlleva a un costo fijo al mes. De esta forma, si el ADSL tiene una velocidad razonable, podrá hablar a través de VoIP con una buena calidad de llamada y el coste seguirá siendo siempre el mismo. Más de dos personas. En una línea de teléfono convencional, únicamente dos personas pueden hablar al mismo tiempo. Con VoIP, se puede configurar una conferencia que permite a un grupo de personas comunicarse en tiempo real. VoIP comprime los paquetes durante la transmisión, algo que provoca que se pueda transmitir una cantidad mayor de datos. Como resultado, se pueden establecer más llamadas a través de una única línea de acceso. Hardware y software baratos. El único hardware adicional además de una computadora y conexión a Internet será una tarjeta de sonido, unos altavoces y un micrófono. Todo este material hasta hoy en día bastante barato. Existen diferentes paquetes de software descargables desde Internet que emplean VoIP y que sirven para establecer comunicaciones por voz, algunos con ciertas restricciones, teniendo que invertir en licencias para habilitar llamadas a cualquier parte del mundo. Lo que se debe tomar en cuenta es que para comenzar a emplear VoIP no es necesario un teléfono con todo el equipamiento asociado a este, algo que podría resultar más caro. Además en la mayoría de los casos no será necesario hacer nuevas instalaciones de cableado telefónico, ya que VoIP se integra con la red de datos existente en la gran mayoría de empresas y hogares. Prestaciones abundantes, interesantes y útiles. Usar VoIP también significa beneficiarse de sus prestaciones abundantes, que pueden hacer la experiencia de emplear VoIP mucho más rica y sofisticada, tanto en el hogar como en el trabajo. En general, ofrece un mayor equipamiento para la gestión de llamadas. Se podrá, por ejemplo, hacer llamadas en cualquier lugar del mundo a cualquier destino del mundo únicamente empleando una cuenta VoIP. De esta forma, la VoIP pasar a ser un servicio tan portable como el , es decir, no limita la movilidad del abonado. Otras prestaciones que ofrece VoIP son el reconocimiento de llamada, posibilidad de crear números virtuales o el contestador automático, por poner algunos ejemplos. Más que voz. A estar basada en una red de paquetes, VoIP puede manejar también otros tipos de datos además de la voz: podríamos transmitir imágenes, video o texto 30

31 a la vez que la voz. De esta forma, se puede hablar con alguien a la vez que se le envían archivos o incluso a la vez que se le observa a través de una webcam. Uso más eficiente de ancho de banda. Se sabe que el 50% de una conversación de voz es silencio. VoIP rellena estos espacios de silencio con datos de forma que el ancho de banda de los canales de comunicación no sean desaprovechados. La compresión y la posibilidad de eliminar la redundancia cuando se transmite voz serán también factores que elevarán la eficiencia de uso del ancho de banda de la conexión. Esquema de red flexible. La red que encontramos bajo VoIP no necesita tener un esquema o topología en concreto. Esto hace posible que una organización pueda hacer uso de la potencia de las tecnologías que elijan, como ATM, SONET o Ethernet. Cuando empleamos VoIP, la complejidad de la red inherente en las conexiones RTC es eliminada, creándose una infraestructura flexible que puede soportar muchos tipos de comunicación. El sistema estará más estandarizado, requerirá menos equipamiento y su tolerancia a fallos será mayor. Teletrabajo. Si trabajas en una organización que emplea una intranet o extranet, todavía se podrá acceder a una oficina de trabajo desde casa a través de VoIP. Se puede convertir el hogar en una parte de la oficina y usar remotamente la voz, el fax o los servicios de datos del lugar de trabajo a través de la intranet de la oficina. La naturaleza portátil de la tecnología VoIP está provocando que gane popularidad, ya que proporciona una gran cantidad de comodidades impensables hace unos años. La portabilidad tanto de hardware como de servicios se está convirtiendo cada día más normal, y en ese contexto VoIP encaja perfectamente. Fax sobre IP. Los problemas de los servicios de fax sobre RTC son el alto costo que conllevan para largas distancias, la atenuación de la calidad en las señales analógicas y la incompatibilidad entre algunas máquinas cuando se comunican. La transmisión por fax en tiempo real sobre VoIP simplemente utiliza una interfaz de fax para convertir los datos en paquetes y asegura que éstos serán entregados completamente y de forma segura. Otra ventaja de este sistema es que ni siquiera se necesitará una maquina fax para enviar y recibir fax. Desarrollo de software más productivo. VoIP puede combinar diferentes tipos de datos, enrutándolos y señalizándolos de forma muy flexible y robusta. Como resultado de esto, los desarrolladores de aplicaciones de red encontrarán más fácil crear y desplegar aplicaciones que realicen comunicaciones de datos empleando VoIP. Además, la posibilidad de implementar VoIP en navegadores web y servidores proporciona un aspecto de gran provecho tanto productivo como competitivo a esta tecnología. 31

32 2.4 Protocolo de aplicación SIP Definición El protocolo SIP es un protocolo de señalización a nivel de aplicación encargado de la iniciación, modificación y terminación de sesiones multimedia, las cuales se llevan a cabo de manera interactiva. Por sesiones multimedia se refiere a aplicaciones de mensajería instantánea, aplicaciones de video, audio, conferencias y aplicaciones similares. SIP se definió en el RFC 2543 en marzo de 1999 por el grupo de trabajo MMSC perteneciente a la IEFT. En junio del 2002, el IETF publicó una nueva revisión del SIP con el RFC El protocolo SIP posee 4 características que lo hacen muy recomendable para cumplir esta función: Localización del usuario. SIP posee la capacidad de poder conocer en todo momento la localización de los usuarios. De esta manera no importa en qué lugar se encuentre un determinado usuario. En definitiva la movilidad de los usuarios no se ve limitada Negociación de los parámetros. Posibilidad de negociar los parámetros necesarios para la comunicación: puertos para el tráfico SIP así como el tráfico Media, direcciones IP para el tráfico Media, códec, etc. Disponibilidad del usuario. SIP permite determinar si un determinado usuario está disponible o no para establecer una comunicación. Gestión de la comunicación. Permite la modificación, transferencia, finalización de la sesión activa. Además informa del estado de la comunicación que se encuentra en progreso. El protocolo SIP es una parte de una arquitectura multimedia, ya que la única finalidad es la de gestionar las sesiones multimedia: iniciarlas, modificarlas, finalizarlas, etc. Sin embargo, se integra perfectamente con otros protocolos como RVSP, RTP o RTSP. Gracias al protocolo SDP se puede formar una completa arquitectura multimedia. 32

33 2.5.1 Conceptos básicos El protocolo es similar al HTTP por la forma en que funciona (protocolo basado en texto) y es similar a SMTP en la forma en la que se especifican las direcciones SIP. Las direcciones SIP identifican a un usuario de un determinado dominio. A estas direcciones SIP habitualmente se les llama URI (Uniform Resource Identifier). Una URI se puede especificar de las siguientes maneras: El dominio representa el nombre del proxy SIP que conoce la dirección IP del terminal identificado por el usuario de dicho dominio. El puerto por defecto para SIP es 5060, aunque es posible especificar otros adicionales si es necesario. En la tabla 1 se pueden ver algunos ejemplos de direcciones SIP. Descripción Usuario 200 perteneciente al dominio esime.ipn.mx Usuario 200 perteneciente al dominio con dirección IP Dirección SIP Tabla 1. Ejemplos de direcciones SIP Nota: en la nomenclatura la dirección puede referirse a la IP del usuario, en un momento determinado, o a su dominio. Es por tanto posible hacer uso de una dirección IP si no disponemos de un dominio registrado para este propósito Elementos SIP Para una comunicación SIP es necesaria la intervención de varios elementos, donde cada uno desempeña su papel. Los elementos de la comunicación son: Los agentes de usuario (User agent), o de manera abreviada UA, manejan la señalización SIP. Se pueden dividir en dos categorías: 33

34 User agent client (UAC). Es un elemento que realiza peticiones SIP y acepta respuestas SIP provenientes de UAS. Un ejemplo de UAC es un teléfono VoIP ya que realiza peticiones SIP. User agent server (UAS). Es el elemento encargado de aceptar las peticiones SIP realizadas por el UAC y enviar a este la respuesta conveniente. Un teléfono VoIP también es un ejemplo de UAS, ya que acepta peticiones de inicio de comunicación enviadas por otro teléfono UAC. Figura 7. Ejemplo de llamada SIP (200 llama a 201). Los intermediarios necesarios para que la comunicación entre dos UA sea posible: Servidor Proxy. Es el elemento encargado de reenviar las peticiones SIP provenientes de un UAC al UAS destino que corresponde, así como de encaminar las respuestas de UAS destino del UAC origen. Podemos hacer una similitud con el encaminamiento que realizan los router con los paquetes a nivel IP, es decir, sería como el encargado de enrutar los paquetes SIP. Para enrutar, lo que hace es una traducción de la dirección destino dada de la forma a la forma donde dirección IP es la dirección IP que tiene en ese momento el teléfono de destino. Figura 8. Ejemplo de llamada SIP con intermediarios (200 llama a 201) 34

35 En la figura 8 se observa la función más importante de un proxy SIP, la de enrutar los mensajes SIP estableciendo así la señalización SIP pertinente. Registrar-location server. Acepta las peticiones de registro de los UAC, guardando toda la información referente a la localización física del UAC, para que si posteriormente llega una petición con destino el UAC, sea posible localizarlo. En el ejemplo de la figura 9, para que 200 llame al usuario 201 es necesario que previamente ambos teléfonos se hayan registrado en servidor de registro. Esto es necesariamente así porque el proxy SIP necesita conocer la dirección IP del teléfono 201 para enviarle la petición de inicio de conversación y del mismo modo necesita la dirección IP del teléfono 200 para que pueda enrutarle las respuestas SIP generadas por el teléfono 201. Servidor Proxy Servidor registro - localización Figura 9. Proceso de registro Una vez que los teléfonos se han registrado dentro de servidor, estos pueden entonces realizar y recibir llamadas entre sí ya que el proxy SIP conoce sus direcciones IP físicas/reales (mediante consultas). Habitualmente, el proxy SIP y el servidor de registrolocalización se encuentran juntos en el mismo software por lo general. Con esto, la llamada será realizada con éxito. Redirect Server. Su funcionamiento es similar al servidor proxy anterior, con la diferencia que cuando este resuelve la dirección, esto es, realiza la traducción, 35

36 informa al UAC que realizó la petición SIP para que sea este mismo el que la envíe hacia el UA destino. Un servidor de redirección actúa realmente como un UAS. Figura 10. Registro completado Back to back user agent (B2BUA). Es una entidad intermediaria que procesa peticiones SIP entrantes comportándose como un UAS, y responde a estas actuando como un UAC regenerando por completo la petición SIP entrante en una nueva petición SIP que va a ser enviada Mensajes SIP El dialogo entre clientes y los servidores SIP se basa en el intercambio de mensajes de texto. Estos mensajes se clasifican en 2, Peticiones y respuestas. Los mensajes de petición son enviados por las entidades cliente a las entidades servidor. Generalmente toda petición tiene asociada una respuesta del servidor, excepto el ACK que no requiere respuesta. Toda respuesta SIP tiene asociado un código numérico que indica el resultado del intento de servir la aplicación del cliente. Petición SIP INVITE ACK BYE Descripción Es la petición SIP que se envía a un usuario cuando queremos establecer con él comunicación, en este caso una llamada. Esta petición es enviada por el usuario origen que envió la petición INVITE para hacer saber al usuario destino que su respuesta OK ha sido recibida. Es el momento en que ambos pueden empezar a enviar tráfico Media. Para finalizar la conexión, la comunicación entre los dos usuarios 36

37 CANCEL OPTIONS REGISTER establecida anteriormente con INVITE. Se utiliza para cancelar una petición, por ejemplo INVITE, que se encuentra en progreso. Por ejemplo si el teléfono destino está sonando pero aún no ha sido descolgado y el teléfono origen cuelga, se envía un CANCEL a diferencia de un BYE que se enviará si el teléfono destino hubiera sido descolgado previamente y por tanto la comunicación establecida unos instantes. Un UA puede enviar peticiones OPTIONS a un UAS para solicitar cierta información sobre este. Un UAC envía peticiones REGISTER a un servidor de registrolocalización para informar de la posición actual en la que se encuentra en un momento determinado. Esto hace posible que el UAC pueda ser localizado haciendo uso de su misma dirección sin importar donde el UAC se encuentre físicamente. Tabla 2. Peticiones SIP Respuesta SIP 1xx 2xx 3xx 4xx 5xx 6xx Descripción Indican el estado temporal de la comunicación. Informan del éxito de una petición SIP. Informan que la petición SIP ha de ser reenviada a otro UAS. Indican errores en el cliente SIP. Corresponden a errores en el servidor SIP. Informan de errores generales. Tabla 3. Respuestas SIP Cabecera SIP Las cabeceras que aparecen en los mensajes SIP dependen del tipo de mensaje y de los parámetros necesarios en cada uno de ellos. Se indican a continuación los campos mas frecuentes con su significado: Accept Contact: Especifica a que URI debe reenviar el proxy la petición. Allow Events: Lista los eventos soportados. Call- ID: Identifica unívocamente. Contact: Transporta una URI que identifica el recurso solicitado o al recurso llamante. Content-Encoding: Indica el tipo de codificación aplicada al cuerpo del mensaje. Content-Length: Indiga la longitud en octetos, del cuerpo del mensaje. 37

38 Content Type: Indica el tipo de flujo de información transportada en el cuerpo del mensaje. CSeq: Identifica unívocamente transacciones dentro de un dialogo. Event: Indica subscripción o notificación a un evento. From: Indica el origen de la solicitud. Max-Forwards: Limita el número de saltos en un método Reason: Indica la razón de finalización de la sesión. Refer-To: Contiene el URI o URL referenciado. Referred-By: Contiene información sobre el emisor de un mensaje de tipo REFER. Reject-Contact: Indica el URI al que el proxy no puede hacer llegar la petición. Require: Contiene la enumeración de características que debe soportar un servidor. Subject: Indica el asunto de la sesión multimedia. To: Inndica el receptor de la petición. Via: Se utiliza para grabar la ruta seguida por la petición para utilizarla en la respuesta. 38

39 2.5 Protocolo RTP Definición PROTOCOLO DE TRANSPORTE EN TIEMPO REAL. RTP RTP (Real- Time Transport Protocol) es el estándar que define las comunicaciones de audio y video en tiempo real sobre redes IP, asumiendo, por tanto, la existencia de pérdidas y retardos y la posibilidad de variación dinámica de las características de la red en el transcurso de la comunicación. Suministra funciones de transporte extremo a extremo y ofrece servicios tales como identificación del tipo de carga, numeración de secuencia, timestamping, etc. No garantiza la entrega de tráfico en tiempo real pero sí suministra los recursos para que éste se entregue de manera sincronizada. Como su nombre indica, está orientado a la transmisión de información en tiempo real, como la voz o video. Las aplicaciones interactivas en tiempo real, incluidas la telefonía IP y la videoconferencia, prometen controlar gran parte del crecimiento futuro de Internet. Por tanto, organismos de estandarización como IETF e ITU han estado ocupados durante muchos años en el establecimiento de estándares para esta clase de aplicaciones. Disponiendo de los estándares apropiados para las aplicaciones interactivas en tiempo real, empresas independientes podrán crear nuevos y convincentes productos que interoperen entre sí Funcionamiento Dentro de un proceso de comunicación en tiempo real, el lado emisor de una aplicación multimedia añade campos de cabecera a los fragmentos de audio/video antes de pasarlos a la capa de transporte. Estos campos de cabecera incluyen números de secuencia y marcas de tiempo. Dado que la mayoría de las aplicaciones multimedia de red pueden hacer uso de los números de secuencia y de las marcas de tiempo (TTL), es conveniente disponer de una estructura de paquete estandarizada que incluya campos para los datos de audio/video, los números de secuencia y las marcas de tiempo, así como otros campos potencialmente útiles. RTP, definido en el documento RFC 3550, es este estándar. RTP puede emplearse para transportar formatos comunes como PCM, GSM y MP3 para sonido y MPEG H. 263 para video. Actualmente RTP disfruta de una amplia implementación en centenares de productos y prototipos de investigación. Además es complementario de otros importantes protocolos interactivos de tiempo real, como SIP y H.323. Normalmente, RTP se ejecuta sobre UDP. El lado del emisor encapsula un fragmento multimedia dentro de un paquete RTP, luego encapsula ese paquete en un segmento UDP y después pasa el segmento a IP. El lado del receptor extrae el paquete RTP del segmento UDP, a continuación extrae el fragmento multimedia del paquete RTP y lo pasa al reproductor multimedia para su decodificación y procesamiento. 39

40 2.5.3 Encapsulamiento Cada paquete RTP incluye una cabecera fija y puede incluir también campos de cabecera adicionales, específicos de la aplicación. La figura ilustra la cabecera fija. Los primeros doce octetos están siempre presentes y se componen de los siguientes campos: Versión (2 bits): la versión actual es 2. Relleno (1 bit): indica si los octetos de relleno aparecen al final de la carga útil. Si es así, el último octeto de la carga útil incluye una cuenta del número de octetos de relleno. El relleno se utiliza si la aplicación requiere que la carga útil sea un número entero, múltiplo de alguna longitud, por ejemplo 32 bits. Extensión (1 bit): si se establece, la cabecera fija viene seguida por exactamente una cabecera de extensión, la cual se emplea para ampliaciones experimentales de RTP. Cuenta CSRC (4 bits): el número de identificadores CSRC que siguen a ala cabecera fija V P X CC M Tipo de carga Número de secuencia útil Marca de Tiempo Indicador de fuente de sincronización (SSRC) Identificador de fuente de contribución (CSRC)... Identificador de fuente de contribución (CSRC) Figura 11. Encapsulamiento RTP V = Versión P = Relleno X = Extensión CC = Cuenta CSRC M = Marcador 40

41 Marcador (1 bit): la interpretación del bit marcador depende del tipo de carga útil, normalmente se utiliza para indicar un punto señalado en el flujo de datos. Tipo de carga útil (7 bits): identifica el formato de la carga útil RTP, que va a continuación de la cabecera. Número de secuencia (16 bits): permite la detección de pérdidas y la secuenciación de paquetes en una serie de paquetes que tengan la mima marca de tiempo. Marca de tiempo (32 bits): corresponde al instante de generación del primer octeto de datos de la carga útil. Las unidades de tiempo de este campo dependen del tipo de carga útil. Los valores han de ser generados desde un reloj local situado en la fuente. Identificador de fuente de sincronización: un valor generado aleatoriamente que indica de manera exclusiva cual es la fuente dentro de una sesión. Identificador de fuente de contribución: identifica una fuente que contribuye con o añade datos a la carga útil. Este tipo de identificadores son suministrados por un mezclador. 41

42 Capítulo III Herramientas 3.1 Sockets Se denomina socket a un punto de comunicación a través del cual un proceso puede comunicarse con otro. Los procesos que intercambian información a través de sockets pueden encontrarse en sistemas diferentes Sockets en C# El entorno de programación C#, proporciona un extenso conjunto de métodos y propiedades para las comunicaciones en red. Dentro de este, se incluye la biblioteca de clases sockets que permite realizar transferencias de datos síncronos y asíncronos mediante cualquiera de los protocolos de comunicación. La clase sockets sigue el modelo de nomenclatura de.net Framework, proporciona un extenso conjunto de métodos y propiedades para las comunicaciones en red y permite realizar transferencias de datos síncronos y asíncronos mediante cualquiera de los protocolos de comunicación. Esta comunicación se basa en un esquema donde interactuan cliente y servidor, haciendo uso de diferentes funciones como se muestra en la figura 12. Figura 12. Proceso Cliente/Servidor 42

43 3.1.2 Métodos clase socket Bind ( ) Asocia un «nombre» a un socket, es decir, asocia una dirección IP y un puerto al socket. Normalmente se usará bind en los siguientes casos: Para asociar una dirección y un puerto a un servidor, de tal manera que los clientes sepan en donde encontrar este servicio. Un cliente que establezca comunicaciones no orientadas a conexión asociara un nombre al socket para poder recibir las respuestas a los datagramas que envíe un servidor. Listen ( ) Se debe llamar tras haber obtenido un descriptor de socket y haberle asignado un nombre con Bind ( ). Tras llamar a listen ( ) para comunicaciones orientadas a conexión, se ejecuta la función Accept ( ). Accept ( ) Nos permite aceptar una conexión realizada por un cliente a un servidor orientado a conexión. Esta función tomara la primera conexión que este en la cola de espera a la cual se hace referencia en el segundo parámetro de la función listen( ) y nos devuelve un descriptor del socket a través del cual poder hacer uso de dicha conexión. Connect ( ) Permite a un proceso cliente comenzar el proceso de conexión a un proceso servidor. Normalmente la función connect ( ) será invocada por un cliente que quiere conectarse a un servidor a través de un protocolo orientado a conexión, en este caso provocara un intercambio de mensajes entre el sistema local y remoto que culminara en el establecimiento de una conexión o con la devolución de un código de error. Cada uno de estos procesos (Un proceso cliente y un proceso servidor) se encuentra en un extremo de la comunicación, considerándose un socket como la abstracción de este extremo. 43

44 3.2 Desarrollo.NET C# El avance de las herramientas de programación y los dispositivos electrónicos para el consumidor ha creado nuevos requerimientos. La integración de componentes de software de diversos lenguajes fue difícil y los problemas de instalación eran comunes, ya que las nuevas versiones de los componentes compartidos eran incompatibles con el software anterior. Como resultado de la popularidad de los dispositivos electrónicos móviles y las aplicaciones web, los usuarios ya no están restringidos sólo a las computadoras de escritorio si no que se adquirió una nueva necesidad: software accesible para todos y que estuviera disponible a través de casi cualquier tipo de dispositivo. Para satisfacer esta necesidad, Microsoft anuncio el lenguaje de programación C#, este lenguaje esta pensado para la plataforma.net como un lenguaje que le permitiera a las programadores migrar con facilidad hacia.net. C# tiene sus raíces en C, C++ y Java; adapta las mejores características de cada uno de estos lenguajes y agrega nuevas características propias. C# está orientado a objetos y contiene una Biblioteca de Clases que consta de componentes preconstruidos que permiten desarrollar aplicaciones con rapidez. C# es adecuado para el desarrollo de aplicaciones demandantes, en especial para l, crear las aplicaciones populares basadas en la Web actual. La plataforma.net es la infraestructura sobre la cual pueden distribuirse aplicaciones basadas en web a una gran variedad de dispositivos, móviles, teléfonos celulares, computadoras de escritorio, etc. La plataforma ofrece un nuevo modelo de desarrollo de software que permite crear aplicaciones en distintos lenguajes de programación, de manera que se comuniquen entre sí. C# es un lenguaje de programación visual, controlado por eventos, en el cual se crean programas mediante el uso de un Entorno de Desarrollo Integrado (IDE). Con un IDE, se puede desarrollar, crear, ejecutar, probar y depurar programas en C# de manera conveniente, con lo cual se reduce el tiempo requerido para producir un programa funcional en una fracción del tiempo que se llevaría si no se utilizara un IDE. La plataforma.net permite la interoperabilidad de los lenguajes. La arquitectura.net puede existir en varias plataformas, no solo en los sistemas basados en Microsoft Windows, con lo que extiende la portabilidad de los programas.net. Un ejemplo es Mono, un proyecto de software libre de Novell. Otro ejemplo es.net Portable de DotGNU. 44

45 Un componente clave de la arquitectura.net son los servicios Web, que son componentes de software reutilizables que pueden usarse a través de Internet. Los clientes y otras aplicaciones pueden usar los servicios Web como bloques de construcción reutilizables. La estrategia de.net extiende el concepto de reutilización de software hasta Internet, con lo cual permite que los programadores y las compañías se concentren es sus especialidades sin tener que implementar cada componente de cada aplicación. C# es un lenguaje orientado a objetos con seguridad en el tratamiento de tipos, que es a la vez sencillo y potente y permite a los programadores crear una gran variedad de aplicaciones. Combinado con.net Framework, Visual C# permite la creación de aplicaciones para Windows, servicios Web, herramientas de base de datos, componentes, controles y mucho más. Entre las aplicaciones que pueden crearse con C#, están: Aplicaciones Web ASP.NET. Describe la utilización del editor de código de C# en Visual Web Developer para crear aplicaciones Web con páginas de código subyacente en C#. Aplicaciones de Windows Forms. Describe cómo utilizar los formularios Windows Forms para crear aplicaciones para Windows. Aplicaciones de consola. Explica cómo crear aplicaciones que no requieren una interfaz de usuario gráfica. Obtener acceso y mostrar datos. Describe cómo interactuar con bases de datos. Aplicaciones móviles e incrustadas. Describe cómo crear aplicaciones para Smart Device, dispositivos incrustados y dispositivos móviles. Crear y obtener acceso a servicios Web. Describe cómo interactuar con servicios Web XML. Crear componentes. Describe la creación de controles de usuario y otros componentes para.net Framework. Desarrollo en la plataforma Office. Describe la utilización de Visual Studio Tools para Office para crear documentos inteligentes. Desarrollo empresarial. Describe el desarrollo de aplicaciones para SQL Server, Microsoft Exchange Server, etc. 45

46 Programación en Tablet PC. Describe el desarrollo de aplicaciones basadas en tinta para Tablet PC. Audio, vídeo, juegos y gráficos. Describe la utilización de Windows Media y DirectX para código administrado. Crear Starter Kits. Describe cómo crear Starter Kits para ayudar a otros a ponerse rápidamente en marcha con su código de ejemplo. Para el desarrollo de nuestra aplicación, emplearemos una Aplicacion de Windows Forms. Un aplicación Windows es un programa que se ejecuta dentro de un sistema operativo Windows (Windows 2000, Windows XP, Windows 7, por ejemplo.) y por lo general tiene una interfaz grafica de usuario (GUI): la parte visual del programa con la que interactúa el usuario. Las aplicaciones Windows Form, son aquellas basadas en ventanas y controles comunes de Windows que se ejecutan en local. En la plataforma.net el espacio de nombres que ofrece las clases necesarias para construir aplicaciones de escritorio bajo Windows se denomina Windows Forms. Este es también el nombre genérico que se le otorga ahora este tipo de programas basados en ventanas. Los formularios Windows Forms son la tecnología que se utiliza en Visual C# para crear aplicaciones para clientes inteligentes basadas en Windows que se ejecutan en.net Framework. Cuando crea un proyecto de aplicación para Windows, está creando una aplicación basada en formularios Windows Forms. Utilizará el Diseñador de Windows Forms para crear la interfaz de usuario y tendrá acceso a otras funciones de diseño y tiempo de ejecución: a. Implementación ClickOnce. b. Compatibilidad enriquecida de bases de datos con el control DataGridView. c. Barras de herramientas y otros elementos de interfaz de usuario que pueden tener el aspecto y comportamiento de Microsoft Windows XP, Microsoft Office o Microsoft Internet Explorer. 46

47 El modelo de evento de.net Framework se basa en la existencia de un delegado de eventos que conecte un evento a su controlador. Para provocar un evento, se requieren dos elementos: Delegado que identifica el método que proporciona la respuesta al evento. Clase que contiene los datos de eventos. El delegado es un tipo que define una firma, es decir, el tipo del valor devuelto y los tipos de lista de parámetros de un método. Se puede utilizar el tipo de delegado para declarar una variable que puede hacer referencia a cualquier método con la misma firma que el delegado. La firma estándar de un delegado del controlador de eventos define un método que no devuelve ningún valor, cuyo primer parámetro es del tipo Object y hace referencia a la instancia que provoca el evento y cuyo segundo parámetro se deriva del tipo EventArgs y contiene los datos de evento. Si el evento no genera los datos de evento, el segundo parámetro simplemente es una instancia de EventArgs. De lo contrario, el segundo parámetro es un tipo personalizado derivado de EventArgs y proporciona los campos o las propiedades necesarias para contener los datos de evento. EventHandler es un delegado predefinido que representa específicamente un método controlador para un evento que no genera datos. Si su evento genera datos, debe suministrar su propio tipo de datos de evento personalizado y crear un delegado donde el tipo del segundo parámetro sea el tipo personalizado o utilizar la clase de delegado genérico EventHandler y sustituir el tipo personalizado por el parámetro de tipo genérico. Para asociar el evento al método que lo controlará, hay que agregar una instancia del delegado al evento. Siempre que se produce el evento, se llama al controlador de eventos, a menos que se quite el delegado. 3.3 SDK SIP.NET Descripción El uso del SDK SIP.NET está orientado al desarrollo de aplicaciones y servicios basados en el protocolo SIP. Las aplicaciones están dirigidas al diseño de Clientes y Servidores SIP, soportadas por cualquier lenguaje.net. Para cuestiones particulares del proyecto, se utilizará el lenguaje de desarrollo C#.NET. El SDK proporciona al desarrollador características compatibles con.net. Para su correcto funcionamiento es necesario ser incorporado al componente.net VSS (Virtual Execution System) y al Framework. Los productos desarrollados con SDK SIP.NET soportan Mono y CLR Microsoft. Del mismo modo proporciona un conjunto de clases que permiten el 4 Desarrollado por la empresa Konnetic 47

48 manejo de entidades y elementos que componen el protocolo SIP, dejando como resultado una biblioteca de clases muy potente para el desarrollo de aplicaciones orientadas a Software SIP. El código fuente está escrito en su totalidad sobre Microsoft.NET 2.0 Framework, y corre en sus versiones 2.0, 3.0, 3.5 y 4.0. Muchos de los requisitos y demandas para el desarrollo de aplicaciones SIP han dejado que la biblioteca de clases SIP.NET permita al desarrollador enfocarse en el diseño de algoritmos orientados a la programación a alto nivel. Pero al mismo tiempo, sigue permitiendo configuraciones y control de flujo sobre los mensajes SIP a bajo nivel basado en eventos. Dando como resultado una pila SIP que contiene todas las funciones y servicios necesarios para el desarrollo estructurado de aplicaciones. La biblioteca proporciona funciones avanzadas de gestión para multi-hilo de conexión diseñado para llevar de manera eficiente los entornos de hardware multi-procesador y multi-núcleo, para lograr alto rendimiento en los procesadores actuales. También permite un modelo de comunicación fiable mediante el apoyo TCP (Transmisión Control Protocol), o provee la autenticación y el cifrado mediante el uso de TLS (Transport Layer Security), o bien permite un mayor rendimiento mediante el uso de UDP (User Datagram Protocol). Los métodos SIP soportados en la biblioteca incluyen REGISTER, INVITE, OPTIONS, ACK, BYE, CANCEL, INFO, UPDATE y MESSAGE. Los SIP URI s son una parte compleja e importante del protocolo SIP. El SDK SIP.NET proporciona un tipo de mecanismo seguro para los elementos URI s derivado de las bibliotecas de clases System.Uri, System.Uri.Parser y System.Uri.Builder. Un entorno SIP consiste en un número de entidades conectadas. Estas incluyen, UA (User Agent), Proxy Server, Registrar Server, Redirect Server y B2BUA (Back-to-Back-User Agent). Mediante la biblioteca de clases SIP.NET se obtienen las herramientas necesarias para el desarrollo de este tipo de entidades, así como para implementarlas dentro de alguna entidad comercial ya desarrollada y existente en el mercado. En el desarrollo de un cliente y un servidor SIP, es necesario el envío de paquetes de datos, tomando gran importancia su construcción, encapsulamiento y envío. Para esto la biblioteca permite la implementación de dichos procesos, asegurando el cumplimiento del estándar para el protocolo SIP. Por otro lado, se busca que dichas aplicaciones cumplan con la capacidad de recibir peticiones previamente generadas, en este proceso, la biblioteca cumple un papel importante para el reconocimiento y análisis de diversas peticiones, y así realizar acciones en función de lo recibido. Las peticiones y respuestas generadas y procesadas, están basadas en el documento RFC 3261, que tiene como función estandarizar el desarrollo de aplicaciones basadas en el protocolo SIP. La biblioteca acepta y codifica nuevos parámetros de mensaje que no aparecen en la especificación de mensajes conocidos para la biblioteca, tales como métodos, códigos de respuesta, extensiones de campos de cabecera (Extension Header Fields) y parámetros de cabecera. Permite el análisis de mensajes entrantes mediante un motor poderoso DFA (Deterministic Finite Automaton) para gestionar todo el análisis de cabeceras. 48

49 La pila SIP puede autenticar cualquier petición SIP utilizando el esquema de autenticación en conformidad con la especificación en el estándar del protocolo SIP. Tanto la autenticación cliente como la autenticación Servidor son soportadas dentro de la biblioteca. La biblioteca SIP se ejecuta en un modo internamente multiprocesos, presentado singlethreaded o multithreaded. Se utilizan los mecanismos de sincronización para asegurar seguridad en multithreading a nivel de objetos individuales, tales como cuadros de diálogo y transacciones, así como grupo de objetos en la capa de transporte. La configuración de la pila SIP permite incluir los siguientes grupos de parámetros: Propiedades por defecto de mensajes SIP Limites de mensaje SIP. Parámetros de red. Valores de temporizadores. Incluir valores para localizar servidores Proxys. Entre otros. En la siguiente tabla se muestran los nombres de RFC s que están incorporados directamente a la biblioteca SIP.NET. Otros protocolos como TLS no están incluidos debido a que forman parte de la base.net Framework y no están incluidos. La tabla muestra en la primera columna el número de RFC, seguido por el nombre del protocolo, y finalmente indicando la funcionalidad que carece la biblioteca para implementar dicho protocolo. RFC PROTOCOLO FALTA FUNCIONALIDAD RFC 4566 Session Description Protocol Ninguna RFC 4320 Actions Addressing Identified Ninguna Issues with SIP's Non-INVITE Transaction RFC 3596 DNS Extension to Support IP Ninguna Version 6 RFC 3498 SIP Extension for Instant Ninguna Messaging RFC 3581 An Extension to SIP for Ninguna Symmetric Response Routing RFC 3311 SIP UPDATE Method Ninguna RFC 3264 An Offer/Answer Model with the Ninguna Session Description Protocol RFC 3263 Locating SIP Servers Section 4.1: NAPTR/SRV records being verified against TLS certificates. 49

50 Section 4.4: Consideration for stateless proxies. RFC 3261 Session Initiation Protocol Section 8.2.7: Stateless UAS Behaviour Section 8.3: Redirect Server Section 10.3: Processing REGISTER requests in a registrar Section : Dialog creation from multiple 2xx responses Section 16: Proxy Behaviour Section 23: S/MIME RFC 2976 SIP INFO Method Ninguna RFC 2782 A DNS RR for Specifying the Ninguna Location of Services (DNS SRV) RFC 2617 HTTP Authentication: Basic and Ninguna Digest Access Authentication RFC 2119 The Naming Authority Pointer Ninguna (NAPTR) DNS Resource Record RFC 4475 SIP Torture Test Messages Ninguna ETSI Conformance Test Specification for SIP Proxy, Registrar, Redirect, aún no se prueba su funcionalidad. Tabla 4. Conceptos generales. Dentro del SDK SIP.NET existen términos que conceptualizan los procesos existentes en una aplicación orientada a SIP. A continuación se describen algunos de ellos. Connection. Se sabe que una conexión es una asociación entre dos puntos finales que lleva paquetes de datos a través de una red. Cada punto final se representa por una dirección IP y un puerto, en SIP este concepto es referido como un flujo, en la unidad SIP.NET API (Figura n), una conexión puede utilizar TLS, TCP o UDP dentro de la capa de transporte. La unidad SIP.NET API admite dos tipos de conexiones: entrada y salida. Una conexión de entrada esta a la escucha de paquetes entrantes en un extremo local asignado. Las conexiones de salida inician las transmisiones en un extremo local asignado. Las conexiones de salida suelen utilizar un número de puerto efímero, y posteriormente, escuchar en ese puerto las respuestas. 50

51 Figura 13: Arquitectura general de la Unidad SIP.NET API Destination Tuple. Una tupla de destino contiene la información necesaria para conectarse a un dispositivo de red remoto. Es formado por la dirección IP del dispositivo remoto, el puerto remoto para escuchar y el protocolo de transporte. Los clientes pueden utilizar el servicio de bibliotecas DNS para resolver direcciones, puertos y transportes, o puede enviar mensajes directamente a través de una tupla de destino contenida en el objeto DestinationTuple. Dialog. Un dialogo representa una relación SIP punto a punto entre dos o más clientes de usuario que persiste durante algún tiempo. Es análogo a una conversación o a una llamada, y algunas veces se refieren a él como tal. Una sesión es típicamente asociada a un dialogo. Header Field. Un campo de cabecera es un componente del mensaje cabecera SIP. Un campo de cabecera puede aparecer con una o más filas de campo de cabecera. Las filas de encabezado consisten en un nombre de campo de cabecera y cero o más valores de campo de cabecera. Múltiples valores de campo de cabecera en una determinada fila se separan por coma. Algunos campos de cabecera únicamente pueden tener un simple valor de campo, y como resultado, siempre aparecen como una fila simple de campo de cabecera. Outbound Proxy. Un proxy que recibe peticiones de un cliente, existe aunque su dirección IP no pertenezca a la dirección IP del servidor resuelta por el campo Request-URI. Por lo general, un agente de usuario se configura manualmente con un proxy de salida, o puede conocer uno a través de protocolos de configuración automático. 51

52 La sección de configuración ProxyServers permite a la aplicación cliente configurar el valor por defecto de salida de ProxyServers para los mensajes de petición. Mecanismos alternos están disponibles para proporcionar servicios de proxy, incluyendo en el SipCore. Más adelante se explicará el funcionamiento de un objeto SipCore. Los servidores proxy son utilizados por el procesador de mensajes salientes para crearle una ruta al mensaje (a menos que un campo de cabecera route ya esté presente). El procesador calcula la dirección remota del mensaje de acuerdo al RFC 3261 y RFC 3263 y tiene en cuenta la existencia de servidores proxy de salida, los campos de cabecera Route y loose routing rules. Existe una configuración independiente para servidores proxy seguros que se configuran como rutas de salida para todas las transmisiones seguras. Solo los servidores proxy con seguridad SIP URI se permiten para transmisiones seguras. Route Set. Un conjunto de rutas es una colección URI s ordenadas o SIP URI que representa una lista de nodos en la red (por lo general proxys) que necesitan ser atravesados cuando se envía una petición particular. Un conjunto de rutas pueden ser aprendidas a través de campos de cabecera como Record-Route, o pueden ser configurados manualmente. Session. Una sesión proporciona el canal de control en el que un cliente de usuario puede invitar a otro a participar en alguna actividad o intercambio de descripciones media requeridos para establecer una comunicación multimedia. Sip Transaction. SIP es un protocolo basado en transacciones. Las interacciones entre los elementos de la red se llevarán a cabo en intercambios de mensajes independientes (Message Exchange Patterns). Una transacción SIP consta de una sola petición y todas las respuestas a esta. Se encuentran dos categorías de transacciones: las que inician con una petición INVITE (INVITE Transactions), y los que no lo son (Generic Transactions). La unidad SIP.NET API se basa en ciertos recursos externos para su operación. Estos recursos deben estar disponibles en tiempo de ejecución y los permisos de control de acceso se deben establecer a fin de que acceda a ellos el subproceso (thread) en ejecución. Los recursos incluyen: Sockets. La biblioteca SIP.NET es una biblioteca en red y requiere un acceso ilimitado a sockets dentro de ella. Archivo IO. La biblioteca SIP.NET debe tener permisos para leer el fichero de configuración y cualquier otro archivo enlazado dinámicamente. La Unidad SIP.NET API hace un uso extensivo de hilos (Threads). La biblioteca utiliza llamadas asíncronas cuando sea posible. El trabajo con hilos se utiliza para invocar la aplicación encargada de la devolución de llamadas y algunos eventos colocados en subprocesos independientes donde las respuestas son demandadas. 52

53 3.4 Configuración objeto SIP Core El objeto SIP Core es la fachada de la biblioteca SIP.NET (a veces llamado una clase agregada). Expone importantes eventos, puede controlar los métodos y comportamientos más significativos de la biblioteca, así como establecer la configuración del sistema y otros recursos utilizados. El núcleo SIP representado por el objeto SIP Core también se encarga de la inicialización y terminación de las diferentes capas. El núcleo SIP proporciona un modelo de eventos que controlan el proceso de entrada y los mensajes salientes, el procesamiento subsecuente de fallos en la capa de transporte, así como la autenticación y el estado de datos. La inicialización de un objeto SIP Core describe diferentes etapas. A continuación se muestran detalladamente cada una de ellas: Creación. Antes de realizar cualquier actividad relacionada con SIP, es necesario crear e inicializar un objeto SIP Core. En este proceso se lleva a cabo lo siguiente: o Inicializa un nuevo objeto SipTransportLayer. o Inicializa un nuevo objeto SipTransactionStateManager. o Inicializa un nuevo objeto HttpDigestClientAuthenticationManager. o Analizar cualquier configuración de aplicación (archivo.conf). o Validar la licencia. 5 o Deserealiza el objeto SipConfiguration. Disposición. El objeto SIP Core expone un método finalizador encargado de liberar recursos no administrados y realiza otras operaciones de limpieza antes de que la conexión sea llamada por el recolector de basura. Propiedades. o LocalAddressPort. Utilizado por el MessageTransmitter para especificar el campo de cabecera Via, que para fines de la aplicación será el punto final donde los mensajes serán devueltos, especificando estos parámetros en la propiedad Sentby. Una aplicación puede proporcionar un nombre de dominio completo o una dirección IP, si este campo está vacío, el valor por defecto será la dirección IP local. o Transport Layer. La propiedad SipTransportLayer se encarga de gestionar la transmisión de mensajes hacia y desde la red en nombre del objeto SIP Core reservado en memoria. o Sip Transaction State. La propiedad SipTransactionStateManager se encarga de la gestión del estado transaccional y de diálogo, en nombre del objeto SIP Core. 5 Para el correcto funcionamiento es necesario el uso de una licencia con costo adicional. 53

54 o ClientCertificates. La transmisión de mensajes TLS requiere que los clientes proporcionen un certificado para el servidor y establecer una autenticación mutua. La propiedad ClientCertificates se copia directamente a la propiedad SipTransportLayer. o MultiHeaderFormat. El valor de esta propiedad indica si la biblioteca SIP debe separar múltiples valores de encabezados en las líneas que sean posibles. 3.5 Trixbox Como parte de herramienta principal para otorgar el servicio de un PBX, se tomó la infraestructura que ofrece Trixbox 6, una distribución de Linux basada en CentOS, que otorgará señalización necesaria para registro y autenticación de usuarios SIP dentro de la red. Colocada e instalada dentro de una maquina virtual para maximizar el uso de una misma tarjeta de red para el Proxy PBX desarrollado y el PBX de VoIP. 3.6 Cliente Softphone Para que se puedan mantener una conversación telefónica se necesitan terminales que puedan procesar la voz humana, transformándola en impulsos eléctricos que son enviados por la red RTC. Hoy en día, con la llegada de la telefonía IP, la voz es codificada/decodificada mediante conversores analógicos/digitales y posteriormente (ya digital) paquetizada y lista para ser enviada por redes Ethernet (u otro tipo de redes IP) mediante TCP/IP Descripción Los Softphones son teléfonos implementados por software, son programas informáticos que simulan las funcionalidades de un teléfono convencional, pero ayudados de dos periféricos habituales: micrófono y auriculares; estos últimos dispositivos, conectados a una computadora, permiten que la voz pueda ser tratada por el Softphone y así, ser transformada en paquetes IP. Un Softphones, proporciona a un dispositivo que no sea un teléfono, como una computadora o una PDA, las funcionalidades de un teléfono VoIP. Para que esto sea posible, no es necesario que el dispositivo en cuestión sea muy potente. Simplemente se necesita un equipo de audio adecuado y alguna forma de conectarse a una red TCP/IP. Además de las típicas características de un teléfono, los Softphones incorporan diversas funcionalidades avanzadas, muy presentes en el ámbito de la VoIP, como son videoconferencia, chat, grabación, multilínea, etc. 6 Distribución de Asterisk basado Software libre 54

55 Se pueden encontrar modelos que funcionen bajo diferentes protocolos, aunque el mas usado es el SIP. Entre ellos el más popular es el X-lite, aunque también existen muchos otros que presentan buenas funcionalidades. La ventaja principal de un Softphone sobre un teléfono VoIP, es el costo. En muchas empresas de debe instalar como mínimo, un teléfono y una computadora en cada escritorio. Si pudiéramos quitar el teléfono se produciría un ahorro considerable. Además, hay una gran cantidad de Softphones y la mayoría de sistemas operativos ya vienen con alguno instalado por defecto X-lite X-Lite fue desarrollado por CounterPath, y es el principal Softphone libre SIP del mercado disponible para la transferencia directa. Configuración del Softphone X-lite, se lleva a cabo de la siguiente manera: 1. Una vez instalado el Softphone (por ser software libre puede ser descargado de la página del fabricante CounterPath), se procede a hacer la configuración pertinente. 2. Seleccionamos SIP Account Settings y aparecerá la pantalla de la figura 14, oprima Add. Figura 14. SIP Account Settings Para agregar una cuenta SIP se deben introducir ciertos parámetros como se muestra en la figura

56 Figura 15. Propiedades de configuración de una cuenta SIP a) Display Name: El Display Name es un identificador de nombre de usuario. b) User name: El username es un identificador, de tipo numérico, proporcionado por el servidor para el control de acceso c) Password: Es la contraseña de acceso asociada al username. d) Authorization user name: Utilizado para verificar la autentificación del usuario dentro del PBX. e) Domain: Es identificado por una dirección IP o un nombre registrado en un servidor de nombres de dominio (DNS) e indica el dominio al que pertenece el cliente. En la opción de elegir un dominio proxy, se presentan tres diferentes modos de selección de dominio (Figura 16), la primera opción domain consiste en seleccionar un servidor proxy implícito en el mismo nombre de dominio donde fue registrado el teléfono, en este caso expresado mediante la dirección IP La segunda opción proxy corresponde a un nombre de dominio expresado fuera del servidor donde fue registrado el teléfono, asociando una dirección IP a este campo. Para fines del proyecto, la dirección IP corresponderá al Proxy PBX desarrollado. Por último, la tercera opción target domain es la opción por default cuando no cuenta con un servicio proxy. 56

57 Figura 16. Configuración de cliente SIP Una vez configurados estos parámetros, oprimimos Aceptar y regresaremos a la ventana SIP Accounts y aparecerá la cuenta que acabamos de configurar (Figura 17). Para finalizar, haremos click en el boton Close. Figura 17. SIP Accounts, cuenta configurada Una vez realizado este proceso, el Softphone X-lite está listo para realizar y recibir llamadas (Figura 18). 57

58 Figura 18. Teléfono registrado y autenticado 58

59 Capítulo IV Desarrollo Una vez reunidas las herramientas necesarias para realizar el Proxy PBX, se inicia el desarrollo de una aplicación basada en un entorno orientado a Windows, que llevará el control y gestión de los procesos necesarios para el registro y subscripción de clientes SIP así como la iniciación y finalización de llamadas SIP. Tomando en cuenta que para el envío de paquetes a nivel de transporte existen dos enfoques principales necesarios para la comunicación entre aplicaciones, se encuentran las orientadas a conexión y no orientadas a conexión. En las comunicaciones orientadas a conexión, se establece una conexión que se mantiene durante el tiempo que dure la sesión. Los servicios sin conexión no garantizan confiabilidad, los datos pueden tomar rutas distintas dentro del sistema, llegar después o no llegar. Los principales protocolos para el transporte de datos son: Protocolo de control de transmisión (TCP) orientado a conexión y el Protocolo de datagramas de usuarios (UDP) no orientado a conexión. Para fines de esta aplicación, emplearemos el protocolo UDP. Las llamadas que cursan sobre una red de datos no requieren de la garantía de transmisión confiable de un extremo a otro, ya que en una conversación telefónica no es necesaria la retransmisión de voz. UDP incurre en una mínima sobrecarga, necesaria para la comunicación entre aplicaciones, además de reducir el tráfico debido a la ausencia de intercambio, retransmisiones, etc. Aplicaciones como audio y video en tiempo real pueden tolerar la pérdida ocasional de datagramas, cuando esto sucede se produce una pequeña pausa en el audio o video que se esté reproduciendo. 4.1 Desarrollo de software de comunicación IP usando socket Como un primer acercamiento a la programación de aplicaciones cliente-servidor, se realizaron una aplicación cliente y una aplicación servidor, en el entorno de programación Visual C#.NET, utilizando la biblioteca de clases Sockets con el espacio de nombres System.Net.Sockets, utilizando el protocolo TCP. Para la aplicación servidor, se utiliza un objeto de tipo TcpListener que tiene la capacidad de esperar solicitudes de conexión, a este objeto se le asocia un número de puerto y una dirección IP especifica, representada por un objeto de la clase IPAddress, del espacio de nombres System.Net. El servidor escucha de forma indefinida, hasta que un cliente trata de conectarse con el, el servidor crea una conexión con el cliente cuando este le envía una solicitud de conexión. 59

60 1 public void EjecutarServidor() 2 3 TcpListener oyente; 4 int contador = 1; 5 6 //espera la conexion de un cliente y muestra el texto que envía el cliente 7 try 8 //crea TcpListener 9 IPAddress local = IPAddress.Parse(" "); 10 oyente = new TcpListener(local, 50000); //TcpListener espera la solicitud de conexion 13 oyente.start(); //establece la conexion con base a la solicitud del cliente 16 while (true) MostrarMensaje("Esperando Conexión\r\n"); //acepta una conexion entrante 21 conexion = oyente.acceptsocket(); //crea objeto NetworkStream asociado con el socket 24 socketstream = new NetworkStream(conexion); //crea objetos para transferir datos a través de un flujo 27 escritor = new BinaryWriter(socketStream); 28 lector = new BinaryReader(socketStream); MostrarMensaje("Conexión " + contador + " recibida\r\n"); //Informa al cliente que la conexión fue existosa 33 escritor.write("servidor>> Conexión Existosa"); DeshabilitarEntrada(false); //habilita la entrada de datos del cliente string larespuesta = ""; //Lee los datos de cadena que envía el cliente do try //lee la cadena que envía el cliente 47 larespuesta = lector.readstring(); //muestra el mensaje 50 MostrarMensaje("\r\n" + larespuesta); 51 //fin de try 52 catch (Exception) //maneja la excepción si hay error al leer los datos 55 MostrarMensaje("\r\n Error al leer los datos delcliente\r\n"); 56 break; 57 //fin de catch 58 while (larespuesta!= "CLIENTE>>TERMINAR" && 60

61 59 conexion.connected); MostrarMensaje("\r\nEl Cliente terminó la comunicación\r\n"); //Se cierra la comunicación 64 escritor.close(); 65 lector.close(); 66 socketstream.close(); 67 conexion.close(); DeshabilitarEntrada(true); //Deshabilita la entrada de datos 70 del cliente entradatextbox 71 contador++; 72 //fin de while 73 //fin de try Sección de Código 1. Creación de aplicación Servidor TCP Figura 19. Interfaz de aplicación Servidor TCP 61

62 Por otro lado, para la aplicación cliente, es necesario crear un objeto de la clase TcpClient (espacio de nombres System.Net.Sockets) para realizar la conexión con el servidor. La conexión se establece al llamar al método Connect de TcpClient. 1 public void EjecutarCliente() 2 3 TcpClient Cliente; 4 try 5 6 MostrarMensaje("Tratando de conectar\r\n"); 7 Cliente = new TcpClient(); 8 Cliente.Connect(" ", 50000); 9 salida = Cliente.GetStream(); 10 escritor = new BinaryWriter(salida); 11 lector = new BinaryReader(salida); 12 MostrarMensaje("\r\n SE RECIBIERON FLUJOS DE E/S \r\n"); 13 DeshabilitarSalida(false); 14 do try mensaje = lector.readstring(); 19 MostrarMensaje("\r\n" + mensaje); catch (Exception) System.Environment.Exit(System.Environment.ExitCode); while (mensaje!= "SERVIDOR>>TERMINAR"); 27 escritor.close(); 28 lector.close(); 29 salida.close(); 30 Cliente.Close(); 31 Application.Exit(); catch (Exception error) MessageBox.Show(error.ToString(), "Error en la conexion", 36 MessageBoxButtons.OK, MessageBoxIcon.Error); 37 System.Environment.Exit(System.Environment.ExitCode); Sección de código 2. Creación de aplicación Cliente TCP En la seccion de código 2, se muestra el proceso de comunicación basado en socket TCP, donde se crea una instancia de tipo TCPClient encargada del envío y recepción de datos. El proceso se inicia con la conexión a un servidor localizado con la dirección IP y un puerto de escucha en el 5000, posteriormente se crean dos instancias de tipo BinaryWriter para leer datos recibidos y escribir datos para ser enviados. 62

63 La condición de paro necesaria para el fín de la comunicación, estará controlada por la cadena SERVIDOR>>TERMINAR. En ese momento se liberan recursos y se finaliza el proceso Socket. Figura 20. Interfaz de aplicación Cliente TCP 63

64 4.2 Captura y análisis de Mensajes SIP Como parte del análisis de protocolos en red, se utilizó una herramienta orientada al monitoreo de tráfico en la red 7, la siguiente imagen es captado mediante un sniffer de código abierto encargado de capturar los paquetes SIP utilizado en el proceso de comunicación entre Softphone Proxy y Proxy PBX. Figura 21: Analizador de tráfico en red, captura de mensajes SIP. En la figura 21 se muestra la captura de un mensaje SIP utilizado para el monitoreo de registro y subscripción de un cliente Softphone, observando los campos de cabecera incluidos dentro de un paquete. Los paquetes de datos están presentes en uno o varios de los procesos en la comunicación existente con la aplicación Proxy PBX, siendo de gran importancia el reconocimiento y procesamiento de paquetes SIP Autentificación de Softphone en el PBX VoIP Para el proceso de autenticación de un Softphone, se incluyen diferentes procesos necesarios para que dicho teléfono quede integrado en un Servidor de registro, y posteriormente tenga la capacidad de enviar y recibir llamadas, mediante el enrutamiento realizado por el Proxy PBX. Como se menciono anteriormente existen peticiones y respuestas que forman parte del proceso de comunicación Cliente - Servidor y Cliente Cliente. Para el caso de la autenticación de un teléfono IP basado en Software o cualquier teléfono soportado por la tecnología VoIP, se hace referencia a las siguientes peticiones y respuestas SIP. 7 Analizador de tráfico distribuido por The Wireshark Team. 64

65 Como primer proceso de autenticación, es necesario que un cliente se encuentre alojado en un servidor de registro, proporcionándole un nombre de usuario, contraseña y un nombre de autorización para iniciar sesión. Para que el cliente tenga una localización física es necesario que envíe estos parámetros a través de la trama REGISTER, esperando una contestación satisfactoria mediante una respuesta OK con 1 Binding llamado así al proceso de conexión entre Cliente- Servidor. En la siguiente figura se muestra la trama para la petición REGISTER, que inicialmente se envía cada vez que un teléfono inicia comunicación en red. Figura 22: Trama de una petición REGISTER La funcionalidad del Proxy PBX durante este proceso, es decidir el rumbo de la trama, esperando la localización física del usuario mediante un servidor de registro. Obteniendo así, la captación de todo el tráfico, y esperando un enrutamiento adecuado hacia el destino final asociándole una dirección IP y un puerto para futuras conexiones. 65

66 El proceso de autenticación y registro se muestra en el siguiente diagrama (Figura 23). Figura 23. Proceso de autenticación y registro de un UAC. El inicio de localización de un usuario dentro de la red se ejecuta mediante el envío de una trama REGISTER. El proxy PBX mediante el objeto SIP CORE, será el encargado de procesar y enrutar todos los paquetes de datos, ejecutando como primer proceso la transmisión de la trama REGISTER al Servidor de Registro. Seguido de una contestación de Unauthorized debido a la falta de credenciales para autentificación dentro del PBX. El cliente Softphone envía nuevamente una trama REGISTER incluyendo las credenciales necesarias para ser registrado y autenticado. Al llegar dichos parámetros al PBX envía una respuesta de estado completo OK (1 Binding) indicando al cliente su localización física y registro. Al ser registrado satisfactoriamente, el PBX necesita conocer información acerca de la capacidad del cliente para soportar ciertos servicios y funcionalidades necesarias para el proceso de comunicación, para esto el PBX envía una trama OPTIONS incluyendo estos parámetros, retransmitiendo las veces que sean necesarias para conocer el estado del cliente Softphone. Siguiendo con el proceso de registro, el cliente solicita al PBX una subscripción, iniciando este proceso con el envío de una trama SUBSCRIBE, que incluirá los parámetros que requiere el cliente para entrar en un estado de suscripción. Siguiendo la misma metodología, el PBX solicita sus credenciales para completar el proceso, y aquí nuevamente el Proxy PBX encamina los datos hasta el cliente. Una vez solicitadas al cliente las credenciales de suscripción, retransmite la trama SUBSCRIBE incluyendo los parámetros solicitados y concluyendo con estado completo OK. 66

67 Finalmente el PBX envía una trama NOTIFY que indica un estado de notificación, necesaria para que el cliente conozca su ubicación y propiedades con las que fue registrado suscrito. Al concluir el proceso de autenticación como propósito general, el Proxy PBX almacenará los valores de nombre de usuario, Display Name, dirección IP, Puerto y campo Vía para el reconocimiento de usuarios registrados y así tener un control en el enrutamiento y procesamiento de peticiones y respuestas relacionadas con cada usuario. 4.3 Desarrollo de Software Proxy basado en transacciones SIP El protocolo SIP está orientado a transacciones, es decir, en las interacciones entre los componentes tienen lugar en una serie de intercambios de mensajes independientes. Concretamente una transacción SIP consta de una única solicitud y las respuestas a esta solicitud, pueden ser provisionales y o definitivas. Las transacciones tienen un cliente y un servidor. El lado del cliente se conoce como una transacción cliente y del lado del servidor como una transacción servidor. La operación cliente envía la solicitud, y la transacción servidor envía la respuesta. Las transacciones cliente y servidor son funciones lógicas que están incrustadas en cualquier número de elementos. En concreto, existen dentro de los agentes de usuario y los servidores Proxy de estado. En el ejemplo de la figura 24 8, un UAC ejecuta la transacción cliente, y su Proxy de salida (outbound) ejecuta la transacción servidor. En el Proxy de salida también se ejecuta una transacción cliente, la cual envía la solicitud a la transacción servidor del Proxy de entrada (inbound). Ese proxy también ejecuta una transacción cliente, que a su vez envía la solicitud a la transacción servidor en la UAS. Figura 24. Transacciones SIP mediante un Proxy Dentro de la biblioteca de clases explicada en la sección 3.3, es posible crear objetos de tipo SIP Core, capaces de generar eventos de tipo Server Transaction y Client Transaction, estos eventos son útiles en el momento que se requiere procesar solicitudes y respuestas para enrutarlas y así lograr comunicación entre Clientes y Servidores. Con base a lo anterior, se tiene el siguiente diagrama general de transacciones incluidas en el desarrollo del proyecto (Fig 25). 8 RFC 3261 SIP: Session Initiation Protocol, Seccion 17, pag

68 Figura 25. Diagrama de transacciones incluidas en el Proxy PBX 68

69 Las siguientes líneas de código, ejecutan las transacciones que serán útiles para el proceso de comunicación mediante el Proxy PBX, con el evento ProxyPBX_Load se carga dentro del proyecto el método general para realizar las transacciones necesarias que ayudarán al funcionamiento del Proxy PBX. 1 private void ProxyPBX_Load(object sender, EventArgs e) 2 3 EjecutarTransaction(); public void EjecutarTransaction() 7 8 CoreServerT = new SipCore(); 9 System.Net.IPAddress localaddress = System.Net.IPAddress.Parse(" "); 10 CoreServerT.LocalAddressPort = new IPDomainPort(localAddress, 5060); 11 CoreServerT.StartListening(new IPEndPoint(localAddress, 5060), 12 TransportProtocol.Udp); 13 CoreServerT.ServerTransactionCreated += new 14 EventHandler<TransactionEventArgs>(OnServerTransactionCreated); private void OnServerTransactionCreated(object sender, TransactionEventArgs e) ServerTransaction trans = (ServerTransaction)e.Transaction; 20 if (trans.originalrequest.method == SipMethod.Register) CoreClientT = null; 23 CoreClientT = new SipCore(); 24 System.Net.IPAddress localaddress = 25 System.Net.IPAddress.Parse(" "); 26 CoreClientT.LocalAddressPort = new IPDomainPort(new 27 IPEndPoint(localAddress, 5060)); SipRequest RegisterRequest = e.transaction.originalrequest; 30 RegisterRequest.RemoveHeader("Via"); 31 ViaHeaderField FieldVia = new ViaHeaderField(new 32 IPDomainPort(System.Net.IPAddress.Parse(" "), 5060)); 33 FieldVia.Branch = ViaHeaderField.NewBranch(); 34 FieldVia.ProtocolName = "UDP"; 35 FieldVia.ProtocolVersion = "2.0"; 36 FieldVia.SentBy = new 37 IPDomainPort(System.Net.IPAddress.Parse(" "), 5060); 38 RegisterRequest.AddHeader(FieldVia); 39 ClientTransaction transaction = 40 SipTransaction.CreateClientTransaction(RegisterRequest, CoreClientT, 41 true); 42 RegisterRequest.SetTransaction(transaction); 43 RegisterRequest.ResponseReceived += new 44 EventHandler<ResponseReceivedEventArgs>(OnRegisterResponseReceived); 45 CoreClientT.SendRequest(RegisterRequest); if (trans.originalrequest.method == SipMethod.Subscribe) CoreClientT = null; 51 CoreClientT = new SipCore(); 52 System.Net.IPAddress localaddress = 53 System.Net.IPAddress.Parse(" "); 69

70 54 CoreClientT.LocalAddressPort = new IPDomainPort(new 55 IPEndPoint(localAddress, 5060)); SipRequest SubscribeRequest = e.transaction.originalrequest; 58 SubscribeRequest.RemoveHeader("Via"); 59 ViaHeaderField FieldVia = new ViaHeaderField(new 60 IPDomainPort(System.Net.IPAddress.Parse(" "), 5060)); 61 FieldVia.Branch = ViaHeaderField.NewBranch(); 62 FieldVia.ProtocolName = "UDP"; 63 FieldVia.ProtocolVersion = "2.0"; 64 FieldVia.SentBy = new 65 IPDomainPort(System.Net.IPAddress.Parse(" "), 5060); 66 SubscribeRequest.AddHeader(FieldVia); 67 ClientTransaction transaction = 68 SipTransaction.CreateClientTransaction(SubscribeRequest, CoreClientT, 69 true); 70 SubscribeRequest.SetTransaction(transaction); 71 SubscribeRequest.ResponseReceived += new 72 EventHandler<ResponseReceivedEventArgs> 73 (SubscribeRequest_ResponseReceived); 74 CoreClientT.SendRequest(SubscribeRequest); 75 Sección de Código 3. Creación de transacciones SIP 4.4 Desarrollo de software Proxy para autenticar Softphone Una de las funciones principales de la aplicación Proxy PBX, es la autenticación de usuarios (Softphone) y el registro de éstos dentro de la red y así mismo, su localización mediante el envío de paquetes de datos, para esto el Software Proxy manipulará, en función de peticiones y respuestas, la señalización necesaria para proporcionar un registro exitoso mediante su identificación en un Servidor de Registro. Para este propósito, se hace uso de la extensa variedad de clases contenidas en el SDK para protocolo SIP (sección 3.3). Entre ellas la clase principal SIP CORE que generará los procesos necesarios para el procesamiento de múltiples peticiones y respuestas. Dentro de esta misma clase, se permite el envío de paquetes definidos para cada propósito, teniendo la tarea de construir tramas para los métodos solicitados. Por otro lado, tomando respuestas asociadas a una petición será necesario el manejo de datos de una manera estructurada, utilizando listas enlazadas se almacenarán parámetros necesarios para la gestión de la comunicación. 70

71 En la siguiente figura se muestra la estructura general de un nodo incluido en una lista necesaria para la asociación entre peticiones y respuestas relacionadas con un UAC. Anterior DisplayName Username DireccionIP Puerto Via Siguiente Figura 26. Nodo perteneciente a la clase NodoListaSoftphone Dentro de este nodo será necesario actualizar los parámetros en tiempo de ejecución en función de las peticiones y respuestas asociadas con cada UAC. Para la declaración de instancias dentro de la clase NodoListaSoftphone, se construyó la siguiente estructura, mostrada en la figura Sección de código 4: 1 public class NodoListaSoftphone 2 3 public NodoListaSoftphone anterior; 4 public string DisplayName; 5 public string Username; 6 public string DireccionIP; 7 public string Puerto; 8 public string Via; 9 public NodoListaSoftphone siguiente; 10 public NodoListaSoftphone(string DisplayName, string Username, string 11 DireccionIP, string Puerto, string Via) 12 : this(null, DisplayName, Username, DireccionIP, Puerto, Via, null) public NodoListaSoftphone(NodoListaSoftphone anterior, string 15 DisplayName, string Username, string DireccionIP, string Puerto, string 16 Via, NodoListaSoftphone siguiente) this.anterior = anterior; 19 this.displayname = DisplayName; 20 this.username = Username; 21 this.direccionip = DireccionIP; 22 this.puerto = Puerto; 23 this.via = Via; 24 this.siguiente = siguiente; public NodoListaSoftphone ANTERIOR get return anterior; 29 set anterior = value; public string DISPLAYNAME get return DisplayName; 34 set DisplayName = value; public string USERNAME get return Username; 71

72 39 set Username = value; public string DIRECCIONIP get return DireccionIP; 44 set DireccionIP = value; public string PUERTO get return Puerto; 49 set Puerto = value; public string VIA get return Via; 54 set Via = value; public NodoListaSoftphone SIGUIENTE get return siguiente; 59 set siguiente = value; Sección de Código 4: Definición de estructura de datos asignada a cada usuario dentro de la red La clase NodoListaSoftphone, es considerada una clase autoreferenciada, ya que contiene miembros de referencia que hacen referencia a un objeto del mismo tipo de clase. En las líneas de código 3 y 9 de la sección 4, se definen las referencias anterior y siguiente. Los miembros anterior y siguiente hacen referencia a un objeto de tipo NodoListaSoftphone, observando la declaración de un objeto del mismo tipo, de ahí el término de clase autoreferenciada. Dentro de esta clase también contiene los miembros necesarios para el control de enrutamiento de peticiones y respuestas. Para ello se definen las propiedades DisplayName, Username, DireccionIP, Puerto y Vía. La propiedad DisplayName define el nombre de usuario utilizado para identificar a un teléfono a nivel de usuario, que será utilizada para el control de acceso a un registro de usuarios en tiempo real. La propiedad Username define un identificador de usuario proporcionado por el PBX para hacer única la localización de un teléfono dentro de la red IP. La propiedad DireccionIP define una dirección lógica IPv4 utilizada para la identificación única a nivel de capa de red para cada teléfono, con esta propiedad el Proxy PBX, en función de peticiones o respuestas, elegirá el destino adecuado. La propiedad Puerto define un valor asociado a un cliente a nivel de capa de transporte, por el se envían las peticiones iniciales y se espera que ahí sean contestadas con el fin de evitar la pérdida de datos. Para el propósito en particular del proyecto, cada cliente Softphone 72

73 dispone de un rango de puertos efímeros disponibles para la comunicación, definidos en el protocolo UDP. Por último, se define la propiedad Vía que contendrá el campo de cabecera existente en la trama SIP, que será actualizado junto con las demás propiedades cada que inicie una nueva petición el UAC. 4.5 Desarrollo de software proxy para iniciar y finalizar una llamada. Una vez registrados los clientes con el PBX a través del Proxy PBX, se inicia el proceso de comunicación a través de la trama INVITE, donde un cliente solicita establecer sesión con un usuario final, para esto, la aplicación desarrollada será capaz de verificar si el usuario final se encuentra en disponibilidad de aceptar una llamada, o en otro caso, verificar si existe o no el usuario final. El procesamiento de la trama INVITE se lleva a cabo en un proceso interno de la aplicación Proxy PBX, donde recibe la petición inicial, verifica el usuario final y toma la decisión de enrutarla o denegarla. En la figura 27 se muestra el proceso de inicio y fin de sesión basado en transacciones SIP. Figura 27. Proceso de inicio y fin de llamada. El cliente Softphone1 Xlite inicia la sesión enviando una trama INVITE al objeto SIP CORE que será el encargado de enrutar las llamadas a un destino final, la aplicación Proxy PBX internamente trabaja con un objeto de este tipo para iniciar las transacciones necesarias y localizar dentro de la red al Softphone Xlite. La ejecución de este proceso estará en función de las peticiones realizadas al objeto SIP CORE tomando como parámetro principal que el método recibido dentro de la petición está relacionado con el método SIP INVITE. En la sección de código 5 se explica el reconocimiento del método para este proceso y la ejecución de envío y recepción de tramas relacionadas con el inicio de sesión. 73

74 1 if (trans.originalrequest.method == SipMethod.Invite) 2 3 InviteServerTransaction InviteTrans = 4 (InviteServerTransaction)e.Transaction; 5 CoreClientT = null; 6 CoreClientT = new SipCore(); 7 System.Net.IPAddress localaddress = 8 System.Net.IPAddress.Parse(" "); 9 CoreClientT.LocalAddressPort = new IPDomainPort(new 10 IPEndPoint(localAddress, 5060)); 11 string CampoVia; 12 string IP; 13 string Puerto; 14 CampoVia = trans.originalrequest.viaheaders.tostring(); 15 char[] sep = ' ', ':', ';' ; 16 string[] part = CampoVia.Split(sep); 17 IP = part[3]; 18 Puerto = part[4]; 19 string dname; 20 string username; 21 char[] tok = '"', '"', ':', ; 22 string from = trans.originalrequest.from.tostring(); 23 string[] part2 = from.split(tok); 24 dname = part2[2]; 25 username = part2[4]; 26 listacliente.insertar(dname, username, IP, Puerto, Via); 27 listaregistro.insertar(username, IP, Puerto); 28 char[] tok2 = ':', ; 29 string To = trans.originalrequest.requesturi.absoluteuri.tostring(); 30 string[] part3 = To.Split(tok); 31 string usernamedestino = part3[1]; 32 string callidpar = trans.originalrequest.callid.tostring(); 33 string[] parametros = listaregistro.buscar(usernamedestino); 34 string DNDestino = trans.originalrequest.to.displayname.tostring(); 35 string Fecha = DateTime.Now.Date.ToString(); SipResponse RingingResponse = new 38 SipResponse(InviteTrans.OriginalRequest, SipStatusCode.Ringing); 39 System.Net.IPAddress RemoteAddress = System.Net.IPAddress.Parse(IP); 40 DestinationTuple destination = new DestinationTuple(new 41 IPEndPoint(RemoteAddress, int.parse(puerto)), TransportProtocol.Udp); 42 CoreServerT.SendResponseDirect(RingingResponse, destination); 43 listareportes.insertar(callidpar, dname, username, IP, DNDestino, 44 usernamedestino, parametros[1], Fecha); InviteRequest Invite = new InviteRequest(); 47 ViaHeaderField FieldVia = new ViaHeaderField(new 48 IPDomainPort(System.Net.IPAddress.Parse(" "), 5060)); 49 FieldVia.Branch = ViaHeaderField.NewBranch(); 50 FieldVia.ProtocolName = "UDP"; 51 FieldVia.ProtocolVersion = "2.0"; 52 FieldVia.SentBy = new 53 IPDomainPort(System.Net.IPAddress.Parse(" "), 5060); 54 Invite.AddHeader(FieldVia); Sección de código 5. Gestión de envío de trama INVITE a un usuario final. 74

75 Para que un cliente destino localice el usuario fuente, será necesario que el Proxy PBX envíe la señalización necesaria para el inicio de sesión, como se muestra en la sección de código 4, el objeto SIP CORE hace un criterio de análisis para determinar si la transacción Servidor reconoce un método de tipo INVITE, si esta condición se cumple, envía como respuesta inmediata una trama de procedimiento 180 (RINGING), que será llevada a un estado de completo con un OK para indicar que la sesión fue aceptada por el cliente destino. 4.6 Desarrollo de software Proxy PBX para generar reportes de llamadas. Para generar el Reporteador de llamadas dentro de la red, se utilizó una base de datos conectada al servidor Microsoft SQL Server La base de datos consiste en una tabla que almacenará en tiempo real, las llamadas cursan sobre la red. En la siguiente figura, se muestra la tabla que se creó con los campos pertinentes para realizar el reporte de llamadas. Figura 28. Base de datos Reporteador Los campos que se tomaron en consideración, para generar el reporte son: DisplayNameOrigen, UserNameOrigen, IPOrigen, DisplayNameDestino, UserNameDestino, IPDestino, HoraInicio, HoraFin, Duracion y Fecha. Esta tabla, fue creada en el control de usuario DATAGRIDVIEW para mostrar en pantalla los datos de los usuarios y las llamadas que han realizado. El DATAGRIDVIEW va llenando sus registros en tiempo de ejecución y posteriormente los guarda en una base de datos alojada dentro del proyecto. Una vez almacenada la tabla, se podrán hacer consultas para generar los reportes de llamadas de acuerdo a las diferentes necesidades del administrador. 75

76 Capítulo V Pruebas 5.1 Registro de teléfono SIP Objetivo El objetivo de esta prueba, es el establecer el registro de un cliente Softphone a través de su autenticación con el software PROXY PBX y éste a su vez, con el servidor de registro situado dentro del IP PBX. Figura 29. Diagrama de registro de Softphone El procedimiento a seguir para el registro y autenticación del un cliente Softphone dentro de la red, esta indicado en la figura 30. Para realizar dicha autenticación, el Softphone utiliza el método REGISTER para indicarle al PROXY PBX su dirección SIP. 76

77 Figura 30. Esquema SIP de registro y autenticación de Softphone Resultados Como resultado a esta primera etapa de la realización del proyecto, se obtuvo el cliente Softphone XLite, registrado con el nombre de usuario 40 (figura 31). Figura 31. Softphone registrado 77

78 De esta forma, también se capturo información del usuario registrado a través del Log de Tramas (Figura 32). Figura 32. Log de Tramas Register Objetivo 5.2 Establecimiento y liberación de sesión SIP El objetivo de esta etapa, es el establecer una sesión SIP entre dos clientes Softphone que iniciaran y terminaran una llamada telefónica. El cliente Softphone 1 con dirección SIP URI realiza una llamada al cliente Softphone 2 con SIP URI en la figura 33 se muestra el diagrama Establecimiento y liberación de sesión SIP. El mensaje de establecimiento de llamada SIP INVITE es emitido por el que llama al PROXY PBX, éste identifica la localización del que esta llamado (dirección IP) y encamina la llamada a su destino. El mensaje INVITE contiene distintos campos de cabecera obligatorios, entre los cuales están la dirección SIP URI de quien llama From, la dirección SIP URI de quien recibe la llamada To, el identificador de la llamada Call- ID, el numero de secuencia Cseq, un numero máximo de saltos max-forwards. El campo de cabecera Via esta actualizado por todas las entidades que participan en el enrutamiento de la llamada, esto asegura que la respuesta seguirá el mismo camino que el requerimiento. 78

79 Por otra parte, el método SIP INVITE contiene el protocolo SDP (Session Description Protocol), que esta encargado de definir las características media que el que inicia la llamada necesita para realizarla. Figura 33. Diagrama Establecimiento y liberación de sesión SIP En la siguiente figura, se muestra a detalle el procedimiento del envío de mensajes SIP entre los UAC, pasando por la entidad PROXY PBX para el inicio y fin de la sesión. Figura 34. Esquema SIP de inicio y fin de llamada. 79

80 5.2.1 Resultados Como resultado a esta prueba, se obtuvo mediante el Log de Tramas información de origen y destino de la llamada, direcciones IP, puertos utilizados, entre otros campos (Figura 35). Figura 35. Log de tramas inicio y fin de sesión. La figura 36 muestra el cliente Softphone2 recibiendo la llamada del Softphone1, donde se despliega su Username (40) así como el Displayname (Liliana). 80

81 Figura 36. Softphone2 Figura 37. Llamada establecida Objetivo 5.3 Prueba Reporteador Como parte final del proyecto, se implemento un servicio de reportes de llamada, donde se registra quienes establecieron comunicación dentro de la red, hora de inicio y fin de la llamada, así como la duración de la misma. Figura 38. Esquema PROXY PBX 81

82 5.3.1 Resultados Figura 39.Prueba Reporteador 5.4 Resultados finales Figura 40. Aplicación PROXY PBX 82

VOIP LA NUEVA REVOLUCION

VOIP LA NUEVA REVOLUCION VOIP LA NUEVA REVOLUCION Con la aparición de redes IP, se revolucionó la forma como nos comunicamos, ahora podemos enviar imágenes, textos, archivos de audio y video; a partir de la década de los 90, se

Más detalles

Servicio de tecnología de voz IP VoIP. - Telefonía tradicional - Funcionamiento de VoIP - Protocolos VoIP - Elementos VoIP

Servicio de tecnología de voz IP VoIP. - Telefonía tradicional - Funcionamiento de VoIP - Protocolos VoIP - Elementos VoIP Servicio de tecnología de voz IP VoIP - Telefonía tradicional - Funcionamiento de VoIP - Protocolos VoIP - Elementos VoIP Servicio de tecnología de voz IP Voz sobre Protocolo de Internet, también llamado

Más detalles

Telefonía IP. Diseño e Implementación del Sistema RENZO TACO COAYLA. e-mail: renzo@itsperu.com url: http://www.itsperu.com blog: http://www.oxaseis.

Telefonía IP. Diseño e Implementación del Sistema RENZO TACO COAYLA. e-mail: renzo@itsperu.com url: http://www.itsperu.com blog: http://www.oxaseis. Telefonía IP Diseño e Implementación del Sistema RENZO TACO COAYLA e-mail: renzo@itsperu.com url: http://www.itsperu.com blog: http://www.oxaseis.tk CONSULTORIA EMPRESARIAL EN TI Evolución 1995 Israel.-

Más detalles

CÓMO FUNCIONA LA VOZ SOBRE IP

CÓMO FUNCIONA LA VOZ SOBRE IP CÓMO FUNCIONA LA VOZ SOBRE IP La voz sobre IP convierte las señales de voz estándar en paquetes de datos comprimidos que son transportados a través de redes de datos en lugar de líneas telefónicas tradicionales.

Más detalles

TELEFONÍA A IP. Lic. RODRÍGUEZ GÓMEZ, GISELA. Dpto. INFORMÁTICA. UNIVERSIDAD NACIONAL DEL NORDESTE CORRIENTES

TELEFONÍA A IP. Lic. RODRÍGUEZ GÓMEZ, GISELA. Dpto. INFORMÁTICA. UNIVERSIDAD NACIONAL DEL NORDESTE CORRIENTES TELEFONÍA A IP Lic. RODRÍGUEZ GÓMEZ, GISELA Dpto. INFORMÁTICA. UNIVERSIDAD NACIONAL DEL NORDESTE CORRIENTES Introducción La Telefonía IP es un nuevo sistema de comunicación que permite convertir la voz

Más detalles

Qué es la Telefonía IP?

Qué es la Telefonía IP? Qué es la Telefonía IP? La telefonía IP me permite realizar llamadas telefónicas ordinarias sobres redes IP u otras redes de paquetes utilizando una PC, Gateway y teléfonos estándares. Cuando hacemos una

Más detalles

INSTALACIÓN, OPERACIÓN Y PROGRAMACIÓN DE EQUIPOS Y SISTEMAS TELEFÓNICOS

INSTALACIÓN, OPERACIÓN Y PROGRAMACIÓN DE EQUIPOS Y SISTEMAS TELEFÓNICOS 09-06-2015 1 Descripción y funcionamiento de una central PABX 09-06-2015 2 Un PBX o PABX (siglas en inglés de Private Branch Exchange y Private Automatic Branch Exchange para PABX), la cual es la red telefónica

Más detalles

Cuándo nace VoIP? telefonía IP (Internet Protocol)

Cuándo nace VoIP? telefonía IP (Internet Protocol) Introducción VoIP Cuándo nace VoIP? En 1995 la empresa VocalTec realiza la primera llamada telefónica de PC a PC a través de Internet, es aquí donde nace el término de telefonía IP (Internet Protocol)

Más detalles

La telefonía tradicional

La telefonía tradicional VoIP y Asterisk La telefonía tradicional Red telefónica básica RTB: Cada línea RTB tiene asignada una numeración específica. Físicamente está constituida por dos hilos metálicos (par de cobre), que se

Más detalles

Aplicaciones sobre una red de telefonía IP. Presentado por: Tamara Ramírez Andrade Jaime Díaz Rojas

Aplicaciones sobre una red de telefonía IP. Presentado por: Tamara Ramírez Andrade Jaime Díaz Rojas Aplicaciones sobre una red de telefonía IP Presentado por: Tamara Ramírez Andrade Jaime Díaz Rojas Que es la telefonía IP? La telefonía IP es una tecnología que permite que las señales de voz viajen a

Más detalles

UNIVERSIDAD LUTERANA SALVADOREÑA FACULTAD DE CIENCIAS DEL HOMBRE Y LA NATURALEZA LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN CÁTEDRA: REDES II

UNIVERSIDAD LUTERANA SALVADOREÑA FACULTAD DE CIENCIAS DEL HOMBRE Y LA NATURALEZA LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN CÁTEDRA: REDES II UNIVERSIDAD LUTERANA SALVADOREÑA FACULTAD DE CIENCIAS DEL HOMBRE Y LA NATURALEZA LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN CÁTEDRA: REDES II CATEDRÁTICO: ING. MANUEL VILLATORO. PROYECTO: PLANTA TELEFONICA

Más detalles

Última modificación: 1 de mayo de 2010. www.coimbraweb.com

Última modificación: 1 de mayo de 2010. www.coimbraweb.com TELEFONÍA IP Contenido 1.- Introducción. 2.- Telefonía tradicional. 3.- Codificación de voz. 4.- Telefonía sobre IP. 5.- Equipamiento VoIP. 6.- Calidad de servicio en VoIP. Última modificación: ió 1 de

Más detalles

Telefonía sobre IP. Baja la factura del teléfono

Telefonía sobre IP. Baja la factura del teléfono Telefonía sobre IP. Baja la factura del teléfono José Manuel Huidobro Ingeniero de Telecomunicación La telefonía sobre IP o, simplemente, telefonía IP, al margen del desconocimiento general y las precauciones

Más detalles

SERVICIOS AUTÓNOMOS Y EMPRESAS. Melilla 10/12/2010

SERVICIOS AUTÓNOMOS Y EMPRESAS. Melilla 10/12/2010 SERVICIOS AUTÓNOMOS Y EMPRESAS Melilla 10/12/2010 Si buscas resultados distintos, no hagas siempre lo mismo Albert Einstein 2 0.- INTRODUCCIÓN - Cablemel Año 2004 Nace Cablemel, tras detectarse una serie

Más detalles

Sección Telefonía IP www.ingeniatic.com

Sección Telefonía IP www.ingeniatic.com Sección Telefonía IP www.ingeniatic.com El futuro: La telefonía IP Qué es la telefonía IP? Qué es la voz sobre IP? La voz sobre IP (VoIP, Voice over Internet Protocol, Voz sobre el Protocolo de Internet

Más detalles

Qué es VoIP?. Por que utilizar VoIP? Telefonía IP vs Telefonía Convencional Por qué la telefonía IP es mas barata? Intercambio de paquetes en la

Qué es VoIP?. Por que utilizar VoIP? Telefonía IP vs Telefonía Convencional Por qué la telefonía IP es mas barata? Intercambio de paquetes en la Qué es VoIP?. Por que utilizar VoIP? Telefonía IP vs Telefonía Convencional Por qué la telefonía IP es mas barata? Intercambio de paquetes en la telefonía IP Tipo de comunicación en la telefonía IP Ventajas

Más detalles

Asterisk. Conceptos básicos sobre VoIP

Asterisk. Conceptos básicos sobre VoIP Asterisk Conceptos básicos sobre VoIP Introducción VoIP : Voice Over Internet Protocol La voz se digitaliza y viaja en paquetes de datos utilizando el protocolo IP La infraestructura de paquetes sustituye

Más detalles

Proyecto Redes de Computadores I. Protocolo de Voz sobre IP

Proyecto Redes de Computadores I. Protocolo de Voz sobre IP UTFSM Departamento de Electrónica Proyecto Redes de Computadores I Protocolo de Voz sobre IP Fecha 06 de Septiembre 2013 Integrantes Nicolás Oneto Velásquez Nicolás Ramírez Didier Max Sottovia Rodríguez

Más detalles

Jorge De Nova Segundo

Jorge De Nova Segundo UD9: Instalación y administración de otros servicios de red e Internet Servicio de tecnología de voz IP VoIP. Jorge De Nova Segundo Telefonía tradicional. El teléfono es un dispositivo de telecomunicación

Más detalles

En este capítulo se proporciona una visión general de las redes de computadores. Así, se presenta una descripción general de las comunicaciones de

En este capítulo se proporciona una visión general de las redes de computadores. Así, se presenta una descripción general de las comunicaciones de En este capítulo se proporciona una visión general de las redes de computadores. Así, se presenta una descripción general de las comunicaciones de datos y la tipología de redes que se emplean. Además este

Más detalles

Universidad Católica de El Salvador Miembro RAICES

Universidad Católica de El Salvador Miembro RAICES Universidad Católica de El Salvador Miembro RAICES LABORATORIO DE VOZ SOBRE IP (VoIP) Y SU IMPLEMENTACIÓN EN LAS REDES AVANZADAS UTILIZANDO CÓDIGO ABIERTO. Junio de 2011 Financiamiento Proyecto autorizado

Más detalles

IMPLANTACIÓN DE TELEFONÍA IP EN EL MINISTERIO DE AGRICULTURA PESCA Y ALIMENTACIÓN: UNA SOLA RED PARA VOZ Y DATOS

IMPLANTACIÓN DE TELEFONÍA IP EN EL MINISTERIO DE AGRICULTURA PESCA Y ALIMENTACIÓN: UNA SOLA RED PARA VOZ Y DATOS 18 IMPLANTACIÓN DE TELEFONÍA IP EN EL MINISTERIO DE AGRICULTURA PESCA Y ALIMENTACIÓN: UNA SOLA RED PARA VOZ Y DATOS José Antonio Pérez Quintero Ingeniero de Redes y Sistemas del Departamento Técnico SATEC

Más detalles

EL FUTURO DE LAS COMUNICACIONES HA LLEGADO. Gracias a nuestras centralitas IP ahorre un 40% en su factura telefónica e interconecte todas sus sedes.

EL FUTURO DE LAS COMUNICACIONES HA LLEGADO. Gracias a nuestras centralitas IP ahorre un 40% en su factura telefónica e interconecte todas sus sedes. EL FUTURO DE LAS COMUNICACIONES HA LLEGADO Gracias a nuestras centralitas IP ahorre un 40% en su factura telefónica e interconecte todas sus sedes. Incorporación de enlaces para llamar a móviles a precio

Más detalles

Taller: Acérquese a sus clientes, Innove con la Tecnología

Taller: Acérquese a sus clientes, Innove con la Tecnología Taller: Acérquese a sus clientes, Innove con la Tecnología Las PyMEs tienen diferentes tipos de perfiles, necesidades y objetivos. Introducción Tecnología Productividad Ventas Servicio a Clientes Procesos

Más detalles

CAPÍTULO 1: CONCEPTOS BÁSICOS DE TELEFONÍA

CAPÍTULO 1: CONCEPTOS BÁSICOS DE TELEFONÍA CAPÍTULO 1: CONCEPTOS BÁSICOS DE TELEFONÍA 1.1 INTRODUCCIÓN La tecnología ha avanzado rápidamente a lo largo de los años innovando la comunicación entre los seres humanos. Dentro de estos grandes logros

Más detalles

Centrales Privadas - PBX

Centrales Privadas - PBX Centrales Privadas - PBX Cecilia Alberto :: 82652 Lucas Chiesa :: 83417 Margarita Manterola :: 77091 1er cuatrimestre - 2007 Resumen En este documento se tratarán las centrales PBX. La historia de su desarrollo,

Más detalles

empresa Introducción al enrutamiento y la conmutación en la empresa. Capítulo1 Networkingenlaempresa

empresa Introducción al enrutamiento y la conmutación en la empresa. Capítulo1 Networkingenlaempresa CCNA Descubrimiento Introducción al enrutamiento y la conmutación en la empresa. Capítulo 1 Networking en la empresa Capítulo1 Networkingenlaempresa 1 Objetivos Describir una empresa. Identificar flujos

Más detalles

Asterisk. Introducción. Ámbitos de aplicación. Modalidades de Voz/IP. Conceptos básicos sobre VoIP 07/03/2013

Asterisk. Introducción. Ámbitos de aplicación. Modalidades de Voz/IP. Conceptos básicos sobre VoIP 07/03/2013 Introducción Asterisk Conceptos básicos sobre VoIP VoIP : Voice Over Internet Protocol La voz se digitaliza y viaja en paquetes de datos utilizando el protocolo IP La infraestructura de paquetes sustituye

Más detalles

Voz sobre IP El futuro es hoy. Rafael Loscos Sanz

Voz sobre IP El futuro es hoy. Rafael Loscos Sanz Voz sobre IP El futuro es hoy Rafael Loscos Sanz 1.- Qué es la tecnología VoIP. Consiste en aprovechar la infraestructura desplegada para la transmisión de datos para transmitir voz, utilizando el protocolo

Más detalles

MÓDULO: SERVICIOS E RED. Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio]

MÓDULO: SERVICIOS E RED. Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio] MÓDULO: SERVICIOS E RED Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio] PARTE 1: Responde las siguientes preguntas tipo TEST. Solo hay una respuesta correcta. Dos respuestas incorrectas anulan una

Más detalles

PBX-Central Telefonica

PBX-Central Telefonica PBX-Central Telefonica Las centrales telefonicas nacen para cubrir la demanda de servicios telefónicos que existia hace unas decadas en las compañias privadas. Se pretendia con la instalacion de las centrales

Más detalles

ESTUDIO DE VIABILIDAD Y DISEÑO DE LA SOLUCION DE VOIP PARA LA EMPRESA DATECSA S.A.

ESTUDIO DE VIABILIDAD Y DISEÑO DE LA SOLUCION DE VOIP PARA LA EMPRESA DATECSA S.A. ESTUDIO DE VIABILIDAD Y DISEÑO DE LA SOLUCION DE VOIP PARA LA EMPRESA DATECSA S.A. 2 de junio de 2010 ANDRES CASTIBLANCO 20091273005 NELSON JAVIER REYES 20091273023 NOMBRE DEL DIRECTOR: Lic. HERMES ESLAVA

Más detalles

Capítulo II: Unión de Voz y Datos.

Capítulo II: Unión de Voz y Datos. : Unión de Voz y Datos. El desarrollo de las telecomunicaciones y de Internet ha hecho que tecnologías enfocadas a la unión de voz y datos, comiencen a ser una realidad tanto en el mundo de los negocios,

Más detalles

Juan Antonio Gil Martínez-Abarca (gil@eps.ua.es)

Juan Antonio Gil Martínez-Abarca (gil@eps.ua.es) Datos del Curso Título Especialista en Redes y Telefonía VoIP Duración 100 horas (13,3 créditos ECTS) Responsables Dr. Julio Gómez López Dra. Consolación Gil Montoya Profesorado Adolfo Albaladejo Blázquez

Más detalles

Asterisk. Conceptos básicos sobre VoIP

Asterisk. Conceptos básicos sobre VoIP Asterisk Conceptos básicos sobre VoIP Introducción VoIP : Voice Over Internet Protocol La voz se digitaliza y viaja en paquetes de datos utilizando el protocolo IP La infraestructura de paquetes sustituye

Más detalles

Presentación de la Empresa

Presentación de la Empresa Presentación de la Empresa Presentación de la Empresa ServiTux Servicios Informáticos S.L. se constituyó como empresa en mayo de 2004 con un objetivo muy claro: implementar soluciones de software libre

Más detalles

e-business Ing. Marco Guachimboza Mg.

e-business Ing. Marco Guachimboza Mg. e-business Ing. Marco Guachimboza Mg. UNIDAD I FUNDAMENTOS DE INTERNET INTRODUCCIÓN A LAS TELECOMUNICACIONES TELECOMUNICACIÓN La telecomunicación («comunicación a distancia»), del prefijo griego tele,

Más detalles

SOLUCIÓN INTEGRADA CRM - CONTACT CENTER

SOLUCIÓN INTEGRADA CRM - CONTACT CENTER CS SOLUCIÓN INTEGRADA CRM - CONTACT CENTER LINK CS Solución Integrada CRM-Contact Center LINK C.S. Es la solución de telefonía ideal para reducir costos y obtener el máximo de beneficios de su plataforma

Más detalles

1. Fundamentos VoIP. Redes de acceso para voz

1. Fundamentos VoIP. Redes de acceso para voz Redes de acceso para voz 1. Fundamentos VoIP La voz sobre el protocolo de Internet, VoIP ( Voice over IP), es un grupo de recursos que hacen posible que la señal de voz se transmita a través de Internet

Más detalles

Servicio de tecnología de voz IP VoIP.

Servicio de tecnología de voz IP VoIP. Servicio de tecnología de voz IP VoIP. Voz sobre Protocolo de Internet, también llamado Voz sobre IP, Voz IP, VozIP, VoIP (por sus siglas en inglés, Voice over IP), es un grupo de recursos que hacen posible

Más detalles

INFORMATICA A BORDO CAPITULO 22 TELEFONIA IP A BORDO (I)

INFORMATICA A BORDO CAPITULO 22 TELEFONIA IP A BORDO (I) INFORMATICA A BORDO CAPITULO 22 TELEFONIA IP A BORDO (I) Las comunicaciones a bordo son imprescindibles. Continuamente estamos buscando formas y opciones para comunicarnos con otros barcos, con el puerto,

Más detalles

1. PARAMETROS DE CALIDAD DE SERVICIO. -PERDIDAS DE PAQUETES EN LOS ROUTERS: Vía TCP son recuperables, pero las retransmisiones TCP son

1. PARAMETROS DE CALIDAD DE SERVICIO. -PERDIDAS DE PAQUETES EN LOS ROUTERS: Vía TCP son recuperables, pero las retransmisiones TCP son TEMA 6: APLICACIONES MULTIMEDIA EN TIEMPO REAL Internet es una red de computadoras TCP/IP que basa su funcionamiento en la tecnología de conmutación de paquetes mediante un servicio no orientado a conexión.

Más detalles

Plan de ahorro en costes mediante telefonía IP

Plan de ahorro en costes mediante telefonía IP Plan de ahorro en costes mediante telefonía IP Sección de Telefonía IP IngeniaTIC Desarrollo S.L. PLAN DE AHORRO EN COSTES MEDIANTE TELEFONÍA IP Sección de Telefonía IP Introducción El presente documento

Más detalles

TIPOS DE CONEXIÓN A INTERNET

TIPOS DE CONEXIÓN A INTERNET TIPOS DE CONEXIÓN A INTERNET 1. RTC 2. RDSI 3. ADSL 4. Cable 5. Vía satélite 6. Redes Inalámbricas 7. LMDS 1. RTC La Red Telefónica Conmutada (RTC) también llamada Red Telefónica Básica (RTB) es la red

Más detalles

Las Redes IP; Conceptos básicos

Las Redes IP; Conceptos básicos WHITE PAPER Las redes IP: Conceptos básicos 0 Índice 1.- Introducción... 2 2.- Comunicación de redes, conceptos básicos... 2 3.- Fundamentos de transmisión... 4 4.- Infraestructura de la red de área local

Más detalles

ELEMENTOS DE TELEFONÍA Y VOIP

ELEMENTOS DE TELEFONÍA Y VOIP ELEMENTOS DE TELEFONÍA Y VOIP BIBLIOGRAFÍA Documentación Proyecto Final: VoIP: Una puerta hacia la Convergencia http://technet.microsoft.com/eses/library/bb430797.aspx http://es.wikipedia.org/wiki/pbx

Más detalles

Fibra Óptica Actualidad y futuro de las redes ópticas

Fibra Óptica Actualidad y futuro de las redes ópticas Fibra Óptica Actualidad y futuro de las redes ópticas Francisco Ramos Pascual. Doctor Ingeniero de Telecomunicación. Profesor Titular de Escuela Universitaria. Universidad Politécnica de Valencia Si bien

Más detalles

Solución Integrada CRM - Contact Center

Solución Integrada CRM - Contact Center C.S. Solución Integrada CRM - Contact Center LINK CS Solución Integrada CRM-Contact Center LINK CS Solución Integrada CRM-Contact Center LINK C.S. Es la solución de telefonía ideal para reducir costos

Más detalles

Servicio de tecnología de voz IP VoIP. Jesús Torres Cejudo

Servicio de tecnología de voz IP VoIP. Jesús Torres Cejudo 1 - Telefonía tradicional. La telefonía fija o convencional, que es aquella que hace referencia a las líneas y equipos que se encargan de la comunicación entre terminales telefónicos no portables, y generalmente

Más detalles

Cableado estructurado

Cableado estructurado Los conectores de internet router,hud,switch, Concentrador Introducción Para los servicios de internet te varios aparatos conectados para que funcione de forma correcta Entre estos estas router,hud, switch

Más detalles

Capítulo 4 Comentarios.

Capítulo 4 Comentarios. Capítulo 4 Comentarios. Existe mucho escepticismo acerca de la efectividad de la nueva tecnología VoIP sobre la telefonía convencional. Se menciona en [17] que el servicio de VoIP es gratis, que no puede

Más detalles

1.Diferencia entre la comunicación de la gente y las computadoras.

1.Diferencia entre la comunicación de la gente y las computadoras. DISEÑO, IMPLEMENTACION Y GESTION DE UN SISTEMA TELEFÓNICO VOIP UTILIZANDO EL SERVIDOR DE COMUNICACIONES OmniPCX OFFICE ENTRE LA MATRIZ DEL GRUPO QUIROLA Y LAS HACIENDAS DE NARANJAL Y MILAGRO Gustavo Palma

Más detalles

TEMA 10 REDES DE COMUNICACIÓN CONMUTADAS. CONMUTACIÓN DE CIRCUITOS.

TEMA 10 REDES DE COMUNICACIÓN CONMUTADAS. CONMUTACIÓN DE CIRCUITOS. TEMA 10 REDES DE COMUNICACIÓN CONMUTADAS. CONMUTACIÓN DE CIRCUITOS. 10.1 REDES CONMUTADAS Desde la invención del teléfono, la conmutación de circuitos ha sido la tecnología dominante en las comunicaciones

Más detalles

GUÍAS FÁCILES DE LAS TIC

GUÍAS FÁCILES DE LAS TIC GUÍAS FÁCILES DE LAS TIC del COLEGIO OFICIAL DE INGENIEROS DE TELECOMUNICACIÓN Trabajo Premiado 2006 Autor: Router IP D. José María Jurado García-Posada 17 de Mayo 2006 DIA DE INTERNET Guía fácil Router

Más detalles

Algunas preguntas y respuestas frecuentes (FAQ s)

Algunas preguntas y respuestas frecuentes (FAQ s) Algunas preguntas y respuestas frecuentes (FAQ s) 1. Que es ADSL? 2. Cómo funciona ADSL? 3. Quiénes son los usuarios mas frecuentes de este servicio? 4. Cuales son las aplicaciones de ADSL? 5. Puedo contratar

Más detalles

La VoIP y su situación en Canarias

La VoIP y su situación en Canarias La VoIP y su situación en Canarias La VoIP y su situación en canarias Qué es la VoIP?, qué ventajas presenta y por qué es la tecnología estrella en las telecomunicaciones empresariales?. Si usted es el

Más detalles

Operación Microsoft Windows XP

Operación Microsoft Windows XP Entornos de red Concepto de red En el nivel más elemental, una red consiste en dos equipos conectados entre sí mediante un cable de forma tal que puedan compartir datos. Todas las redes, no importa lo

Más detalles

Introducción. Protocolos Asterisk. VoIP. Asterisk. Esteban De La Fuente Rubio esteban@delaf.cl L A TEX. Universidad Andrés Bello.

Introducción. Protocolos Asterisk. VoIP. Asterisk. Esteban De La Fuente Rubio esteban@delaf.cl L A TEX. Universidad Andrés Bello. esteban@delaf.cl L A TEX Universidad Andrés Bello 8 jun 2011 Tabla de contenidos 1 2 3 4 Voice over IP / Voice over Internet Protocol. Conjunto de tecnologías que permiten transportar voz sobre una red

Más detalles

Centralita Virtual V-PBX

Centralita Virtual V-PBX Centralita Virtual V-PBX Qué es y que ofrece la VOIP? VoIP es el acrónimo de "Voice over internet protocol" o "voz sobre protocolo de internet". VoIP es la tecnología y Telefonía IP es el servicio. La

Más detalles

Telefonía IP. telefonía ip > DOSSIER INFORMÁTIVO // > / SEPT, 2006. evolución natural. Jesús Martínez Martínez jesus.martinez@inove.

Telefonía IP. telefonía ip > DOSSIER INFORMÁTIVO // > / SEPT, 2006. evolución natural. Jesús Martínez Martínez jesus.martinez@inove. Telefonía IP evolución natural Jesús Martínez Martínez jesus.martinez@inove.es España, Murcia 2006 telefonía ip > DOSSIER INFORMÁTIVO // > / SEPT, 2006 2006 Inove Servicios Telemáticos. All rights reserved.

Más detalles

Fundamentos de Redes LI. Unidad III Modelos de Comunicaciones 3.1 Modelo de referencia OSI.

Fundamentos de Redes LI. Unidad III Modelos de Comunicaciones 3.1 Modelo de referencia OSI. 3.1 Modelo de referencia OSI. Durante las últimas dos décadas ha habido un enorme crecimiento en la cantidad y tamaño de las redes. Muchas de ellas sin embargo, se desarrollaron utilizando implementaciones

Más detalles

Voz sobre IP y Asterisk

Voz sobre IP y Asterisk IRONTEC - http://www.irontec.com Voz sobre IP y Asterisk 1 Softphones Que son? Se trata de software que se ejecuta en estaciones o servidores de trabajo. Permiten establecer llamadas de Voz sobre IP. El

Más detalles

LA ARQUITECTURA TCP/IP

LA ARQUITECTURA TCP/IP LA ARQUITECTURA TCP/IP Hemos visto ya como el Modelo de Referencia de Interconexión de Sistemas Abiertos, OSI-RM (Open System Interconection- Reference Model) proporcionó a los fabricantes un conjunto

Más detalles

Introducción a VoIP, Asterisk y DialOne*

Introducción a VoIP, Asterisk y DialOne* Introducción a VoIP, Asterisk y DialOne* T e c n o lo g ía a m e d id a p a r a e m p r e s a s in n o v a d o r a s Qué es VoIP? Es una forma de comunicarse utilizando redes de datos Ejemplos: Internet,

Más detalles

CAPITULO III PROPUESTA DE SOLUCION.

CAPITULO III PROPUESTA DE SOLUCION. CAPITULO III PROPUESTA DE SOLUCION. 1.- Definición de la Propuesta. La propuesta de solución esta orientada a la implementación de una alternativa comunicación de bajo costo para el personal de la Fuerza

Más detalles

Asterisk - Central Telefónica PBX

Asterisk - Central Telefónica PBX Asterisk - Central Telefónica PBX Asterisk es una aplicación software libre de una central telefónica (PBX). Como cualquier PBX, se puede conectar un número determinado de teléfonos para hacer llamadas

Más detalles

Instituto tecnológico superior de Apatzingán. Investigación documental. Redes inalámbricas (LAN) Alumno: Alondra Gómez Vaca.

Instituto tecnológico superior de Apatzingán. Investigación documental. Redes inalámbricas (LAN) Alumno: Alondra Gómez Vaca. Instituto tecnológico superior de Apatzingán Investigación documental Redes inalámbricas (LAN) Alumno: Alondra Gómez Vaca. Asignatura: Ingeniería en Informática Fundamentos de Investigación Índice Generalidades

Más detalles

Comunicaciones Unificadas basadas en Software Libre con Asterisk en La Universidad de La Laguna

Comunicaciones Unificadas basadas en Software Libre con Asterisk en La Universidad de La Laguna Comunicaciones Unificadas basadas en Software Libre con Asterisk en La Universidad de La Laguna 1 Contenido 1. Descripción del Proyecto 2. Valoración económica y racionalización del gasto 3. Repercusión

Más detalles

CSIR2121. Administración de Redes I [Modulo 1]

CSIR2121. Administración de Redes I [Modulo 1] CSIR2121 Administración de Redes I [Modulo 1] Temas: Nacimiento del Modelo OSI Uso de Capas Paquetes Medios Protocolos Evolución de las normas de networking de ISO Propósito del modelo de referencia OSI

Más detalles

Redes Mg. Gabriel H. Tolosa

Redes Mg. Gabriel H. Tolosa Redes Mg. Gabriel H. Tolosa. tolosoft@unlu.edu.ar "There is no reason for any individual to have a computer in his home" Ken Olsen, fundador y CEO de DEC, 1977. Redes Qué es una red? Conjunto de computadoras

Más detalles

VoIP. Voice Over IP. Gerard Sales Mariano Gracia Julian H. Del Olmo Jose M. Vila

VoIP. Voice Over IP. Gerard Sales Mariano Gracia Julian H. Del Olmo Jose M. Vila VoIP Voice Over IP Gerard Sales Mariano Gracia Julian H. Del Olmo Jose M. Vila Índice 1! Definición VoIP.! Idea Básica.! Ventajas.! Inconvenientes.! Aplicaciones. Índice 2! Estándares. H.323. SIP. H.248/Megaco.!

Más detalles

Nombre: Francis Ariel Jiménez Zapata. Matricula: 2010-0077. Tema: Trabajando con Windows Server 2008 Módulo 6. Materia: Sistema Operativo II

Nombre: Francis Ariel Jiménez Zapata. Matricula: 2010-0077. Tema: Trabajando con Windows Server 2008 Módulo 6. Materia: Sistema Operativo II Nombre: Francis Ariel Jiménez Zapata Matricula: 2010-0077 Tema: Trabajando con Windows Server 2008 Módulo 6 Materia: Sistema Operativo II Facilitador: José Doñe Introducción En este trabajo estaremos tratando

Más detalles

PROPUESTA LLAMADAS VOIP

PROPUESTA LLAMADAS VOIP PROPUESTA LLAMADAS VOIP Comunicamos a nuestros usuarios y público en general, el lanzamiento de VOZip para el servicio de Voz sobre Internet conectada a un servicio de banda ancha mediante un programa

Más detalles

Servicios de voz vía IP Trunking Criterios de buenas prácticas y propuesta para su implantación

Servicios de voz vía IP Trunking Criterios de buenas prácticas y propuesta para su implantación Servicios de voz vía IP Trunking Criterios de buenas prácticas y propuesta para su implantación Se describe en este documento una serie de consideraciones a tener en cuenta para conseguir una buena calidad

Más detalles

LA COMUNICACIÓN ENTRE ORDENADORES

LA COMUNICACIÓN ENTRE ORDENADORES LA COMUNICACIÓN ENTRE ORDENADORES 1. REDES...1 1.1. Redes de paquete...2 Protocolos de conexión...2 1.2. Tipos de redes...2 1.3. Topología de las redes...2 1.4. Otros dispositivos en la red...3 2. VELOCIDAD

Más detalles

CAPITULO 3 PLANIFICACIÓN DE RED

CAPITULO 3 PLANIFICACIÓN DE RED CAPITULO 3 PLANIFICACIÓN DE RED 3.1. INTRODUCCION En el presente capitulo se desarrollara el diseño del sistema GEPON; direccionamiento IP, selección de los materiales necesarios tanto en fibra como en

Más detalles

Capítulo 1: Introducción

Capítulo 1: Introducción Capítulo 1: Introducción El presente trabajo se ubica en el área de administración de redes inalámbricas de computadoras y tiene como objetivo crear una propuesta de solución para permitir un manejo más

Más detalles

UNIVERSIDAD NACIONAL DEL COMAHUE

UNIVERSIDAD NACIONAL DEL COMAHUE UNIVERSIDAD NACIONAL DEL COMAHUE Redes de computadoras Internet Juan Carlos Brocca Redes - Internet Descripción Redes - Internet Descripción Física Redes - Internet Descripción Física Sistemas terminales

Más detalles

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones. Módulo Profesional: Servicios en Red. Código: 0227. Resultados de aprendizaje y criterios de evaluación. 1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

Más detalles

ESCUELA NORMAL PROF. CARLOS A CARRILLO

ESCUELA NORMAL PROF. CARLOS A CARRILLO ESCUELA NORMAL PROF. CARLOS A CARRILLO QUE ES UNA RED L A S T I C S E N L A E D U C A C I O N P R E E S C O L A R P R O F. C R U Z J O R G E A R A M B U R O A L U M N A : D U L C E C O R A Z Ó N O C H

Más detalles

Archivo de programa Es el que inicia una aplicación o un programa y tiene una extensión EXE, PIF, COM, BAT. Véase también Programa.

Archivo de programa Es el que inicia una aplicación o un programa y tiene una extensión EXE, PIF, COM, BAT. Véase también Programa. Glosario de términos Ancho de Banda El ancho de banda es la máxima cantidad de datos que pueden pasar por un camino de comunicación en un momento dado, normalmente medido en segundos. Cuanto mayor sea

Más detalles

Preguntas frecuentes 1. MONEMA EMPRESAS

Preguntas frecuentes 1. MONEMA EMPRESAS Preguntas frecuentes 1. MONEMA EMPRESAS 1.1. Qué servicios me ofrece Monema Empresas? 1.2. En qué consiste el servicio de centralita de Monema Empresas? 1.3. Existe algún tipo de contrato de permanencia?

Más detalles

CONCEPTOS BÁSICOS. HTML (Hypertext Markup Language) lenguaje de marcas de hipertexto Es el lenguaje en el que están escritas las páginas de la Web.

CONCEPTOS BÁSICOS. HTML (Hypertext Markup Language) lenguaje de marcas de hipertexto Es el lenguaje en el que están escritas las páginas de la Web. INTRODUCCIÓN. Una de las principales características de Internet es que maneja enormes cantidades de información y que en la mayoría de los casos es accesible y gratuita. El reto en todo esto es poder

Más detalles

TESIS DE GRADO Previo a la obtención del título de INGENIERAS EN SISTEMAS PRESENTADA POR BABAHOYO 2011

TESIS DE GRADO Previo a la obtención del título de INGENIERAS EN SISTEMAS PRESENTADA POR BABAHOYO 2011 TESIS DE GRADO Previo a la obtención del título de INGENIERAS EN SISTEMAS PRESENTADA POR MaríaCarpio S BABAHOYO 2011 Anabell Maridueña C PLANTEAMIENTO DEL PROBLEMA La Universidad no tiene un sistema de

Más detalles

ANEXO DESCRIPCIÓN TÉCNICA DE VoIp

ANEXO DESCRIPCIÓN TÉCNICA DE VoIp ANEXO DESCRIPCIÓN TÉCNICA DE VoIp DESCRIPCIÓN TECNICA DETALLADA DE VOZ SOBRE IP (VOIP) DESCRIPCIÓN El crecimiento y fuerte implantación de las redes IP, tanto de manera local como remota, el desarrollo

Más detalles

Rodríguez Marcela Esmeralda Villafranco Nahúm de Jesús Villafranco Magdiel Esaú

Rodríguez Marcela Esmeralda Villafranco Nahúm de Jesús Villafranco Magdiel Esaú Cátedra: Redes II Catedrático: Ing. Manuel Flores Villatoro Tema: Implementación de Planta Telefónica IP Integrantes: Rodríguez Marcela Esmeralda Villafranco Nahúm de Jesús Villafranco Magdiel Esaú Introduccion

Más detalles

Qué es la Telefonía sobre IP (ToIP)?

Qué es la Telefonía sobre IP (ToIP)? Telefonía sobre IP (ToIP) Luís Merayo Servicios Qué es la telefonía sobre IP? Cómo funciona? Qué ventajas ofrece al usuario? Resuelva estas y otras dudas en este interesante artículo. Qué es la Telefonía

Más detalles

INTRODUCCIÓN Videoconferencia sobre Frame Relay

INTRODUCCIÓN Videoconferencia sobre Frame Relay INTRODUCCIÓN Videoconferencia sobre Frame Relay Homero Andrango María Fernanda Jerez Patricia Yacelga Se denomina videoconferencia al sistema que permite a un grupo de personas ubicadas en lugares distantes

Más detalles

Protocolo de Internet (IP)

Protocolo de Internet (IP) Semana 12 Empecemos! Estimado y estimada participante, esta semana tendrás la oportunidad de aprender sobre protocolo de Internet (IP), el cual permite enlazar computadoras de diferentes tipos, ser ejecutado

Más detalles

Introducción Internet no tiene una estructura real, pero existen varios backbone principales. Estos se construyen a partir de líneas y routers de alta velocidad. Conectados a los backbone hay redes regionales

Más detalles

INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia

INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia Qué es una Red? Es un grupo de computadores conectados mediante cables o algún otro medio. Para que? compartir recursos. software

Más detalles

CONTENIDOS MÍNIMOS Y CRITERIOS DE EVALUACIÓN INFORMÁTICA 1º BACHILLERATO

CONTENIDOS MÍNIMOS Y CRITERIOS DE EVALUACIÓN INFORMÁTICA 1º BACHILLERATO CONTENIDOS MÍNIMOS Y CRITERIOS DE EVALUACIÓN INFORMÁTICA 1º BACHILLERATO Contenidos 1. Internet y redes sociales. -La información y la comunicación como fuentes de comprensión y transformación del entorno

Más detalles

ESCUELA: Ingeniería Eléctrica. DEPARTAMENTO: Comunicaciones ASIGNATURA: Redes de Comunicaciones Basadas en TCP/IP

ESCUELA: Ingeniería Eléctrica. DEPARTAMENTO: Comunicaciones ASIGNATURA: Redes de Comunicaciones Basadas en TCP/IP PAG.: 1 Sistemas de Telecomunicaciones (216) PROPÓSITO Al término de esta asignatura los estudiantes deben ser capaces de conceptualizar y describir cada uno de los elementos de un sistema telemático y

Más detalles

SISTEMAS DE TELEFONIA IP CORPORATIVOS BASADOS EN VIRTUALIZACIÓN DE SOFTWARE LIBRE

SISTEMAS DE TELEFONIA IP CORPORATIVOS BASADOS EN VIRTUALIZACIÓN DE SOFTWARE LIBRE SISTEMAS DE TELEFONIA IP CORPORATIVOS BASADOS EN VIRTUALIZACIÓN DE SOFTWARE LIBRE Antonio Sierra Rodríguez Algoritmo Ingeniería, S.L. Universidad Politécnica de Cartagena asierra@algoritmoingeniera.com

Más detalles

Servicio de tecnología de voz IP VoIP.

Servicio de tecnología de voz IP VoIP. Servicio de tecnología de voz IP VoIP. Tema 8 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto Telefonía tradicional Los sistemas de telefonía tradicional están guiados por un sistema muy simple pero ineficiente

Más detalles

1º INTRODUCCIÓN La comunicación es el intercambio de información entre dos o más individuos o entidades de un proceso.

1º INTRODUCCIÓN La comunicación es el intercambio de información entre dos o más individuos o entidades de un proceso. TECNOLOGIA DE LAS INFRAESTRUCTURAS DE LAS COMUNICACIONES 1º INTRODUCCIÓN La comunicación es el intercambio de información entre dos o más individuos o entidades de un proceso. Las Infraestructuras de las

Más detalles

LA CONVERGENCIA ENTRE EL INTERNET Y LAS REDES INALÁMBRICAS

LA CONVERGENCIA ENTRE EL INTERNET Y LAS REDES INALÁMBRICAS LA CONVERGENCIA ENTRE EL INTERNET Y LAS REDES INALÁMBRICAS Por: José Adrian Moreno Agudelo Estudiante de ingeniería telemática El gran desarrollo tecnológico que ha alcanzado el Internet en la actualidad

Más detalles

51 Int. CI.: H04L 29/06 (2006.01) TRADUCCIÓN DE PATENTE EUROPEA. Título: Pasarela residencial y procedimiento de configuración de tal pasarela

51 Int. CI.: H04L 29/06 (2006.01) TRADUCCIÓN DE PATENTE EUROPEA. Título: Pasarela residencial y procedimiento de configuración de tal pasarela 19 OFICINA ESPAÑOLA DE PATENTES Y MARCAS ESPAÑA 11 Número de publicación: 2 432 396 1 Int. CI.: H04L 29/06 (06.01) 12 TRADUCCIÓN DE PATENTE EUROPEA T3 96 Fecha de presentación y número de la solicitud

Más detalles

Yo no hice nada por accidente, ni tampoco fueron así mis invenciones; ellas vinieron por el trabajo

Yo no hice nada por accidente, ni tampoco fueron así mis invenciones; ellas vinieron por el trabajo PREPARACIÓN DEL EXAMEN DE CICLOS VOZ-IP Introducción Yo no hice nada por accidente, ni tampoco fueron así mis invenciones; ellas vinieron por el trabajo Edison Y Guille La voz sobre IP o VoIP consiste

Más detalles

CENTRALITAS DE VOZ IP ASTERISK SOBRE MAQUINAS VIRTUALES XEN

CENTRALITAS DE VOZ IP ASTERISK SOBRE MAQUINAS VIRTUALES XEN CENTRALITAS DE VOZ IP ASTERISK SOBRE MAQUINAS VIRTUALES XEN QUE ES LA VOZ SOBRE IP? Es un método de enviar paquetes de voz mediante redes de datos de área local o extensa. Podemos acceder a esas redes

Más detalles