11.07.2015 Views

Marcelo Doallo - CICOMRA

Marcelo Doallo - CICOMRA

Marcelo Doallo - CICOMRA

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SIP (Session(Initiation Protocol)y VoIPIng. <strong>Marcelo</strong> R. <strong>Doallo</strong>m.doallo@ieee.org1


Agenda• Panorama general de VoIP• Conceptos Básicos Bde SIP• Ejemplos de operación• Caso típico tde configuración2


SIP es un protocolo utilizadoen VoIP.¿Se utiliza para transportar lavoz sobre protocolo IP?3


¿Cómo funciona VoIP?• Señalizacialización• TráficoSIP es un protocolo deseñalización4


¿Cual es la diferencia entre VoIP yTelefonía a Tradicional?• Conmutación n de Circuitos vs. Conmutaciónde paquetes• Alta capacidad de conmutación n de losswitch's actuales• Disponibilidad de ancho de banda• Calidad de servicio• “No compiten se complementan”5


¿Cual es la tendencia?6


¿Como se implementa VoIP?• “No hay una receta aplicable a todos loslugares”• Enlaces inter-PBX• VoIP en el escritorio• Migración n de centrales• Mensajería a unificada– Teléfono, Mensajería a de texto, Correo electrónico, Fax,Mensajería a vocal, Presencia, Movilidad• Aplicaciones7


¿VoIPy Telefonía a IP es lo mismo?• “No es lo mismo”• Telefonía a IP implica:– Vinculación n con la PSTN -> > Plan de numeración– Transferencia de llamada– Derivación n de interno– Captura de llamada al grupo– Captura dirigida– Conferencia– re-llamada– ... entre otros.8


Protocolos similares a SIP• H.323 - Protocolo definido por la ITU-T• SCCP, Skinny Client Control Protocol – Desarrollado por Cisco• MiNet - Protocolo propiedad de Mitel• CorNet-IP- Protocolo propiedad de Siemens• Skype - Protocolo propietario peer-toto-peer utilizado en laaplicación Skype• IAX2 - Protocolo para la comunicación n entre PBXs Asterisk enreemplazo de IAX• Jingle - Protocolo abierto utilizado en tecnología Jabber9


Por qué SIP• Es subjetivo• A favor:• Estandar Abierto• Fácil de entender• Fácil de desarrollar• Accesible (formato texto), integración n con WIRESHARK• Universal• En contra• Sólo señalizacialización• Problemático para los firewalls10


¿Preguntas?11


Agenda• Panorama general de VoIP• Conceptos Básicos Bde SIP• Ejemplos de operación• Caso típico tde configuración12


Historia de SIP• Primer estándar en Marzo de 1999, RFC2543 (Obsoleto)• Revisión n del estándar en Mayo 2002,RFC 3261 (Draft(standard):– 34 RFC's de extensiones– 59 Grupos de trabajo (WG) en “InternetDrafts” y– 50 grupos incipientes que no llegan a lacategoría a de WG13


¿Qué significa “DraftStd”?• Es un estado de maduración• Estados principales:– Proposed Standard– Draft Standard (Dos implementaciones)– Standard (Interoperabilidad)• Requiere recomendación n del “InternetEngineering Steering Group” (IESG),dependiente del IETF14


¿Qué es una sesión?• Según n RFC 3261: “Intercambio de datosentre una asociación n de participantes”• Participantes:– Movilidad– Distintos nombres– Diversidad de medios– Diversidad de protocolos15


¿Qué es SIP?• Es una herramienta ágil y depropósito general para:– Crear– Modificar– Terminar sesiones• Con independencia de los protocolosutilizados16


¿Qué hace SIP?• Permite que los “endpoint's” (Losllamaremos User Agents – UA):– Se registren,– Se descubran entre sí, s– Conocer disponibilidad de los UA's,– Intercambien invitaciones a iniciar sesión n y– acuerden una forma de comunicarse.17


¿Qué es una Sesión n en SIP?• Llamadas telefónicas• Vídeo llamadas• Conferencias multimediales• Distribución multimedial18


Formas de operación• Unicast• Multicast• Híbrido• IPv4 o IPv6– UDP– TCP– SCTP (Stream(Control Transmission Protocol)– TLS@TCP (TransportLayer Security)19


Fases de operación n en SIP• Localización n del Usuario• Disponibilidad del Usuario• Capacidades del Usuario• Establecimiento de la Sesión• Gestión n de la Sesión– Modificación, Transferencia, Fin20


¿Cómo se implementa SIP?• No es un sistema integral• Por lo general está acompañado ado por:– RTP (RFC 1889)– RTSP (RFC 2326)– MEGACO (RFC 3015)– SDP (RFC 2327)21


¿Cómo funciona SIP?• Está basado en transaccionesRequerimiento/Respuesta, como HTTP, llamadosmensajes• Respuesta– Transitoria– Final• User Agent Client, , emite el requerimiento• User Agent Server, responde• User Agent = UAC + UAS22


¿Cómo es un Mensaje?• Juego de caracteres UTF-8 8 según n RFC2279• Formato de mensaje según n RFC 2822• Está compuesto de la siguiente manera:– 1 línea lde comienzo– 1 o mas campos de cabecera– 1 línea lvacía, a, (CR-LF)– Opcional, cuerpo de mensaje23


Componentes de SIP• UA• Gateway,• Proxy Server,• Registrar Server,• Redirect Server24


UA• TeléfonoVoIP, , SIP• Video teléfonoVoIP, , SIP• Analog Telephone Adapter (ATA)• Sotfphone– Windows: X-LiteX– Linux: Twinkle, Kphone, , X-LiteX25


¿Qué son el resto de loscomponentes?• Caja dedicada• PC + Software• Mas de un componente en la mismacaja (Registrar + Proxy)26


Gateway SIP• Conversión n entreSIP y otro formatode comunicación n no-SIP• Fundamental para ladifusión n de unproyecto VoIP27


Proxy Server• Encamina los mensajes SIP• Puede Agregar, Modificar o quitarcampos de cabecera en los mensajesSIP28


Registrar Server• Soporta al Proxy para los requerimientos deinicio de sesión• Responde de los requerimientos REGISTER• Front-Enddel servicio de localización• Enlace entre SIP URI y recurso en la red• No encamina mensajes SIP• Es un mecanismo de presencia29


Redirect Server• No encamina los mensajes SIP• Contesta con un nuevo destino SIP• El UA llamante inicia una nueva sesióncon los datos de la respuesta delRedirect Server30


Agenda• Panorama general de VoIP• Conceptos Básicos Bde SIP• Ejemplos de operación• Caso típico tde configuración31


Trapezoide SIPProxy /RegistrarProxy /RegistrarUAUA32


Ejemplo de operación n 1Atlanta.comBiloxi.comINVITE sip:bob@biloxi.com SIP/2.0Alicesip: alice@atlanta.com osips: alice@atlanta.comBobsip: bob@biloxi.com osips: bob@biloxi.com33


Ejemplo de operación n 2INVITE sip:bob@biloxi.com SIP/2.0Atlanta.comBiloxi.comSIP/2.0 100 TryingAlicesip: alice@atlanta.com osips: alice@atlanta.comBobsip: bob@biloxi.com osips: bob@biloxi.com34


Ejemplo de operación n 3SIP/2.0 100 TryingAtlanta.comBiloxi.comINVITE sip:bob@biloxi.com SIP/2.0Alicesip: alice@atlanta.com osips: alice@atlanta.comBobsip: bob@biloxi.com osips: bob@biloxi.com35


Ejemplo de operación n 4SIP/2.0 180 RingingAtlanta.comBiloxi.comSIP/2.0 180 RingingSIP/2.0 180 RingingAlicesip: alice@atlanta.com osips: alice@atlanta.comBobsip: bob@biloxi.com osips: bob@biloxi.com36


Ejemplo de operación n 5SIP/2.0 200 OKAtlanta.comBiloxi.comAliceSIP/2.0 200 OKSIP/2.0 200 OKBobsip: alice@atlanta.com osips: alice@atlanta.comsip: bob@biloxi.com osips: bob@biloxi.com37


Ejemplo de operación n 6Atlanta.comBiloxi.comAliceACK sip:bob@192.0.2.4 SIP/2.0Bobsip: alice@atlanta.com osips: alice@atlanta.comsip: bob@biloxi.com osips: bob@biloxi.com38


Ejemplo de operación n 7Atlanta.comBiloxi.comAliceMedia Session (UDP)Bobsip: alice@atlanta.com osips: alice@atlanta.comsip: bob@biloxi.com osips: bob@biloxi.com39


Ejemplo de operación n 8Atlanta.comBiloxi.comAliceBYE sip:alice@pc33.atlanta.com SIP/2.0Bobsip: alice@atlanta.com osips: alice@atlanta.comsip: bob@biloxi.com osips: bob@biloxi.com40


Ejemplo de operación n 9Atlanta.comBiloxi.comAliceSIP/2.0 200 OKBobsip: alice@atlanta.com osips: alice@atlanta.comsip: bob@biloxi.com osips: bob@biloxi.com41


Direccionamiento SIP• Fully-QualifiedDomain Names (FQDN)– sip:mdoallo.ieee.org• SMTP-styleDomain Names [RFC 2368]– sip:mdoallo@ieee.org• E.164 style addresses [RFC 2806]– sip:1401:1401@pbxdgsinf; user=phone– user=phonesignifica que pbxdgsinf es un gateway– Los gateway son FQDN• Mixed addresses– sip:1401@10.1.1.1;user=phone– sip:mdoallo@10.1.1.142


Ejemplo de requerimiento INVITE• INVITE sip:1402:1402@pbxdgsinf.gcba.gov.arSIP/2.0• Via: : SIP/2.0/UDP 10.49.1.36:5060;rport;branchrport;branch=z9hG4bK2E04…• From: : <strong>Doallo</strong> ;tag=3724562915• To: :


Detalle de requerimiento INVITE 1INVITE sip:1402:1402@pbxdgsinf.gcba.gov.arSIP/2.0• La línea de comienzo contiene, separado por espacios:– Request-Line: El método o función (en este caso INVITE),– Request-URI– Versión SIP• Lo envía un UAC• Las siguientes líneas son los campos de la cabecera• Requiere al menos los campos: To, From, CSeq, Call-ID, Max-Forwards y Via44


Métodos• REGISTER• INVITE• ACK• CANCEL• BYE• OPTIONS45


Detalle de requerimiento INVITE 2Via: : SIP/2.0/UDP10.49.1.36:5060;rport;branchrport;branch=z9hG4bK2E04…• Contiene información a donde tiene que ser enviada la respuesta,IP 10.49.1.36 puerto 5060• Debe contener el parámetro “branch”– “branch” siempre comienza con “z9hG4bK”– Es único en espacio y tiempo para el UA– Identifica a la transacción para el Cliente y el Servidor• Puede contener otros parámetros con o sin valor, rport46


Detalle de requerimiento INVITE 3From: : <strong>Doallo</strong>;>;tag=3724562915• Contiene información lógica del iniciador del requerimiento.• Está configurado en el cliente (Dato de aplicación)• No debe contener:– IP– FDQN• Debe contener el parámetro “tag”47


Detalle de requerimiento INVITE 4To: :


Detalle de requerimiento INVITE 5Call-ID: 329DD6FB-868B868B-487E-B4B7-BCCFA8A33491@10.49.1.36• La combinación de:– “tag” campo To– “tag” campo From– Call-ID• Identifican completamente la relación entre dos Peers• Permanece vigente lo que dure la comunicación• Se denomina dialogo49


Detalle de requerimiento INVITE 6CSeq: : 54235 INVITE• Secuencia de comando• Composición:• Número de secuencia• Método• Identifica y ordena transacciones• El método es el mismo que el método del requerimiento50


Detalle de requerimiento INVITE 7Max-ForwardsForwards: : 70• Limita el número de saltos que un requerimiento puedetransitar hacia su destino• Se decrementa en cada salto• Si llega a 0 el mensaje será rechazado• Valor original de inicio 7051


Ejemplo de respuesta• SIP/2.0 200 OK• Via: : SIP/2.0/UDP10.49.1.36:5060;rport;branchrport;branch=z9hG4bK…;received=10.49.1.36• From: : <strong>Marcelo</strong> <strong>Doallo</strong> ;tag=3724…• To: : ;tag=as1b42d0f2• Call-ID: 329DD6FB-8686…@10.49.1.36• CSeq: : 54235 INVITE• User-AgentAgent: Asterisk PBX• Allow: : INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,SUBSCRIBE, NOTIFY• Contact: :


Detalle de respuestaSIP/2.0 200 OK• La línea de comienzo contiene, separado por espacios:– Versión SIP– Número de código de estado (200)– Texto con la razón (OK)• Se denomina línea de estado• Lo envía un UAS53


Números de códigos cde Estado• 1xx: Provisional• 2xx: Exitosa• 3xx: Redirección• 4xx: Error de cliente• 5xx: Error de server• 6xx: Error global54


Inicio de sesión• Se compone de los siguientes mensajes:– 1 Requirimiento INVITE– 1 o más m s respuestas finales, ideal 200 OK– Por cada respuesta final el UAC enviará un ACK• Cada conjunto INVITE, OK, ACK forma undialogo– La combinación n de: “tag” campo To, “tag” campoFrom y Call-ID55


Hay otro modo de operación• En el modo de operación n visto los proxy’sintervienen sólo spara iniciar la comunicación• En este otro modo de operación n ambosProxy’s participan de la comunicación• Esto es esencial para la tasación• Mantiene la privacidad de la IP’s de los UA’s• Fácil de configurar para una firewall56


Otro ejemplo de operación n 1pbxdgsinfpbxdelplataINVITE sip:1402@pbxdelplata SIP/2.01401140257


Otro ejemplo de operación n 2INVITE sip:1402@pbxdelplata SIP/2.0pbxdgsinfpbxdelplataSIP/2.0 100 Trying1401140258


Otro ejemplo de operación n 3SIP/2.0 100 TryingpbxdgsinfpbxdelplataINVITE sip:1402@pbxdelplata SIP/2.01401140259


Otro ejemplo de operación n 4SIP/2.0 180 Ringingpbxdgsinfpbxdelplata1401SIP/2.0 180 RingingSIP/2.0 180 Ringing140260


Otro ejemplo de operación n 5SIP/2.0 200 OKpbxdgsinfpbxdelplata1401SIP/2.0 200 OKSIP/2.0 200 OK140261


Otro ejemplo de operación n 6ACK sip:1402@10.49.3.136 SIP/2.0pbxdgsinfpbxdelplata1401ACK sip:1402@10.49.3.136 SIP/2.0ACK sip:1402@10.49.3.136 SIP/2.0140262


Otro ejemplo de operación n 7pbxdgsinfpbxdelplataMedia Session (UDP)1401140263


Otro ejemplo de operación n 8BYE sip:1401@10.49.1.67 SIP/2.0pbxdgsinfpbxdelplata1401BYE sip:1401@10.49.1.67 SIP/2.0BYE sip:1401@10.49.1.67 SIP/2.0140264


Otro ejemplo de operación n 9SIP/2.0 200 OKpbxdgsinfpbxdelplata1401SIP/2.0 200 OKSIP/2.0 200 OK140265


Registro• Mecanismo para descubrir los participantes enla red• La información n reside en una entidad abstractadenominada servicio de locación.• Allí está el vinculo entre Registro deDireccionamiento con una o varias direccionesde contacto• La entidad REGISTRAR se encarga deactualizar esta información66


Registro 2• La información n en el servicio de locación puede sercargada:– Administrativamente– Por medio de mecanismo de registro del REGISTRAR• Luego los Proxy’s consultan el servicio de locaciónpara determinar que hacer con los mensajes• Proxy y Registrar pueden estar en el mismoequipo, y compartir la misma definición n de dominio67


Registro 3UAREGISTRARAlmacenamientoServicio deLocaciónQueryRespProxyINVITEUAREGISTERINVITE68


Ejemplo de Registro 1pbxdgsinfpbxdelplataREGISTER sip:pbxdgsinf.gcba.gov.ar SIP/2.01401sip: 1401@pbxdgsinf osips: 1401@pbxdgsinf1402sip: 1402@pbxdelplata osips: 1402@pbxdelplata69


Ejemplo de Registro 2pbxdgsinf1401SIP/2.0 100 Tryingsip: 1401@pbxdgsinf osips: 1401@pbxdgsinf70


Ejemplo de Registro 3pbxdgsinf1401SIP/2.0 200 OKsip: 1401@pbxdgsinf osips: 1401@pbxdgsinf71


Ejemplo de requerimiento REGISTER• REGISTER sip:pbxdgsinf.gcba.gov.ar SIP/2.0• Via: : SIP/2.0/UDP10.49.1.36:5060;rport;branchrport;branch=z9hG4bKB6A599F7…• From: : <strong>Marcelo</strong> <strong>Doallo</strong> ;tag=1410680951• To: : <strong>Marcelo</strong> <strong>Doallo</strong>


Detalle de requerimiento REGISTER 1REGISTER sip:pbxdgsinf.gcba.gov.ar SIP/2.0• La línea de comienzo contiene, separado por espacios:• Request-Line: El método o función (en este casoregister),• Dominio del servicio de locación, no tiene parteusuario• Versión SIP• Lo envía un UAC73


Detalle de requerimiento REGISTER 2Expires: 1800• Campo fundamental en un requerimiento REGISTER• Indica la cantidad de segundos que la asociaciónRegistro de Direccionamiento con una o variasdirecciones de contacto serán válidas74


Detalle de requerimiento REGISTER 3To: : <strong>Marcelo</strong> <strong>Doallo</strong>• Campo utilizado para aprender el Registro deDireccionamiento SIP75


Detalle de requerimiento REGISTER 4Contact: : "<strong>Marcelo</strong>"


Ejemplo de retiro de la red• REGISTER sip:pbxdgsinf.gcba.gov.ar SIP/2.0• Via: SIP/2.0/UDP10.49.1.36:5060;rport;branch=z9hG4bKB6A599F7…• From: <strong>Marcelo</strong> <strong>Doallo</strong> ;tag=1410680951• To: <strong>Marcelo</strong> <strong>Doallo</strong> • Contact: "<strong>Marcelo</strong> <strong>Doallo</strong>" • Call-ID: 76F7A6B0DE5E478EA74031EECBA92E19@pbxdgsinf• CSeq: 36112 REGISTER• Expires: 0• Max-Forwards: 70• User-Agent: X-Lite release 1103m• Content-Length: 077


Ejemplo real, 1401 -> > 1497• REGISTER• OPTIONS• NOTIFY• INVITE• BYE• REGISTER, Expires: 078


Ejemplo real 1, REGISTER• Send to: : 10.49.1.67:5060• REGISTER sip:pbxdgsinf.gcba.gov.ar SIP/2.0• Via: : SIP/2.0/UDP10.49.1.36:5066;rport;branchrport;branch=z9hG4bKdluaupzd• Max-ForwardsForwards: : 70• To: : "<strong>Marcelo</strong> <strong>Doallo</strong>" ;tag=pepap• Call-ID:sakdxlxzrqwsfgj@10.49.1.36• CSeq: : 712 REGISTER• Contact: : ;expires=1800• Allow: : INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, REFER,NOTIFY, SUBSCRIBE, INFO• User-AgentAgent: Twinkle/0.9• Content-LengthLength: : 079


Ejemplo real 2, 100 Trying• Received from: : 10.49.1.67:5060• SIP/2.0 100 Trying• Via: : SIP/2.0/UDP10.49.1.36:5066;rport;branchrport;branch=z9hG4bKdluaupzd;received=10.49.1.36• From: : "<strong>Marcelo</strong> <strong>Doallo</strong>";>;tag=pepap• To: : "<strong>Marcelo</strong> <strong>Doallo</strong>"


Ejemplo real 3, 401 Unauthorized• Received from: : 10.49.1.67:5060• SIP/2.0 401 Unauthorized• Via: : SIP/2.0/UDP10.49.1.36:5066;rport;branchrport;branch=z9hG4bKdluaupzd;received=10.49.1.36• From: : "<strong>Marcelo</strong> <strong>Doallo</strong>" ;tag=pepap• To: : "<strong>Marcelo</strong> <strong>Doallo</strong>" ;tag=as0170d79a• Call-ID:sakdxlxzrqwsfgj@10.49.1.36• CSeq: : 712 REGISTER• User-AgentAgent: Asterisk PBX• Allow: : INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,NOTIFY• WWW-AuthenticateAuthenticate: Digest algorithm=MD5,realm="="pbxdgsinf.gcba.gov.ar",nonce="404cc2d2"• Content-LengthLength: : 081


Ejemplo real 4, REGISTER• Send to: : 10.49.1.67:5060• REGISTER sip:pbxdgsinf.gcba.gov.ar SIP/2.0• Via: : SIP/2.0/UDP 10.49.1.36:5066;rport;branchrport;branch=z9hG4bKrwwwxnnk• Max-ForwardsForwards: : 70• To: : "<strong>Marcelo</strong> <strong>Doallo</strong>"


Ejemplo real 5, 100 Trying• Received from: : 10.49.1.67:5060• SIP/2.0 100 Trying• Via: : SIP/2.0/UDP10.49.1.36:5066;rport;branchrport;branch=z9hG4bKrwwwxnnk;received=10.49.1.36• From: : "<strong>Marcelo</strong> <strong>Doallo</strong>";>;tag=pepap• To: : "<strong>Marcelo</strong> <strong>Doallo</strong>"


Ejemplo real 6, OPTIONS• Received from: : 10.49.1.67:5060• OPTIONS sip:1401@10.49.1.36:5066 SIP/2.0• Via: : SIP/2.0/UDP10.49.1.67:5060;branchbranch=z9hG4bK272a24a7;rport• From: : "asterisk"asterisk" " ;tag=as6af7049b• To: :


OPTIONS 1• Permite que un UA consulte sobre lascapacidades de otro UA o proxy• Ejemplo de respuestas posibles:– 200 OK– 486 Busy Here• Además s la respuesta de un UA debe contener loscampos Allow, Accept, Accept-EncodingEncoding, Accept-Language; ; que describen las capacidades del UA85


Ejemplo real 7, 200 OK (REGISTER)• Received from: : 10.49.1.67:5060• SIP/2.0 200 OK• Via: : SIP/2.0/UDP10.49.1.36:5066;rport;branchrport;branch=z9hG4bKrwwwxnnk;received=10.49.1.36• From: : "<strong>Marcelo</strong> <strong>Doallo</strong>" ;tag=pepap• To: : "<strong>Marcelo</strong> <strong>Doallo</strong>" ;tag=as0170d79a• Call-ID:sakdxlxzrqwsfgj@10.49.1.36• CSeq: : 713 REGISTER• User-AgentAgent: Asterisk PBX• Allow: : INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,NOTIFY• Expires: 1800• Contact: :


Ejemplo real 8, 200 OK (OPTIONS)• Send to: : 10.49.1.67:5060• SIP/2.0 200 OK• Via: : SIP/2.0/UDP 10.49.1.67:5060;rportrport=5060; =5060;branch=z9hG4bK272a24a7• To: : ;tag=rafrv• From: : "asterisk"asterisk" " ;tag=as6af7049b• Call-ID: 4f1cfa9656c32b3923496574379f95c8@10.49.1.67• CSeq: : 102 OPTIONS• Accept: application/sdp• Accept-EncodingEncoding: identity• Accept-LanguageLanguage: : en• Allow: : INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, REFER, NOTIFY,SUBSCRIBE, INFO• Server: Twinkle/0.9• Supported: : 100rel• Content-LengthLength: : 087


1401 RegistradoContinuamos …88


Ejemplo real 9, NOTIFY• Received from: : 10.49.1.67:5060• NOTIFY sip:1401@10.49.1.36:5066 SIP/2.0• Via: : SIP/2.0/UDP 10.49.1.67:5060;branchbranch=z9hG4bK3a47a27f;rport• From: : "asterisk"asterisk" " ;tag=as5bc41591• To: :


Ejemplo real 10, 200 OK (NOTIFY)• Send to: : 10.49.1.67:5060• SIP/2.0 200 OK• Via: : SIP/2.0/UDP10.49.1.67:5060;rportrport=5060; =5060;branch=z9hG4bK3a47a27f• To: : ;tag=wsylx• From: : "asterisk"asterisk";.49.1.67>;tag=as5bc41591• Contact: :


1401 Inicia una llamadaContinuamos …91


Ejemplo real 11, INVITE• Send to: : 10.49.1.67:5060• INVITE sip:1497:1497@pbxdgsinf.gcba.gov.arSIP/2.0• Via: : SIP/2.0/UDP 10.49.1.36:5066;rport;branchrport;branch=z9hG4bKmstvklac• Max-ForwardsForwards: : 70• Proxy-AuthorizationAuthorization: Digestusername="1401",="1401",realm="="pbxdgsinf.gcba.gov.ar",",nonce="77786b60",="77786b60",uri="="sip:1497@pbxdgsinf.gcba.gov.ar@pbxdgsinf.gcba.gov.ar",response="de1df3f98eaa8787d02819f1428029d2",algorithmalgorithm=MD5• To: :


Ejemplo real 12, SDP del 1401• v=0• o=1401 1479693915 2045290351 IN IP4 10.49.1.36• s=-• c=IN IP4 10.49.1.36• t=0 0• m=audio 8000 RTP/AVP 3 101• a=rtpmap:3 GSM/8000• a=rtpmap:101 telephone-event/8000event/8000• a=fmtp:101 0-15093


Breve comentario de SDP• SIP utiliza el modelo de Offer/Answerdeterminado por el RFC 3264• Significado de las líneas lanteriores:– v = protocol version– o = owner/creator and session identifier– s = session name– c = connection information– k = encryption keys– t = time the session is active– m = media description and transport address– a = (zero or more) media attributes lines94


Ejemplo real 13, 100 Trying• Received from: : 10.49.1.67:5060• SIP/2.0 100 Trying• Via: : SIP/2.0/UDP10.49.1.36:5066;rport;branchrport;branch=z9hG4bKmstvklac;received=10.49.1.36• From: : "<strong>Marcelo</strong> <strong>Doallo</strong>";>;tag=qdsbw• To: :


Ejemplo real 14, 200 OK• Received from: : 10.49.1.67:5060• SIP/2.0 200 OK• Via: : SIP/2.0/UDP10.49.1.36:5066;rport;branchrport;branch=z9hG4bKmstvklac;received=10.49.1.36• From: : "<strong>Marcelo</strong> <strong>Doallo</strong>";>;tag=qdsbw• To: : ;tag=as20fb15b7• Call-ID:mmhdzhzcpvthrqf@10.49.1.36• CSeq: : 948 INVITE• User-AgentAgent: Asterisk PBX• Allow: : INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,SUBSCRIBE, NOTIFY• Contact: :


Ejemplo real 15, SDP del 1497• v=0• o=root 31384 31384 IN IP4 10.49.1.67• s=session• c=IN IP4 10.49.1.67• t=0 0• m=audio 10000 RTP/AVP 3 101• a=rtpmap:3 GSM/8000• a=rtpmap:101 telephone-event/8000event/8000• a=fmtp:101 0-160• a=silenceSupp:off- - - -97


Comunicación n establecidaReceive RTP from: 10.49.1.36:8000Send RTP to: 10.49.1.67:10000Continuamos …98


Otro ejemplo de SDP, orden depreferencia• v=0• o=1401 348640 348656 IN IP4 10.49.1.36• s=X-Lite• c=IN IP4 10.49.1.36• t=0 0• m=audio 8000 RTP/AVP 0 8 3 98 101• a=rtpmap:0 pcmu/8000• a=rtpmap:8 pcma/8000• a=rtpmap:3 gsm/8000• a=rtpmap:98 iLBC/8000• a=rtpmap:101 telephone-event/8000event/8000• a=fmtp:101 0-15099


Ejemplo real 16, ACK• Send to: : 10.49.1.67:5060• ACK sip:1497@10.49.1.67 SIP/2.0• Via: : SIP/2.0/UDP10.49.1.36:5066;rport;branchrport;branch=z9hG4bKpufnpndg• Max-ForwardsForwards: : 70• Proxy-AuthorizationAuthorization: Digestusername="1401",="1401",realm="="pbxdgsinf.gcba.gov.ar",",nonce="77786b60",uriuri=" ="sip:1497@pbxdgsinf.gcba.gov.ar",response="de1df3f98eaa8787d02819f1428029d2",algorithmalgorithm=MD5• To: : ;tag=as20fb15b7• From: : "<strong>Marcelo</strong> <strong>Doallo</strong>";>;tag=qdsbw• Call-ID:mmhdzhzcpvthrqf@10.49.1.36• CSeq: 948 ACK• User-AgentAgent: Twinkle/0.9• Content-LengthLength: : 0100


Sesión n establecida(INVITE, OK, ACK)Continuamos …101


Ejemplo real 17, BYE• Send to: : 10.49.1.67:5060• BYE sip:1497@10.49.1.67 SIP/2.0• Via: : SIP/2.0/UDP10.49.1.36:5066;rport;branchrport;branch=z9hG4bKwmreolac• Max-ForwardsForwards: : 70• To: : ;tag=as20fb15b7• From: : "<strong>Marcelo</strong> <strong>Doallo</strong>";>;tag=qdsbw• Call-ID:mmhdzhzcpvthrqf@10.49.1.36• CSeq: 949 BYE• User-AgentAgent: Twinkle/0.9• Content-LengthLength: : 0102


Ejemplo real 18, 200 OK (BYE)• Received from: : 10.49.1.67:5060• SIP/2.0 200 OK• Via: : SIP/2.0/UDP10.49.1.36:5066;branchbranch=z9hG4bKwmreolac;received=10.49.1.36;rportrport=5066• From: : "<strong>Marcelo</strong> <strong>Doallo</strong>";>;tag=qdsbw• To: : ;tag=as20fb15b7• Call-ID:mmhdzhzcpvthrqf@10.49.1.36• CSeq: : 949 BYE• User-AgentAgent: Asterisk PBX• Allow: : INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,SUBSCRIBE, NOTIFY• Contact: :


Fin de la comunicación,n,desregistradoContinuamos …104


Ejemplo real 19, REGISTER• Send to: : 10.49.1.67:5060• REGISTER sip:pbxdgsinf.gcba.gov.ar SIP/2.0• Via: : SIP/2.0/UDP 10.49.1.36:5066;rport;branchrport;branch=z9hG4bKcrqihbij• Max-ForwardsForwards: : 70• To: : "<strong>Marcelo</strong> <strong>Doallo</strong>"


Ejemplo real 20, 100 Trying• Received from: : 10.49.1.67:5060• SIP/2.0 100 Trying• Via: : SIP/2.0/UDP10.49.1.36:5066;rport;branchrport;branch=z9hG4bKcrqihbij;received=10.49.1.36• From: : "<strong>Marcelo</strong> <strong>Doallo</strong>";>;tag=jjalo• To: : "<strong>Marcelo</strong> <strong>Doallo</strong>"


Ejemplo real 21, 200 OK• Received from: : 10.49.1.67:5060• SIP/2.0 200 OK• Via: : SIP/2.0/UDP10.49.1.36:5066;rport;branchrport;branch=z9hG4bKcrqihbij;received=10.49.1.36• From: : "<strong>Marcelo</strong> <strong>Doallo</strong>" ;tag=jjalo• To: : "<strong>Marcelo</strong> <strong>Doallo</strong>";>;tag=as2946746d• Call-ID:sakdxlxzrqwsfgj@10.49.1.36• CSeq: : 715 REGISTER• User-AgentAgent: Asterisk PBX• Allow: : INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE,NOTIFY• Expires: 0• Date: Tue, , 09 Oct 2007 19:16:54 GMT• Content-LengthLength: : 0107


Ejemplo de abandono de llamada• Envío o INVITE (SDP)• Recibo 100 Trying• Recibo 180 Ringing• Envío CANCEL• Recibo 487 Request Terminated• Recibo 200 OK• Envío o ACK108


¿Preguntas?109


Agenda• Panorama general de VoIP• Conceptos Básicos Bde SIP• Ejemplos de operación• Caso típico tde configuración110


Configuración n mínima mde teléfono SIP• Se requiere configurar:• El Proxy• El registrar• Usuario111


Configuración n mínima mde teléfono SIP 2• Opcionales a configurar:• Nombre• Usuario de autenticación• Clave• Puerto de trabajo• Protocolo (TCP/UDP)• Register Expire time112


Configuración n mínima mde teléfono SIP 3• Opcionales a configurar No-SIP:• Puerto de RTP• Tamaño o de Buffer para Jitter• CODEC113


Ejemplo de configuración n mínima m1• Se requiere configurar:• El Proxy = pbxdgsing.gov.ar• El registrar = pbxdgsinf.gov.ar• Usuario = 1401114


Ejemplo de configuración n mínima m2• Opcionales a configurar:• Nombre = “<strong>Marcelo</strong> <strong>Doallo</strong>”• Usuario de autenticación n = 1401• Clave = *******• Puerto de trabajo = 5060• Protocolo (TCP/UDP) = UDP• Register Expire time = 1800115


Ejemplo de configuración n mínima m3• Opcionales a configurar No-SIP:• Puerto de RTP = 8000• Tamaño o de Buffer para Jitter = 10 o 20 mSg• CODEC = G.711u, G711a, GSM, iLBC, Speex116


¿Preguntas?117


Glosario de términost• ATA: Analog Telephone Adapter, , permite conectar una teléfonocomún n a una red utilizando VoIP• IESG: “InternetEngineering Steering Group”, , grupo de trabajoencargado de evaluar los avances de estado de los estándares.• MEGACO (RFC 3015): “MultimediaGateway Control Protocol”,control de acceso a PSTN.• PSTN: Public Switched Telephone Network.• RTP (RFC 1889): Real Time Protocol, , transporte en tiempo real deinformación.n.• RTSP (RFC 2326): Real Time Streaming Protocol, , control de envíode streaming.• SCTP: Stream Control Transmission Protocol, , evolución n de TCP118


Glosario de términost• SDP (RFC 2327): Session Description Protocol, , para descripción n deseciones multimedia.• TLS (RFC 2246): Transport Layer Security• UA: User Agent, , extremos en la sesiones SIP.119


En Internet, ¿Dónde puedo encontrarmas información n ?• www.ietf.org/rfcrfc/rfc3261. /rfc3261.txt• http://://www.rfc-editor.org/rfcxx00.html• http://://www.cisco.com/warp/public/cc/techno/tyvdve/sip/• http://://www.sipfoundry.org• http://://www.opensource.org• http://://www.vovida.org• http://://www.vovida.org• http://://www.asterisk.org• http://://www.voip-info.org/• http://://sourceforge.net/forum/forum.php?forum_id=551485• http://://www.digium.com120


Muchas Gracias<strong>Marcelo</strong> <strong>Doallo</strong>m.doallo@ieee.org121

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!