SIP
Fabrício Tamusiunas
SIP
RFC 3261 (antiga RFC 2543)
Protocolo de controle que trabalha na
camada de aplicação
Permite que EndPoints encontrem outros
EndPoints
Gerencia sessões multimídia entre os
EndPoints
SIP
Trabalha tanto com UDP quanto TCP
Arquitetura horizontal
Cria infraestrutura de rede (hosts) para
acesso a End Points (chamados servidores
Proxy)
SIP
Trabalha em conjunto com outros protocolos
da IETF
–
RTP (Real Time Protocol – RFC 1889)
–
RTSP (Real Time Streaming Protocol – RFC
2326)
–
MEGACO (Media Gateway Control Protocol –
RFC 3015)
–
SDP (Session Description Protocol – RFC 2327)
SIP – pontos de estabelecimento e
término de conexão
User location: Determina o sistema final a ser usado
na comunicação (outra ponta)
User availability: Determina disponibilidade do
sistema final
User capabilities: Determina a Media a ser usada e
seus parâmetros
Session setup: Chamada, estabelecimento de
sessão e parâmetros em ambos os lados
Session management: transferência e término de
sessões, modificação de parâmetros de sessões e
serviços chamados.
SIP – Elementos de Rede
User Agents (UA)
Proxy Servers
Registrar
Stateless Servers
Statefull Servers
SIP – User Agents
End Points que usam SIP para encontrar
outros agentes
Compostos de User Agent Servers (UAS) e
User Agent Client (UAC) que são entidades
lógicas apenas
SIP Registrar
É onde o proxy procura as informações
sobre o End Point
Cada End Point é registrado no Registrar
pelo Proxy (ex. Windows Messenger) ou
diretamente por sí próprio (ex. CGUSip)
Packet 1: MADRIGAL.cg.org.br > inocdba.pch.net
SIP (REGISTER)
Request Line: REGISTER sip:inocdba.pch.net SIP/2.0
Method Token: REGISTER
Request URI: sip:inocdba.pch.net
SIP Version: SIP/2.0
Header Section
Via: SIP/2.0/UDP
200.160.4.130:5060;rport;branch=z9hG4bKD10BCCF9F7124AA3AC94521E
18C6244F
From: Fabricio 2 <sip:22548*905@inocdba.pch.net>;tag=4200881920
To: Fabricio 2 <sip:22548*905@inocdba.pch.net>
Contact: "Fabricio 2" <sip:22548*905@200.160.4.130:5060>
CallId: CDFF590C53134ECA85BEF15930EF6F60@inocdba.pch.net
Cseq: 59510 REGISTER
Expires: 0
MaxForwards: 70
UserAgent: XLite release 1103a
SIP Registrar
Packet 2: inocdba.pch.net > MADRIGAL.cg.org.br
SIP (SIP/2.0)
Status Line: SIP/2.0 200 OK
Version: SIP/2.0
Status Code: 200
ReasonPhrase: OK
Header Section
Via: SIP/2.0/UDP
200.160.4.130:5060;rport=5060;branch=z9hG4bKD10BCCF9F7124AA3AC9
4521E18C6244F
From: Fabricio 2 <sip:22548*905@inocdba.pch.net>;tag=4200881920
To: Fabricio 2 <sip:22548*905@inoc
dba.pch.net>;tag=b27e1a1d33761e85846fc98f5f3a7e58.e819
CallId: CDFF590C53134ECA85BEF15930EF6F60@inocdba.pch.net
Cseq: 59510 REGISTER
Server: Sip EXpress router (0.8.11rc7 (sparc64/solaris))
SIP Registrar
SIP – Proxy Servers
Responsáveis pelas conexões entre os End
Points
Podem ser
–
Stateful – Mantém o status das conexões,
servindo de intermediário entre as conexões todo
tempo (até o BYE)
–
Stateless – Negocia a conexão, mas os
streamings são enviados diretamente entre os
End Points
SIP – Redirect Server
Recebe requisição, pesquisa no Registrar e
envia como resposta uma lista de
SIP – Exemplo de conexão
96.meeting.registro.br (22548*900) >
MADRIGAL.cg.org.br (22548*905)
Packet 5: 96.meeting.registro.br > inocdba.pch.net SIP (INVITE) Request Line: INVITE sip:22548*905@204.61.208.90 SIP/2.0 Method Token: INVITE Request URI: sip:22548*905@204.61.208.90 SIP Version: SIP/2.0 Header Section Via: SIP/2.0/UDP 200.160.0.96:5060 From: "Fabricio Tamusiunas" <sip:22548*900@204.61.208.90>;tag=000d6570812000320ac5367909d26f44 To: <sip:22548*905@204.61.208.90> CallId: 000d6570812000cc0876f1f4601c2189@200.160.0.96 Date: Fri, 16 Apr 2004 13:34:24 GMT Cseq: 101 INVITE UserAgent: CSCO/6 Contact: <sip:22548*900@200.160.0.96:5060> Expires: 180 ContentType: application/sdp ContentLength: 246 Accept: application/sdpPacket 6: inocdba.pch.net > MADRIGAL.cg.org.br SIP (INVITE) Request Line: INVITE sip:22548*905@200.160.0.70:5060 SIP/2.0 Method Token: INVITE Request URI: sip:22548*905@200.160.0.70:5060 SIP Version: SIP/2.0 Header Section MaxForwards: 10 RecordRoute: <sip:22548*905@204.61.208.90;ftag=000d6570812000320ac53679 09d26f44;lr=on> Via: SIP/2.0/UDP 204.61.208.90;branch=z9hG4bKe732.4dc7.0 Via: SIP/2.0/UDP 200.160.0.96:5060 From: "Fabricio Tamusiunas" <sip:22548*900@204.61.208.90>;tag=000d6570812000320ac5367909d26f44 To: <sip:22548*905@204.61.208.90> CallId: 000d6570812000cc0876f1f4601c2189@200.160.0.96 Date: Fri, 16 Apr 2004 13:34:24 GMT Cseq: 101 INVITE UserAgent: CSCO/6 Contact: <sip:22548*900@200.160.0.96:5060>
SIP – Exemplo de conexão
96.meeting.registro.br (22548*900) >
MADRIGAL.cg.org.br (22548*905)
Packet 7: inocdba.pch.net > 96.meeting.registro.br SIP (SIP/2.0) Status Line: SIP/2.0 100 trying your call is important to us Version: SIP/2.0 Status Code: 100 ReasonPhrase: trying your call is important to us Header Section Via: SIP/2.0/UDP 200.160.0.96:5060 From: "Fabricio Tamusiunas" <sip:22548*900@204.61.208.90>;tag=000d6570812000320ac5367909d26f44 To: <sip:22548*905@204.61.208.90> CallId: 000d6570812000cc0876f1f4601c2189@200.160.0.96 Cseq: 101 INVITE Server: Sip EXpress router (0.8.11rc7 (sparc64/solaris)) ContentLength: 0
SIP – Exemplo de conexão
96.meeting.registro.br (22548*900) >
MADRIGAL.cg.org.br (22548*905)
Packet 8: MADRIGAL.cg.org.br > inocdba.pch.net SIP (SIP/2.0) Status Line: SIP/2.0 100 Trying Version: SIP/2.0 Status Code: 100 ReasonPhrase: Trying Header Section Via: SIP/2.0/UDP 204.61.208.90;branch=z9hG4bKe732.4dc7.0 Via: SIP/2.0/UDP 200.160.0.96:5060 From: "Fabricio Tamusiunas" <sip:22548*900@204.61.208.90>;tag=000d6570812000320ac5367909d26f44 To: <sip:22548*905@204.61.208.90>;tag=315748910 Contact: <sip:22548*905@200.160.0.70:5060> RecordRoute: <sip:22548*905@204.61.208.90;ftag=000d6570812000320ac53679 09d26f44;lr=on> CallId: 000d6570812000cc0876f1f4601c2189@200.160.0.96 Cseq: 101 INVITE Server: XLite release 1103a