Marcelo Doallo - CICOMRA
Marcelo Doallo - CICOMRA
Marcelo Doallo - CICOMRA
- 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