Você está na página 1de 15

SIP – Session Initiation Protocol

•É um protocolo descrito na RFC 3261, para gestão de


sessões multimédia

•Permite iniciar, modificar e terminar sessões entre dois ou


mais participantes

•Pode
Pode ser usado para voz, vídeo, mensagens instantâneas,
aplicações de presença, jogos, …

•Partilha
Partilha algumas características do protocolo HTTP
• Protocolo baseado em texto
• Protocolo baseado em pedido/resposta
• Usa URIs: exemplo sip:oas@ipcb.pt
sip:oas

2007 Osvaldo Santos 1


Componentes SIP

•Papeis principais
• Clientes (fazem pedidos SIP)
• Servidores (respondem aos pedidos SIP)

Cliente SIP Servidor SIP

2007 Osvaldo Santos 2


Tipos de servidores SIP

•Redirect Server
• Indica ao cliente um novo set de URIs a usar, redirecionando-o

•Proxy Server
• Servidor intermédio entre o cliente e outro componente SIP

•Registrar Server
• Fornece um serviço de localização que permite registar URIs e
associá-los
los a endereços IP e portos

•Location Server
• Usado para determinar a localização de um determinado URI

Muitos destes papeis coexistem no mesmo servidor


2007 Osvaldo Santos 3
SIP: serviços de Registrar e Location

Fonte: Michael Maretzke, 2007, “Implementing


Implementing a RFC 3261 SIP Registrar”
Registrar

2007 Osvaldo Santos 4


SIP: Arquitectura típica

DNS Location
Server Server

DNS
Registrar
SIP

Outgoing Incoming
Proxy Proxy
SIP SIP SIP

SIP
Originating Terminating
User Agent RTP User Agent

Fonte: Dennis Baron, MIT

2007 Osvaldo Santos 5


Interoperabilidade com rede telefónica tradicional

• Normalmente existe um Gateway que permite interligar


a rede VoIP com a rede telefónica tradicional
• Nem sempre é fácil fazer ligações da rede telefónica
tradicional para terminais VoIP,
VoIP devido a questões de
numeração desses terminais

Fonte: Cisco

2007 Osvaldo Santos 6


Exemplo de uma arquitectura VOIP

Fonte: INRIA

2007 Osvaldo Santos 7


O protocolo: métodos SIP

• INVITE: Solicita uma sessão

• ACK: Resposta final ao INVITE

• OPTIONS: Solicita a lista de capacidades do servidor

• CANCEL: Cancela um pedido pendente

• BYE: Termina uma sessão

• REGISTER: Envia a localização de um utilizador para um servidor

2007 Osvaldo Santos 8


Códigos de resposta SIP

Código Categoria Exemplo


1XX Provisional 100 Trying
2XX Successful 200 OK
3XX Redirection 302 Moved Temporarily
4XX Client Error 404 Not Found
5XX Server Error 504 Server Time-out
Time
6XX Global Failure 603 Decline

2007 Osvaldo Santos 9


Uma ligação SIP básica

Liga a 10.8.2.3
A tocar

Sinal de chamada
Atende

Conversação RTP Conversação

Desliga

2007 Osvaldo Santos 10


Uma ligação SIP com proxy server

Liga a oas@ipcb.pt
A tocar

Sinal de chamada Atende

Conversação RTP

Desliga

2007 Osvaldo Santos 11


Uma ligação SIP com gateway

Fonte: Cisco Systems


2007 Osvaldo Santos 12
SDP - Session Description Protocol

Definido no IETF RFC 2327: o objectivo do SDP é descrever


sessões multimédia em contextos de anúncio de sessões,
convites e outras formas de iniciação de sessões multimédia

•O SDP permite descrever:


• O tipo de media (áudio, vídeo, mensagens, etc)
• O protocolo de transporte (RTP/UDP/IP, H320, etc)
• O formato de media (G.711, H.264, H.262, etc)
• Informação para receber os fluxos de media (endereços IP, ports,
formatos, etc)

2007 Osvaldo Santos 13


SDP – Exemplo
Offer Answer
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 o=bob 2808844564 2808844564 IN IP4
host.atlanta.example.com host.biloxi.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 0 8 97 m=audio 49174 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000 m=video 49170 RTP/AVP 32
a=rtpmap:97 iLBC/8000 a=rtpmap:32 MPV/90000
m=video 51372 RTP/AVP 31 32
a=rtpmap:31 H261/90000
a=rtpmap:32 MPV/90000

Neste cenário comum, são oferecidos múltiplos codecs para audio e vídeo, mas apenas
um é seleccionado. Neste caso concreto, foi seleccionado o codec PCMU para o áudio e
MPV para vídeo

2007 Osvaldo Santos 14


Leitura adicional: normas
IETF RFCs http://ietf.org/rfc.html
RFC3261 Core SIP specification – obsoletes RFC2543
RFC2327 SDP – Session Description Protocol
RFC3262 SIP PRACK method – reliability for 1XX messages
RFC3263 Locating SIP servers – SRV and NAPTR
RFC3264 Offer/answer model for SDP use with SIP
RFC3265 SIP event notification – SUBSCRIBE and NOTIFY
RFC3311 SIP UPDATE method – eg.. changing media
RFC3325 Asserted identity in trusted networks
RFC3361 Locating outbound SIP proxy with DHCP
RFC3428 SIP extensions for Instant Messaging
RFC3515 SIP REFER method – eg.. call transfer
SIMPLE IM/Presence - http://ietf.org/ids.by.wg/simple.html
SIP authenticated identity management - http://www.ietf.org/internet-drafts/draft-ietf-sip-identity-02.txt
http://www.ietf.org/internet

2007 Osvaldo Santos 15

Você também pode gostar