TECNOLOGÍAS DE RED AVANZADAS – Master IC – Voz sobre IP (VoIP) SIP y H.323: Establecimiento y gestión de sesiones multimedia Asterisk Thanks to : RADCOM technologies H. Shulzrinne Paul. E. Jones (from packetizer.com) Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004.
TECNOLOGÍAS DE RED AVANZADAS – Master IC Voice-over-Data (VoD) Enables New Applications “Click to talk” web sites for e-commerce Digital white-board conferences Broadcast audio and video over the Internet or a corporate Intranet Integrated messaging: check (or leave) voice mail over the Internet Instant messaging Voic notifications Stock notifications Callback notification Fax over IP Etc. 2
TECNOLOGÍAS DE RED AVANZADAS – Master IC Sesion Initiation Protocol SIP is end-to-end, client-server session signaling protocol SIP’s primarily provides presence and mobility Protocol primitives: Session setup, termination, changes,... Arbitrary services built on top of SIP, e.g.: Redirect calls from unknown callers to secretary Reply with a webpage if unavailable Send a JPEG on invitation Features: Textual encoding (telnet, tcpdump compatible). Programmability. Post-dial delay: 1.5 RTT Uses either UDP or TCP Multicast/Unicast comm. support 3
TECNOLOGÍAS DE RED AVANZADAS – Master IC Where’s SIP Application Transport Network Physical/Data Link 4 Ethernet IP TCPUDP RTSP SIP SDPcodecs RTPDNS (SRV)
TECNOLOGÍAS DE RED AVANZADAS – Master IC IP SIP Phones and Adaptors Analog phone adaptor Palm control Are true Internet hosts Choice of application Choice of server IP appliances Implementations 3Com (3) Columbia University MCI WorldCom (2) Mediatrix (1) Nortel (4) Siemens (5)
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Components User Agents UAC (user agent client): Caller application that initiates and sends SIP requests. UAS (user agent server): Receives and responds to SIP requests on behalf of clients; accepts, redirects or refuses calls. Server types Redirect Server Accepts SIP requests, maps the address into zero or more new addresses and returns those addresses to the client. Does not initiate SIP requests or accept calls. Proxy Server Contacts one or more clients or next-hop servers and passes the call requests further. Contains UAC and UAS. Registrar Server A registrar is a server that accepts REGISTER requests and places the information it receives in those requests into the location service for the domain it handles. Location Server Provides information about a caller's possible locations to redirect and proxy servers. May be co-located with a SIP server. Gateways A Sip Gateway service allows you to call 'real' numbers from your software or have a dedicated 'real' telephone number which comes in via VoIP 6
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Trapezoid 7 DNS Server Location Server Terminating User Agent Outgoing Proxy Originating User Agent DNS SIP RTP Registrar Incoming Proxy SIP
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Triangle? 8 DNS Server Location Server Terminating User Agent Originating User Agent DNS SIP RTP Registrar Incoming Proxy SIP
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Peer to Peer! 9 Terminating User Agent Originating User Agent SIP RTP
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Methods INVITERequests a session ACKFinal response to the INVITE OPTIONSAsk for server capabilities CANCELCancels a pending request BYETerminates a session REGISTERSends user’s address to server 10
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Responses 1XXProvisional100 Trying 2XXSuccessful200 OK 3XXRedirection302 Moved Temporarily 4XXClient Error404 Not Found 5XXServer Error504 Server Time-out 6XXGlobal Failure603 Decline 11
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Flows - Basic 12 ACK200 - OK INVITE: sip: “Calls” RingingRings200 - OKAnswersBYEHangs up RTP Talking User A User B
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP INVITE INVITE sip:e9-airport.mit.edu SIP/2.0 From: "Dennis Baron" ;tag=1c41 To: sip:e9-airport.mit.edu Call-Id: Cseq: 1 INVITE Contact: "Dennis Baron" Content-Type: application/sdp Content-Length: 304 Accept-Language: en Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE Supported: sip-cc, sip-cc-01, timer, replaces User-Agent: Pingtel/ (WinNT) Date: Thu, 30 Sep :28:42 GMT Via: SIP/2.0/UDP
TECNOLOGÍAS DE RED AVANZADAS – Master IC Session Description Protocol IETF RFC 2327 “SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation.” SDP includes: The type of media (video, audio, etc.) The transport protocol (RTP/UDP/IP, H.320, etc.) The format of the media (H.261 video, MPEG video, etc.) Information to receive those media (addresses, ports, formats and so on) 14
TECNOLOGÍAS DE RED AVANZADAS – Master IC SDP v=0 o=Pingtel 5 5 IN IP s=phone-call c=IN IP t=0 0 m=audio 8766 RTP/AVP a=rtpmap:96 eg711u/8000/1 a=rtpmap:97 eg711a/8000/1 a=rtpmap:0 pcmu/8000/1 a=rtpmap:8 pcma/8000/1 a=rtpmap:18 g729/8000/1 a=fmtp:18 annexb=no a=rtpmap:98 telephone-event/8000/1 15
TECNOLOGÍAS DE RED AVANZADAS – Master IC CODECs GIPS Enhanced G.711 8kHz sampling rate Voice Activity Detection Variable bit rate G.711 8kHz sampling rate 64kbps G.729 8kHz sampling rate 8kbps Voice Activity Detection 16
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Flows - Registration OKREGISTER: - Unauthorized User B MIT.EDU Registrar REGISTER: (add credentials) MIT.EDU Location Contact
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP REGISTER REGISTER sip:mit.edu SIP/2.0 From: "Dennis Baron" ;tag=4561c4561 To: "Dennis Baron" ;tag= Call-Id: 9ce902bd23b070ae0108b225b94ac7fa Cseq: 5 REGISTER Contact: "Dennis Baron" Expires: 3600 Date: Thu, 30 Sep :46:53 GMT Accept-Language: en Supported: sip-cc, sip-cc-01, timer, replaces User-Agent: Pingtel/ (WinNT) Content-Length: 0 Via: SIP/2.0/UDP
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP REGISTER – 401 Response SIP/ Unauthorized From: "Dennis Baron" ;tag=4561c4561 To: "Dennis Baron" ;tag= Call-Id: 9ce902bd23b070ae0108b225b94ac7fa Cseq: 5 REGISTER Via: SIP/2.0/UDP Www-Authenticate: Digest realm="mit.edu", nonce="f b8ae841b9b0ae8a92dcf0b ", opaque="reg:change4" Date: Thu, 30 Sep :46:56 GMT Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, REGISTER, NOTIFY, SUBSCRIBE, INFO User-Agent: Pingtel/2.2.0 (Linux) Accept-Language: en Supported: sip-cc-01, timer Content-Length: 0 19
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP REGISTER with Credentials REGISTER sip:mit.edu SIP/2.0 From: "Dennis Baron" ;tag=4561c4561 To: "Dennis Baron" ;tag= Call-Id: 9ce902bd23b070ae0108b225b94ac7fa Cseq: 6 REGISTER Contact: "Dennis Baron" Expires: 3600 Date: Thu, 30 Sep :46:53 GMT Accept-Language: en Supported: sip-cc, sip-cc-01, timer, replaces User-Agent: Pingtel/ (WinNT) Content-Length: 0 Authorization: DIGEST REALM="mit.edu", NONCE="f b8ae841b9b0ae8a92dcf0b ", URI="sip:mit.edu", RESPONSE="ae064221a50668eaad1ff2741fa8df7d", OPAQUE="reg:change4" Via: SIP/2.0/UDP
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Flows – Via Proxy 21 INVITE: “Calls” INVITE: - Trying Ringing Rings180 - Ringing200 - OKAnswers OK ACK BYEHangs up200 - OK User A User B MIT.EDU Proxy Talking RTP
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Flows – Via Gateway 22 INVITE: “Calls” INVITE: - TryingACK User A MIT.EDU Proxy Gateway Ringing Rings OK Answers BYEHangs up BYE OK Talking RTP
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP INVITE with Record-Route INVITE SIP/2.0 Record-Route: From: \"Dennis Baron\" ;tag=2c41 To: Call-Id: Cseq: 1 INVITE Contact: \"Dennis Baron\" Content-Type: application/sdp Content-Length: 304 Accept-Language: en Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE Supported: sip-cc, sip-cc-01, timer, replaces User-Agent: Pingtel/ (WinNT) Date: Thu, 30 Sep :44:30 GMT Via: SIP/2.0/UDP :5080;branch=z9hG4bK2cf12c563cec06fd1849ff799d069cc0 Via: SIP/2.0/UDP ;branch=z9hG4bKd26e44dfdc d9d32a143a7f4d8 Via: SIP/2.0/UDP Max-Forwards: 17 23
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Standards Just a sampling of IETF standards work… IETF RFCshttp://ietf.org/rfc.htmlhttp://ietf.org/rfc.html RFC3261Core SIP specification – obsoletes RFC2543 RFC2327SDP – Session Description Protocol RFC1889RTP - Real-time Transport Protocol RFC2326RTSP - Real-Time Streaming Protocol RFC3262SIP PRACK method – reliability for 1XX messages RFC3263Locating SIP servers – SRV and NAPTR RFC3264Offer/answer model for SDP use with SIP 24
TECNOLOGÍAS DE RED AVANZADAS – Master IC SIP Standards (cont.) RFC3265SIP event notification – SUBSCRIBE and NOTIFY RFC3266IPv6 support in SDP RFC3311SIP UPDATE method – eg. changing media RFC3325Asserted identity in trusted networks RFC3361Locating outbound SIP proxy with DHCP RFC3428SIP extensions for Instant Messaging RFC3515SIP REFER method – eg. call transfer SIMPLEIM/Presence SIP authenticated identity management - identity-02.txt 25
TECNOLOGÍAS DE RED AVANZADAS – Master IC NATs: Hole Punching - Peers tras distinto NAT
TECNOLOGÍAS DE RED AVANZADAS – Master IC Elements of an H.323 System Terminals Multipoint Control Units (MCUs) Gateways Gatekeeper Border Elements 27 Referred to as “endpoints”
TECNOLOGÍAS DE RED AVANZADAS – Master IC Terminals Telephones Video phones IVR devices Voic Systems “Soft phones” (e.g., NetMeeting®) 28
TECNOLOGÍAS DE RED AVANZADAS – Master IC MCUs Responsible for managing multipoint conferences (two or more endpoints engaged in a conference) The MCU contains a Multipoint Controller (MC) that manages the call signaling and may optionally have Multipoint Processors (MPs) to handle media mixing, switching, or other media processing 29
TECNOLOGÍAS DE RED AVANZADAS – Master IC Gateways The Gateway is composed of a “Media Gateway Controller” (MGC) and a “Media Gateway” (MG), which may co-exist or exist separately The MGC handles call signaling and other non-media- related functions The MG handles the media Gateways interface H.323 to other networks, including the PSTN, H.320 systems, and other H.323 networks (proxy) 30
TECNOLOGÍAS DE RED AVANZADAS – Master IC Gatekeeper The Gatekeeper is an optional component in the H.323 system which is primarily used for admission control and address resolution The gatekeeper may allow calls to be placed directly between endpoints or it may route the call signaling through itself to perform functions such as follow- me/find-me and forward on busy 31
TECNOLOGÍAS DE RED AVANZADAS – Master IC Border Elements and Peer Elements Peer Elements, which are often co-located with a Gatekeeper, exchange addressing information and participate in call authorization within and between administrative domains Peer Elements may aggregate address information to reduce the volume of routing information passed through the network Border Elements are a special type of Peer Element that exists between two administrative domains Border Elements may assist in call authorization/authentication directly between two administrative domains or via a clearinghouse 32
TECNOLOGÍAS DE RED AVANZADAS – Master IC The Protocols (cont) H.323 is a “framework” document that describes how the various pieces fit together H defines the call signaling between endpoints and the Gatekeeper RTP/RTCP (RFC 3550) is used to transmit media such as audio and video over IP networks H Annex G and H.501 define the procedures and protocol for communication within and between Peer Elements H.245 is the protocol used to control establishment and closure of media channels within the context of a call and to perform conference control 33
TECNOLOGÍAS DE RED AVANZADAS – Master IC The Protocols (cont) H.450.x is a series of supplementary service protocols H.460.x is a series of version-independent extensions to the base H.323 protocol T.120 specifies how to do data conferencing T.38 defines how to relay fax signals V defines how to relay modem signals H.235 defines security within H.323 systems X.680 defines the ASN.1 syntax used by the Recommendations X.691 defines the Packed Encoding Rules (PER) used to encode messages for transmission on the network 34
TECNOLOGÍAS DE RED AVANZADAS – Master IC Registration, Admission, and Status - RAS Defined in H Allows an endpoint to request authorization to place or accept a call Allows a Gatekeeper to control access to and from devices under its control Allows a Gatekeeper to communicate the address of other endpoints Allows two Gatekeepers to easily exchange addressing information 35
TECNOLOGÍAS DE RED AVANZADAS – Master IC Registration, Admission, and Status – RAS (cont) 36 TGK RRQ RCF ARQ (endpoint is registered) ACF (endpoint may place call) DRQ DCF (call has terminated) T Terminal GK Gatekeeper GW Gateway Symbol Key:
TECNOLOGÍAS DE RED AVANZADAS – Master IC The H323 stack 37
TECNOLOGÍAS DE RED AVANZADAS – Master IC H323 Clients 38 O.S.ClientPrice WindowsNetMeeting +/- free Unix (Linux)DC-Share nv SunSunforum+/- free … You can find a bigger list at:
TECNOLOGÍAS DE RED AVANZADAS – Master IC – 2- Voz sobre IP (VoIP) SIP y H.323: Establecimiento y gestión de sesiones multimedia Asterisk
TECNOLOGÍAS DE RED AVANZADAS – Master IC ASTERISK Aplicación de software libre que implementa los servicios de una centralita telefónica de VoIP. Permite conectar teléfonos de VoIP (que también pueden ser programas de ordenador o “softphones”), fax, líneas RDSI, líneas telefónicas analógicas convencionales… Inicialmente desarrollada para Linux pero actualmente existen versiones para casi todas las plataformas. trixbox (con “t” minúscula) es una distribución Linux (en concreto de CentOS) que incluye Asterisk y FreePBX que es un entorno gráfico basado en WEB para una configuración cómoda y más sencilla de Asterisk. 40
TECNOLOGÍAS DE RED AVANZADAS – Master IC ASTERISK Soporta SIP, H.323, MGCP, IAX Se obtiene de : ftp://ftp.digium.com Integra casi todos los codecs de audio Soporte de Telefonía Tradicional Soporte de Telefonía por Voz IP APIs para desarrollo de nuevos servicios y aplicaciones Integración con Bases de Datos Integración con Aplicaciones ya desarrolladas Código Abierto: sw libre 41
TECNOLOGÍAS DE RED AVANZADAS – Master IC IAX (Inter-Asterisk eXchange) Actualmente en la versión 2 (IAX2) es un protocolo que aborda el problema de los NATs. Utilizar el mismo puerto UDP para la señalización y para la transmisión de los datos (RTP). Simplifica el número de “agujeros” (hole-punching) a realizar en el NAT para que el interlocutor en la intranet sea alcanzable desde Internet. Algunos autores abogan porque IAX será el futuro de VoIP y otros plantean que la regulación en tema de NATs, o incluso su desaparición con la entrada de IPv6 dejaran a SIP en su posición de liderato. 42
TECNOLOGÍAS DE RED AVANZADAS – Master IC Configuración básica 43
TECNOLOGÍAS DE RED AVANZADAS – Master IC Configuración básica (2) 44
TECNOLOGÍAS DE RED AVANZADAS – Master IC Configuración básica (3) 45
TECNOLOGÍAS DE RED AVANZADAS – Master IC IMPLEMENTACIÓN DE TELEFONÍA IP EN UNA ORGANIZACIÓN INTEGRACIÓN CISCO-ASTERISK 46
TECNOLOGÍAS DE RED AVANZADAS – Master IC CARACTERISTICAS CISCO CALL MANAGER Solución de Telefonía IP de Cisco Distribuible Escalable (30000 lineas/servidor) Soporta muchos usuarios Sobre Windows o linux Soporta gran variedad de teléfonos 47
TECNOLOGÍAS DE RED AVANZADAS – Master IC PROTOCOLOS Sip H323 MGCP (Megaco Protocol) 48
TECNOLOGÍAS DE RED AVANZADAS – Master IC OBJETIVO FINAL 49
TECNOLOGÍAS DE RED AVANZADAS – Master IC FUNCIONAMIENTO DE CALL MANAGER 50
TECNOLOGÍAS DE RED AVANZADAS – Master IC CONFIGURACIÓN CM Interfaz Web
TECNOLOGÍAS DE RED AVANZADAS – Master IC PARTITIONS Dividen el conjunto de route patterns en subconjuntos de destinos alcanzables identificados por un nombre. Una partición contiene una lista de Route Patterns Facilitan el enrutado de llamadas dividiendo el route plan en subconjuntos lógicos que se pueden basar en la organización, localización y tipo de llamada 52
TECNOLOGÍAS DE RED AVANZADAS – Master IC Partitions 53
TECNOLOGÍAS DE RED AVANZADAS – Master IC SEARCH SPACES Es una lista ordenada de rutas de partición. Estas rutas se asocian a los dispositivos (teléfonos). Determinan las particiones que los dispositivos que hacen una llamada buscan para que esta llamada se realice 54
TECNOLOGÍAS DE RED AVANZADAS – Master IC ROUTE PATTERNS String de digitos y un conjunto de acciones La llamada al destino se hace solo si se marca la secuencia correcta definida en el route pattern Se pueden usan caracteres especiales (x…) para hacer rangos, etc Definir route patterns para diferentes tipos de llamadas: nacionales, sin salida…. 55
TECNOLOGÍAS DE RED AVANZADAS – Master IC ESQUEMA DE NUMERACIÓN 67xxx: Teléfonos IP HW (Vera) 68xxx: SoftPhones 69xxx: Teléfonos SIP 7xxxx: Teléfonos analógicos (fuera del Call Manager) 11xxx: Teléfonos móviles 56
TECNOLOGÍAS DE RED AVANZADAS – Master IC Route patterns 57
TECNOLOGÍAS DE RED AVANZADAS – Master IC GATEWAYS Debe haber uno por cada campus Otro que será el router de salida general. Coste: euros 58
TECNOLOGÍAS DE RED AVANZADAS – Master IC Gateways 59
TECNOLOGÍAS DE RED AVANZADAS – Master IC TRUNK CON ASTERISK Es un enlace desde el Call Manager al Asterisk: se enrutan llamadas de uno al otro Se define mediante la IP del Asterisk 60
TECNOLOGÍAS DE RED AVANZADAS – Master IC Trunk 61
TECNOLOGÍAS DE RED AVANZADAS – Master IC TELEFONOS un identificador, el Device Name (3 caracteres más la dirección MAC ) una descripción (ej. la persona asociada) el pool al que corresponde su estado (registrado o no) la dirección IP del teléfono: sólo se muestra si el teléfono está registrado 62
TECNOLOGÍAS DE RED AVANZADAS – Master IC Teléfonos 63
TECNOLOGÍAS DE RED AVANZADAS – Master IC Teléfonos II 64
TECNOLOGÍAS DE RED AVANZADAS – Master IC Teléfonos III 65 Teléfono Cisco Teléfono SIP 300 Euros Euros Configuración desde el CM SIP_ADDITIONAL.CONF
TECNOLOGÍAS DE RED AVANZADAS – Master IC Teléfonos IV [69001] < Extensión username=69001 < Podría ser el login type=friend record_out=Adhoc record_in=Adhoc qualify=no port=5060 nat=never < Su buzón de voz asociado (en el voic .conf) host=dynamic dtmfmode=info context=from-internal canreinvite=no callerid=device language=es 66
TECNOLOGÍAS DE RED AVANZADAS – Master IC Teléfonos V 67 Softphone Cisco IP Communicator