150 likes | 384 Vues
SIP. ¿Qué es SIP?. Session Initiation Protocol (SIP) es un protocolo de aplicación desarrollado por el IETF dentro del grupo MMUSIC ( Multiparty Multimedia Session Control) Se especifica en la RFC2543 .
E N D
¿Qué es SIP? • SessionInitiationProtocol (SIP) es un protocolo de aplicación desarrollado por el IETF dentro del grupo MMUSIC (Multiparty Multimedia Session Control) • Se especifica en la RFC2543 . • SIP es un protocolo basado en el modelo cliente-servidor. Los clientes SIP envían peticiones (RequestsMessages) a un servidor, el cual una vez procesada contesta con una respuesta (Response Messages). • Los terminales SIP pueden generar tanto peticiones como respuestas al estar formados por el denominado cliente del agente de usuario [UAC] y servidor del agente de usuario [UAS].
SIP • SIP, SessionInitiationProtocol, se diseñó para establecer, modificar y terminar sesiones interactivas de voz o video, también de mensajería instantánea • Sip es parecido a HTTP, utiliza una sintaxis y semántica similares • Utiliza direcciones (URI, uniformresourceindicator) parecidas a las clásicas de email • teléfono: sip:932402000@salleurl.com; usuario=teléfono • Usuario IM: sip:miguel.ramirez@salleurl.com • SIMPLE , (SIP basedInstantMessagingPresenceLeveraging and Extensions), ofrece funciones clave para aplicaciones de presencia y mensajería instantánea
http://www.sipcenter.com/sip.nsf/html/Architecture • Componentes • SipUserAgent. Es el sistema que maneja la llamada • Se compone de un Useragentclient, que inicia la llamada y un UserAgent Server que responde a las peticiones. Así se permiten llamadas peer to peer • Los SIP UserAgents son aplicaciones ligeras que pueden “embeberse” en dispositivos como PDA , pero también en desktops junto con otras aplicaciones relacionadas como contact managers … etc • Sip Network Server. Sistema que gestiona la señalización
Servidores SIP • Servidor de Registro (Registrar Server): El Servidor de Registro registra usuarios cuando se conectan y almacena información en la identidad lógica de usuario, y el dispositivo asociado (identificado por una dirección IP o URL) o dispositivos que los usuarios permiten para comunicaciones. • Servidor de Ubicación (Location Server): Una base de datos que rastrea usuarios y los enlaces URL que estén “cercanos” para ellos. El servicio de ubicación obtiene su ingreso desde el servidor de registro y le brinda información clave para los servidores proxy y de redirección. • Servidor de Redirección (Redirect Server): Mapea una consulta SIP destinada para un usuario al URL del dispositivo “más cercano” para el usuario. Por ejemplo, si una llamada es destinada para johnsmith@avaya.com y el usuario está en camino, el Servidor de Redirección puede responder al agente de usuario del que llama (o al servidor proxy de consulta) con la dirección de contacto del celular del usuario.
Servidores SIP • Servidor Proxy( Proxy Server): Revisa las consultas SIP procesándolas y pasándolas por los otros servidores SIP. Un servidor Proxy puede actuar tanto como un servidor y como cliente, y puede modificar una consulta SIP antes de transmitirla. Un Proxy se ocupa únicamente de la configuración y desmantelamiento de comunicaciones. Una vez que se establece la sesión, las comunicaciones suceden directamente entre la partes. • Servidor de Presencia (Presence Server): Acepta, almacena y distribuye información de presencia. El servidor de presencia tiene dos grupos de clientes distintivos: • Presentities(productores de información) brindan información de presencia al servidor para ser almacenada y distribuida. • Watchers (consumidores de información) reciben información de presencia desde el servido
Modos trabajo servers • Los servers puedenactuar en dos modos: • Stateful : recuerdantodaslaspreguntas y respuestas • Stateless: olvidantoda la informaciónunavezhanemitidolasrespuestas. • Los servidores de red suelen ser stateless mientrasque los servidoresmáspróximos al cliente (ej proxy) suelen ser stateful.
Comandos SIP • INVITE :Invites a user to a call • ACK : Acknowledgement is used to facilitate reliable message exchange for INVITEs. • BYE :Terminates a connection between users • CANCEL :Terminates a request, or search, for a user. It is used if a client sends an INVITE and then changes its decision to call the recipient. • OPTIONS :Solicits information about a server's capabilities. • REGISTER :Registers a user's current location • INFO :Used for mid-session signaling
Ejemplos comandos • 1xx Informational (e.g. 100 Trying, 180 Ringing) • 2xx Successful (e.g. 200 OK, 202 Accepted) • 3xx Redirection (e.g. 302 Moved Temporarily) • 4xx RequestFailure (e.g. 404 NotFound, 482 LoopDetected) • 5xx Server Failure (e.g. 501 NotImplemented) • 6xx Global Failure (e.g. 603 Decline)
Ejemplo SIP • El usuario 1 envía un INVITE al usuario 2, perocomo no conocesudirecciónpasa la pregunta al server 1, el server 1 reenvía el INVITE al server 2 y un TRYING al usuario 1 diciendoqueestábuscando a usuario2 • Estamos en un casopuedehaberotros • El server 2 envía un INVITE al usuario 2 y un TRYING al server 1. Si no conoce la dirección del usuario 2 podríaenviar un INVITE a un server 3 • El teléfono SIP, cuandorecibe el INVITE pone en marcha el timbre y envía RINGING al server 2 , que se lo pasa a server 1 y éste al usuario 1 • Si el usuario 2 acepta la llamada envía un OK al server 2 que progresa hasta el usuario 1, el usuario 1 envía un ACK para confirmar el establecimiento de la llamada. El ACK no va por los proxy servers porque el usuario 1 ya conoce la dirección del usuario 2