Upload
internet
View
106
Download
2
Embed Size (px)
Citation preview
SIPSIP
Protocolo de sinalização que
permite a configuração,
estabelecimento e término de
uma sessão fim-a-fim para
comunicação multimídia.
SIP – Funções BásicasSIP – Funções Básicas
• Convite de usuários para participar de sessões multimídia;
• Localização do destino do usuário;
• Transporte de informações que permitam o estabelecimento da sessão;
• Modificações de sessões já existentes;
• Encerramento de Sessões;
• Indicação de presença e transporte de mensagens instantâneas.
SIP - HistóricoSIP - Histórico
Desenvolvido pelo grupo MMUSIC do
IETF. Definição do protocolo:
• Versão 1.0 : 1997 - Draft;
• Versão 2.0 : março 1999 - RFC 2543;
• Correções : julho de 2000 – RFC
3261.
SIP - CaracterísticasSIP - Características
• Incorpora elementos de protocolos
usados na Internet:
• HTTP (Hyper Text Transport Protocol):
utiliza estrutura cliente/servidor e url /
uri;
• SMTP (Simple Mail Transport Protocol):
utiliza forma de codificação em texto e
campos de cabeçalho (to, from e
subject, entre outros)
SIP - CaracterísticasSIP - Características
• Trabalha em conjunto com outros
protocolos;
• Mobilidade pessoal;
• Utiliza, preferencialmente,
transporte sem conexão e não
confiável para a sinalização (UDP):
acelera o estabelecimento de
chamadas.
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Física
H.323H.323 SIPSIP
Sinal de Áudio Sinal de Vídeo
G.711 G.728
G.722 G.729
G.723.1
H.261
H.263
Dados
T.127
RTCP RAS RTP
T.126
T.124
T.125 /T.122
X.224.0
Serviços Suplementa.
H.450.3 H.450.2
H.450.1
UDP TCP
Controle
H.245 H.225
H.235
SIP
SDP
UDP TCP
RTCP RAS RTP
Sinal De
Áudio/ Vídeo
SIPSIP
• Conexão simplificada;
• Inspirou mudanças no
H.323:
• H.323v2 : Fast
Connect;
• H.323v5: Sinalização
sobre UDP.
SIP – Exemplo de conexãoSIP – Exemplo de conexão
• Mensagens SIP são
codificadas em formato
texto;
• Mensagens são pedidos
ou respostas
(cliente/servidor) -
transações;
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP lab.high-voltage.org:5060;branch=z9hG4bKfw19bMax-Forwards: 70To: G. Marconi <sip:[email protected]>From: Nikola Tesla <sip:[email protected]>;tag=76341Call-ID: [email protected]: 1 INVITESubject: About That Power Outage...Contact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 158
v=0o=Tesla 2890844526 2890844526 IN IP4 lab.high-voltage.orgs=Phone Callc=IN IP4 100.101.102.103t=0 0m=audio 49170 RTP/AVP 0a=rtpmap:0 PCMU/8000
SIP – Exemplo de conexãoSIP – Exemplo de conexão
SIP – Exemplo de conexãoSIP – Exemplo de conexão
Corpo SDP da mensagem INVITE Parâmetro SDP
v=0 Versão
o=Tesla 2890844526 2890844526 IN IP4 lab.high-voltage.org Origem
s=Phone Call Assunto
c=IN IP4 100.101.102.103 Conexão
t=0 0 Tempo
m=audio 49170 RTP/AVP 0 Mídia
a=rtpmap:0 PCMU/8000 Atributos
SIP/2.0 180 RingingVia: SIP/2.0/UDP lab.high-voltage.org:5060;branch=z9hG4bKfw19b ;received=100.101.102.103To: G. Marconi <sip:[email protected]>;tag=a53e42From: Nikola Tesla <sip:[email protected]>>;tag=76341Call-ID: [email protected]: 1 INVITEContact: <sip:[email protected]>Content-Length: 0
SIP – Exemplo de conexãoSIP – Exemplo de conexão
SIP/2.0 200 OKVia: SIP/2.0/UDP lab.high-voltage.org:5060;branch=z9hG4bKfw19b ;received=100.101.102.103To: G. Marconi <sip:[email protected]>;tag=a53e42From: Nikola Tesla <sip:[email protected]>;tag=76341Call-ID: [email protected]: 1 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 155
v=0o=Marconi 2890844528 2890844528 IN IP4 tower.radio.orgs=Phone Callc=IN IP4 200.201.202.203t=0 0m=audio 60000 RTP/AVP 0a=rtpmap:0 PCMU/8000
SIP – Exemplo de conexãoSIP – Exemplo de conexão
ACK sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP lab.high-
voltage.org:5060;branch=z9hG4bK321g
Max-Forwards: 70
To: G. Marconi <sip:[email protected]>;tag=a53e42
From: Nikola Tesla <sip:[email protected]>;tag=76341
Call-ID: [email protected]
CSeq: 1 ACK
Content-Length: 0
SIP – Exemplo de conexãoSIP – Exemplo de conexão
Elementos da Arquitetura
SIP
Elementos da ArquiteturaElementos da Arquitetura
• SIP User Agents
• SIP Presence Agents
• Back-to-Back User Agents (B2BUA)
• SIP Gateways
• Servidores SIP• Servidores Proxy: Statefull, Stateless,
Fork
• Servidores de Redirecionamento
• Servidores de registro
Elementos da ArquiteturaElementos da Arquitetura
SIP User Agents
• User Agent Client (UAC)• São os terminais finais da Comunicação;• Enviam requisições SIP;
• User Agent Server (UAS)• Escutam as requisições de chamada;• Geram as respostas SIP;
• USER AGENT: UAC + UAS• Suporte obrigatório ao SDP.
Elementos da ArquiteturaElementos da Arquitetura
SIP Presence Agents
• RFC 3265 - Session Initiation Protocol (SIP) - Specific Event Notification
• São dispositivos capazes de receber pedidos de subscrição e gerar notificações;
• Podem agir como servidores de informação de presença ou como proxy, encaminhando pedidos de subscrição para outros agentes de presença.
Elementos da ArquiteturaElementos da Arquitetura
Back-to-Back User Agents (B2BUA)
• Dispositivos que recebem uma requisição, reformulam e enviam como uma nova requisição;
• Exemplo: Gateway de aplicação (ALG) de alguns firewalls.
Elementos da ArquiteturaElementos da Arquitetura
SIP Gateways
• Aplicação que faz interface entre uma
rede SIP e outra usando outro protocolo
de sinalização;
• O gateway pode necessitar terminar
tanto a sinalização quanto o tráfego
multimídia (RTP)
Elementos da ArquiteturaElementos da Arquitetura
• SIP User Agents
• SIP Presence Agents
• Back-to-Back User Agents (B2BUA)
• SIP Gateways
• Servidores SIP• Servidores Proxy: Statefull, Stateless,
Fork
• Servidores de Redirecionamento
• Servidores de registro
Elementos da ArquiteturaElementos da Arquitetura
Servidores Proxy• Encaminham as requisições para outros servidores;
• Geralmente utiliza uma banco de dados ou um
serviço de localização para determinar o
encaminhamento (determina the next hop);
• Não geram requisições, apenas respondem (A
requisição CANCEL é uma exceção);
• Não têm capacidade multimídia;
• Não altera o corpo da mensagem, apenas o
cabeçalho: cada proxy no caminho acrescenta um
campo VIA na mensagem para estabelecer a rota;
• Podem ser Statefull ou StateLess;
• Pode duplicar o pedido para múltiplos destinos
(forking).
Elementos da ArquiteturaElementos da Arquitetura
Topologia comum: o trapézio SIP
Elementos da ArquiteturaElementos da Arquitetura
Servidores Proxy Stateless
• Processa cada requisição apenas baseado
no conteúdo da mensagem;
• Quando a resposta voltar, usa o
cabeçalho Via para saber qual o próximo
hop;
• Não retransmite mensagens;
• Podem ocorrer loops: verificação através
do campo Max-Forwards (RFC 3261)
Elementos da ArquiteturaElementos da Arquitetura
Servidores Proxy Statefull
• O servidor guarda informações sobre a
transação até ocorrer uma resposta “200
OK” ou resposta de erro;
• Retransmite a requisição se não receber
resposta, liberando o user agent desta
função;
• Necessário para requisições multicast.
Elementos da ArquiteturaElementos da Arquitetura
Servidores Proxy de Bifurcação
(Forking Proxies) São servidores Proxy Statefull (guardam
informações das transações) pois podem
duplicar e enviar cópias dos pedidos para
várias máquinas, permitindo que elas
possam ser usadas para tentar contatar
vários pontos finais pertencentes à mesma
pessoa.
Elementos da ArquiteturaElementos da Arquitetura
Servidores de
RedirecionamentoSão servidores que
respondem mas não
encaminham requisições.
Utilizam banco de dados ou
serviço de localização para
procurar o usuário e
responde com uma
mensagem de
redirecionamento (3xx).
Elementos da ArquiteturaElementos da Arquitetura
Servidores de Registro
(Registrar)
• Recebem registro sobre a atual localização do usuário,
acionados por servidores de redirecionamento ou proxy
quando se quer procurar o usuário;
• Endereço de configuração all SIP servers:
sip.mcat.net:224.0.1.75;
• Cada registro possui um tempo de vida;
• Se o terminal se mover e desejar modificar os
parâmetros, pode enviar um pedido de cancelamento.
Mensagens SIP
Mensagens SIPMensagens SIP
• Mensagens SIP são codificadas em formato texto ISSO 10646 com codificação UTF-8;
• Mensagens são pedidos (requests) ou respostas (responses)
Linha de início: pedido ou resposta
Cabeçalhos
Linha em branco
Corpo da mensagem, se houver. Pode ser SDP limpo ou criptografado, MIME...
Formato genérico da mensagem SIP. Fonte Telefonia IP - HERSENT, Oliver, GUIDE,David, PETIT, Jean-Pierre.
Mensagens SIPMensagens SIP
CABEÇALHO
• Possui diversos campos, sendo alguns presentes tanto em pedidos como respostas;
• Na maioria dos casos, segue as regras do cabeçalho HTTP:
Nome do Campo: campo/valor <CRLF>
• Muitos cabeçalhos possuem forma compacta (uma única letra para indicar o nome campo);
Mensagens SIPMensagens SIPForma compacta de cabeçalhos SIP
Campo Compactado
Accept-Contact a
Allow-Event u
Call-ID i
Contact m
Content-Encoding e
Content-Length l
Content-Type c
Event o
From f
Refer-To r
Referred-By b
Reject-Contact j
Subject s
To t
Via v
Mensagens SIPMensagens SIP
CABEÇALHO - CAMPOS MAIS COMUNS:
• CALL-ID : obrigatório em pedidos e respostas, é um identificador único para identificar uma chamada. É composto de um identificador aleatório único localmente seguido do nome de um domínio ou endereço IP. Ex:
Call-ID: [email protected]
Mensagens SIPMensagens SIP
CABEÇALHO - CAMPOS MAIS COMUNS:
• CSeq: obrigatório nas requisições, o campo de seqüência de comando é usado para determinar pedidos fora de seqüência ou diferencia entre uma nova requisição e uma retransmissão. Composto de um número decimal (incrementado a cada novo pedido, exceto no ACK ou CANCEL) seguido do método. Ex:
Cseq: 12 INVITE
Mensagens SIPMensagens SIP
CABEÇALHO - CAMPOS MAIS COMUNS:
• From: obrigatório em pedidos e respostas, indica a origem da requisição. Contém uma URI (Universal Resource Identifier);
Os endereços SIP são URLs (Uniform Request Location)
Esquema: sip/http/ftp/email, Nome do Usuário, Senha(Opcionalmente), Nome do Host (Porta Opcional), Parâmetros, Cabeçalhos e Corpo
Permite o uso de outros prefixos, além do sip, facilitando a integração com a internet e permitindo o redirecionamento. Ex:
sip:[email protected]; tag=123456
Mensagens SIPMensagens SIP
Prefixo Significado
sip SIP URI
sips Secure SIP URI
tel Telephone URI
pres Presence URI
im Instant Message URI
mailto E-mail URL
http Web URL
URIs mais comuns em mensagens SIP
Mensagens SIPMensagens SIP
CABEÇALHO - CAMPOS MAIS COMUNS:
• To : indica o destino pretendido da requisição. Contém uma URI (Universal Resource Identifier) e um tag para auxiliar na identificação da chamada (obrigatório na RFC 3261). Ex:
sip:[email protected]; tag=654321
To e From são copiados dos pedidos nas respostas, não são alterados os campos. Indicam sentido de origem do pedido.
Mensagens SIPMensagens SIP
CABEÇALHO - CAMPOS MAIS COMUNS:
• VIA: usado pra gravar a rota de um pedido, para que as respostas usem o mesmo caminho. O user agent gera a requisição colocando seu próprio endereço no campo Via. Cada proxy acrescenta um campo Via no topo da lista. O campo Via contém o nome e versão do protocolo, transporte e endereço, além de parâmetros adicionais como received, maddr (endereço multicast) e ttl. Ex:
Via : SIP/2.0/UDP proxysip.ufrn.br
O primeiro campo Via é o
endereço do
servidor?
Descarte a mensagem
Remova a primeira linha
VIA
Há um segund
o campo VIA?
A mensagem é para este servidor.
Existe o parâme
tro maddr?
Encaminhe para o end. multicast
maddr
Existe o parâmet
ro received
?
Encaminhe para o end.
received
Encaminhe a resposta para o
endereço VIA.
Resposta Recebida pelo servidor
Não
Sim
Não
Sim
Sim Não Sim
Não
Encaminhamento VIA
Mensagens SIPMensagens SIP
CABEÇALHO - CAMPOS MAIS COMUNS:
Campos que se relacionam com o corpo da mensagem:
• Content-Type: descreve o tipo de conteúdo do corpo da mensagem. Ex:
Content-Type: application/sdp
Content-Type: multipart/mixed
• Content-Lenght: o tamanho do corpo da mensagem em octetos
Mensagens SIPMensagens SIP
CABEÇALHO - CAMPOS MAIS COMUNS:
• Max-Forwards: campo utilizado para indicar o máximo de hops que o pedido pode fazer. O valor é decrementado por cada proxy que encaminhar o pedido. Um proxy que receba o campo com valor 0 descarta a mensagem e retorna uma mensagem de erro 483 (Too Many Hops). Obrigatório na RFC 3261 para controle de loop (feito pelo campo Via na RFC 2543).
Mensagens SIPMensagens SIP
CABEÇALHO
• Muitos outros campos foram definidos e tem uso de acordo com a requisição ou resposta: Accept, Accept-Encoding, Accept-Language,
Alert-Info, Allow, Allow-events, Authentication-Info, Authorization, Call-Info, Contact, Content-Disposition, Content-Encoding, Content-Language, Content-Length, Content-Type, Date, Error-Info, Expires, In-Reply-To, Max-Forwards, Min-Expires, MIME-Version, Organization, Priority, Proxy-Authenticate, Proxy-Authorization, Proxy-Require, Record-Route, Reply-To, Require, Retry-After, Route, Server, Subject, Supported, Timestamp, Unsupported, User-Agent, Warning, WWW-Authenticate;
Mensagens SIPMensagens SIP
CABEÇALHO
• Proxies não necessitam entender novos métodos e campos de cabeçalho: extensões podem ser feitas ao protocolo sem necessitar mudança da estrutura de rede.
LISTA DE CAMPOS QUE PODEM INSERIDOS OU
MODIFICADOS POR PROXIES
Alert-Info
Call-Info
Content-Length
Date
Error-Info
Max-Forwards
Organization
Priority
Proxy-Authenticate
Proxy-Authorization
Proxy-Require
Record-Route
Reason
Require
Route
Via
WWW-Authenticate
Mensagens SIPMensagens SIP
Linha de início: determina se a mensagem é um pedido ou uma resposta. Composta de método, uri e versão do SIP. Ex:
INVITE sip:[email protected] SIP/2.0
Linha de início: pedido ou resposta
Cabeçalhos
Linha em branco
Corpo da mensagem, se houver. Pode ser SDP limpo ou criptografado, MIME...
Mensagens SIPMensagens SIP
Requisições e respostas
• Pedidos, requisições ou métodos especificam a ação a ser tomada por outro user agent ou servidor. A RFC 3261 define 6 métodos: INVITE, REGISTER, BYE, ACK, CANCEL E OPTIONS. Outros 7 métodos são definidos em outras RFCs: REFER, SUBSCRIBE, NOTIFY, MESSAGE, UPDATE, INFO e PRACK;
• Respostas contém um código de status e uma frase de justificativa inteligível por pessoas. Podem ser informativas (1xx), de Sucesso (2xx), de redirecionamento (3xx), de erro de cliente (4xx).
Mensagens SIPMensagens SIP
Requisições - INVITE
• É o método utilizado para
estabelecer sessões entre user
agents;
• Sempre é confirmado com ACK;
• Geralmente possui um corpo que
descreve as informações de mídias
da origem;
• O User agent cria um Call-ID para
ser usado enquanto durar a
chamada.
Mensagens SIPMensagens SIP
Requisições - INVITE• CSeq é utilizado para controle de
retransmissões;
• No caso de ser necessário mudar as características da mídia, um re-INVITE pode ser usado com o CSeq incrementado;
• Os clientes transmitem INVITE com backoff exponencial: 500ms, 1s, 2s, 4s.
• Retransmissões cessam quando chegam respostas provisórias (100 trying).
Mensagens SIPMensagens SIP
Requisições - ACK• Método usado para confirmação
final para requisições INVITE;
• O CSeq não é incrementado para o ACK, mas alterado para a próxima requisição;
• Opcionalmente, pode conter uma mensagem SDP;
• Para respostas 2xx (sucesso), o ACK é fim-a-fim, mas todas as outras são hop-by-hop quando statefull proxies estão envolvidos.
Mensagens SIPMensagens SIP
Requisições – BYE
• Método usado para encerrar
uma sessão já estabelecida;
• Enviado apenas pelos users
agents envolvidos, nunca por
proxies;
• É um método fim-a-fim;
Mensagens SIPMensagens SIP
Requisições – CANCEL
Método utilizado para terminar
buscas pendentes ou tentativas de
chamadas. O pedido pode ser gerado
pelos user agents ou proxies que
receberam uma mensagem informativa
provisória (1xx) mas não receberam a
mensagem final.
Mensagens SIPMensagens SIP
Requisições – OPTION
Método utilizado para um
cliente saber sobre as capacidades do
servidor. A resposta contém uma lista
dos métodos permitidos.
Mensagens SIPMensagens SIP
Requisições – REGISTER
Método utilizado pelo user
agent para notificar a rede SIP da sua
localização atual (Contact URI – IP
Address – um ou mais endereço).
Mensagens SIPMensagens SIP
Requisições RFC 3261
• INVITE
• REGISTER
• BYE
• ACK
• CANCEL
• OPTIONS.
Requisições de outras RFCs
• REFER
• SUBSCRIBE
• NOTIFY
• MESSAGE
• UPDATE
• INFO
• PRACK.
Mensagens SIPMensagens SIP
Requisições• REFER: método usado por um user agent para
requisitar que outro user agent acesse uma URI ou URL. Pode ser utilizado, por exemplo, para implementar uma transferência de chamada;
• SUBSCRIBE: método usado por um user agent para estabelecer uma inscrição com o propósito de receber notificações (Ex: informações de presença - online/offline)
• NOTIFY: método usado para transportar informações sobre eventos particulares, definidos na subscrição;
• MESSAGE: usado para transporte de mensagens instantâneas usando SIP. Pode conter anexos MIME
Mensagens SIPMensagens SIP
Requisições• UPDATE: usado para modificar o estado da sessão
sem mudança de estado do diálogo. Usado no lugar de re-INVITE enquanto o INVITE não foi confirmado.
• INFO: usado para que o user agent envie informações de sinalização da chamada para outro agente com o qual estabeleceu uma conexão multimídia. Diferente do re-INVITE pois não muda as características da sessão. Proposto para transportar algumas informações de sinalização PSTN;
• PRACK: ACK provisório, utilizado para reconhecimento de mensagens provisórias (1xx).
Mensagens SIPMensagens SIP
RESPOSTASRespostas contém um código de status e uma frase de justificativa inteligível por pessoas.
Classes de Status Code:100-199 (1XX) :Informação Provisória200-299 (2XX) :Sucesso300-399 (3XX) :Redirecionamento400-499 (4XX) :Erro no Cliente500-599 (5XX) :Erro no Servidor600-699 (6XX) :Falha Global
Mensagens SIPMensagens SIP
RESPOSTASStatus Code• 100-199 : são consideradas respostas
provisórias e sem confiabilidade;• 200-699 :são as respostas finais,
definitivas, terminam uma transação no ambiente SIP.
Cabeçalho da RespostaOs campos Call-ID, To, From,CSeq são espelhadas em respostas para suportar o match (verificação) de campos entre requisição e resposta.
Mensagens SIPMensagens SIP
1xx Informativo (Pedido recebido, continuando a processar o pedido)
100 Tentando180 Chamando181 A chamada está sendo retransmitida182 Colocado na fila
2xx Sucesso (a ação foi recebida, entendida e aceito com sucesso)
200 OK
3xx Redirecionamento (uma ação adicional deve ser tomada para completar o pedido)
300 Múltiplas escolhas301 Movido permanentemente302 Movido temporariamente380 Serviço alternativo
Categorias de códigos de status
Mensagens SIPMensagens SIP
4xx Erro de cliente (O pedido contém sintaxe inválida ou não pode ser efetuado neste servidor)
400 Pedido inválido401 Não autorizado402 Necessário pagamento403 Proibido404 Não encontrado405 Método não permitido406 Não aceitável407 Necessária autenticação do proxy408 Tempo para o pedido esgotado 409 Conflito410 Não mais presente411 Necessário fornecer comprimento413 Corpo da mensagem de pedido muito grande414 URI do pedido muito grande415 Tipo de mídia não suportado420 Extensão inválida480 Temporariamente não disponível481 Transação ou leg de chamado não existe482 Laço (loop) detectado483 Excesso de segmentos (hops)484 Endereço incompleto485 Ambíguo
Categorias de códigos de status
Mensagens SIPMensagens SIP
5xx Erro de servidor500 Erro interno ao servidor501 Não implementado502 Gateway inválido503 Serviço não disponível504 Tempo esgotado no gateway505 Versão SIP não suportada
6xx Falha global600 Ocupado em todos os lugares603 Declínio604 Não existe em lugar nenhum606 Não aceitável
Categorias de códigos de status
Mensagens SIPMensagens SIP
Corpo da mensagem: obrigatoriamente deve suportar SDP. Pode utilizar formato MIME (Multipurpose Internet Mail Extensions) e S/MIME para aumentar a segurança (criptografia do corpo da mensagem).
Linha de início: pedido ou resposta
Cabeçalhos
Linha em branco
Corpo da mensagem, se houver. Pode ser SDP limpo ou criptografado, MIME...
SDP Session Description
Protocol
SDP : Session Description ProtocolSDP : Session Description Protocol
O Protocolo de descrição de Sessão –
SDP - foi desenvolvido para descrever
sessões de multimídia.
Esta descrição pode ser usada para
negociar uma aceitação de um conjunto de
tipos de mídias compatíveis.
SDP : Session Description ProtocolSDP : Session Description Protocol
O SDP contém informações sobre a sessão, tais como:
• Endereço IP ou host name;
• Número da Porta (usada pelo UDP ou pelo TCP);
• Tipo de mídia (áudio, vídeo, whiteboard interativo);
• Assunto da sessão;
• Tempo de inicio;
• Informações de contato.
Assim como o SIP, SDP usa codificação textual. Uma
mensagem SDP é composta de uma série de linhas,
chamadas campos, cujos nomes são abreviados por
uma única letra.
SDP : Session Description ProtocolSDP : Session Description Protocol
Lista dos principais campos SDP, em sua ordem requerida.
Campo Nome obrigatório/opcional
v= Número da versão do protocolo obrigatório
o= Identificador do proprietário da sessão obrigatório
s= Nome da Sessão obrigatório
i= Informação da sessão opcional
u= Uniform Resource Identifer opcional
e= Endereço de e-mail opcional
p= Número de telefone opcional
c= Informações de conexão obrigatório
b= Informação sobre largura de banda opcional
t= Tempo – início e fim da sessão obrigatório
r= Número de repetições opcional
z= Correções de zonas de horário opcional
k= Chave de criptografia opcional
m= Informações de mídia opcional
a= Atributos da mídia opcional
SDP : Session Description ProtocolSDP : Session Description Protocol
Informações de capacidade de Mídia (m=)
O campo opcional m= contém informações sobre os tipos de mídias:
m=mídia porta transporte lista-de-formatos
Sendo:
mídia: audio, video, application, data, telephone ou control;
porta: número da porta;
transporte: protocolo de transporte – RTP/AVP ou UDP;
lista-de-formatos: contém os tipos de payload definido nos perfis RTP de aúdio e vídeo;
Exemplo:
m=audio 49170 RTP/AVP 0
SDP : Session Description ProtocolSDP : Session Description Protocol
• Payloads RTP de 0 a 95 são estáticos, designados pela IANA (Internet Assigned Numbers Authority). Ex:
m=audio 49170 RTP/AVP 0
• Payloads de 96 a 127 são dinâmicos, negociados pelo protocolo de controle de conferência. Ex:
m=audio 49170 RTP/AVP 98
a=rtmap:98 L16/16000/2
Tipo de payload
Codec
0 Áudio PCM, µ law
8 PCM, a law
9 G.722
4 G.723
15 G.728
18 G.729
34 Vídeo H.263
31 H.261
Informações de capacidade de Mídia (m=)
(Áudio estéreo com codificação de linear de 16 bits amostrado a 16 kHz)
SDP : Session Description ProtocolSDP : Session Description Protocol
Exemplo SDP
v=0
o=johnston 2890844526 2890844526 IN IP4 43.32.1.5
s=SIP Tutorial
i=This broadcast will cover this new IETF protocol
u=http://www.digitalari.com/sip
e=Alan Johnston [email protected]
p=+1-314-555-3333 (Daytime Only)
c=IN IP4 225.45.3.56/236
b=CT:144
t=0 0
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000
m=video 23422 RTP/AVP 31
a=rtpmap:31 H261/90000
Mensagens SIPMensagens SIP
Linha de início: pedido ou resposta
Cabeçalhos
Linha em branco
Corpo da mensagem, se houver. Pode ser SDP limpo ou criptografado, MIME...
SIP Operação
do Protocolo
Operação do ProtocoloOperação do Protocolo
Negociação da sessão• Destino recebe INVITE com SDP
especificando o formato de mídia / codec desejado;
• Pedido pode ser aceito ou rejeitado;
• Resposta lista os tipos de mídia disponíveis. Se aceito, possui o mesmo tipo (payload RTP);
Operação do ProtocoloOperação do Protocolo
Localização de usuário
• Requisições podem passar por vários
servidores proxy;
• Cada servidor chega se é responsável pelo
domínio requisitado, caso contrario repassa
para o servidor SIP do domínio
correspondente;
• Servidores SIP são registrados no DNS através
de registros SRV (DNS location of services ) ou
NAPTR (Naming Authority Pointer).
Operação do ProtocoloOperação do Protocolo
Localização de Usuários
SIP Statefull Proxy 1
Invite SIP Redirect Server
InviteMoved TemporarilyACK
SIP Stateless Proxy
Invite
SIP Statefull Proxy 2Invite
Invite 200 OK
200 OK
200 OK
200 OKACK
ACK
ACK
Caminho da
Sinalização
Mídia (RTP)
Operação do ProtocoloOperação do Protocolo
H.323
1. Codificação binária ASN.1, tamanho da PDU menor
2. Uso de e-mail, mas presumindo que o protocolo é H.323;
3. Não faz priorização de chamada;
4. Sub-Protocolos: H.245, H225 (Q.931, RAS, RTP/RTCP), H.450.x.
5. Recursos poderosos para controle de conferência;
6. Servidor único Gatekeeper H.323
SIP x H.323SIP x H.323
SIP
1. Codificação em modo texto, fácil de depurar;
2. Uso de url como identificador de protocolo / possibilidade de redirecionamento;
3. Priorização de chamadas;
4. Protocolo SDP descreve os tipos de mídia;
5. Multicast possível na sinalização;
6. Servidores com diferentes comportamentos: registro, proxy, redirecionamento;
7. Protocolo de sinalização presença e mensagens instantâneas
SIP x H.323SIP x H.323
• Ambos usam RTP/RTCP sobre UDP/IP;
• Velocidade de Conexão SIP inspirou
mudanças na Conexão H.323 (uso de Fast
Connect) e possibilidade de sinalização sobre
UDP;
• SIP tem suporte para DNS e url desde o
início, enquanto H.323 começou sem nenhum
suporte;
• Enquanto o H.323 tem o conceito de MCU
desde o início, SIP inicialmente não tinha
definido mecanismos de conferência;
• Utilização de gateways SIP-H.323.