O que é SIP?

Posted: dezembro 30, 2017 by Bruno Cardoso

Servidor Voiicr

O que é SIP – Session Initiation Protocol?

SIP e uma sigla em inglês que siginifica Session Initiation Protocol [Protocolo de Inicialização de Sessão]. O SIP é um protocolo de sinalização de telefonia IP usado para estabelecer, modificar e finalizar chamadas na internet usando a tecnologia VoIP [Voice over Internet Protocol]. O SIP foi desenvolvido pela IETF e publicado como RFC 3261.
O SIP descreve a comunicação necessária para estabelecer uma ligação telefónica. Os detalhes são, então, descritos no protocolo SDP.
O SIP tomou a VoIP de uma forma impressionante. O protocolo se assemelha ao HTTP, é baseado em texto, e é bastante aberto e flexível. Portanto, substituiu amplamente o padrão H323.

O que são Métodos SIP / Requerimentos e Respostas?

O SIP utiliza Métodos para Requerimentos e Respostas correspondentes para estabelecer uma sessão de chamada.
Requisitos do SIP:
Há seis requerimentos ou tipos de básicos de métodos SIP:

  • INVITE [Convidar] = Estabelece uma Sessão
  • ACK [Confirmar] = Confirma o comando convidar
  • BYE [Tchau] = Finaliza uma sessão
  • CANCEL [Cancelar] = Cancela a sessão ainda não respondida
  • REGISTER [Registro] = Informa a localização do utilizador (nome do usuário, IP)
  • OPTIONS ([Opções] = Informa a capacidade e disponibilidade dos telefones de chamada e recebimento SIP

Respostas SIP:
Os requerimentos do SIP acionam respostas que constam das 6 classes a seguir:

  • 1xx = respostas de informações, tais como 180, que significa chamando
  • 2xx = respostas de confirmação
  • 3xx = respostas de redirecionamento
  • 4xx = comandos não realizados
  • 5xx = erros do servidor
  • 6xx = erros globais

A semelhança com os códigos HTTP tornam o SIP um protocolo simples e fácil de se aplicar.

Todas as respostas SIP conhecidas:

1xx = respostas de informações

  • 100 Tentando
  • 180 Chamando
  • 181 Chamada sendo encaminhada
  • 182 Fila de espera
  • 183 Progresso da Sessão

2xx = respostas de confirmação

  • 200 OK
  • 202 aceito: Usado para referências

3xx = respostas de redirecionamento

  • 300 Múltipla escolha
  • 301 Movido Permanentemente
  • 302 Movido Temporariamente
  • 305 Use Proxy
  • 380 Serviço Alternativo

4xx = comandos não realizados

  • 400 Requerimento errado
  • 401 Não autorizado: Restrito aos utilizadores registrados. Proxys devem usar proxy autorização 407
  • 402 Necessita Pagamento (Reservado para uso futuro)
  • 403 Proibido
  • 404 Não Encontrado: Utilizador não encontrado
  • 405 Método Não Permitido
  • 406 Não é permitido
  • 407 Necessária Autenticação de Proxy
  • 408 Timeout Pedido: Não foi possível localizar o usuário a tempo
  • 410 Saiu: O utilizador existia, mas não está mais disponível.
  • 413 Pedido de Dados Muito Longo
  • 414 Pedido-URI Muito Longo
  • 415 Tipo de Mídia não Compatível
  • 416 Esquema URI não Compatível
  • 420 Extensão ruim: Erro na extensão utilizada do Protocolo SIP, não compreendida pelo servidor
  • 421 Extensão necessária
  • 423 Intervalo Muito Breve
  • 480 Temporariamente Não Disponível
  • 481 Chamada/Transação Não Existente
  • 482 Loop Detectado
  • 483 Hops Demais
  • 484 Endereço Incompleto
  • 485 Ambíguo
  • 486 Ocupado Aqui
  • 487 Pedido Concluído
  • 488 Não Aceito Aqui
  • 491 Pedido Pendente
  • 493 Indecifrável: Não foi possível decodificar S/MIME

5xx = erros do servidor

  • 500 Erro Interno do Servidor
  • 501 Não Implementado: O método de pedido SIP não está sendo implementado aqui
  • 502 Gateway Ruim
  • 503 Serviço Não Disponível
  • 504 Servidor em Time-out
  • 505 Versão Não Compatível: O servidor não é compatível com essa versão do protocolo SIP
  • 513 Mensagem Muito Longa

6xx = erros globais

  • 600 Ocupado em Todo Lugar
  • 603 Rejeitar
  • 604 Não Existe em Nenhum Lugar
  • 606 Não aceito

Por exemplo, uma sessão de chamada SIP entre 2 telefones ocorre da seguinte forma:

  • O telefone que realiza a chamada envia um convite
  • O telefone que recebe a chamada envia de volta uma resposta de informação 100 – Tentando.
  • Quando o telefone que recebe a chamada começa a tocar, a resposta 180 – Chamando – é enviada de volta
  • Quando quem chama atende, o telefone chamado envia uma resposta 200 – Ok
  • O telefone que realiza a chamada responde com ACK – confirmação do convite
  • A conversação é transmitida como dados via RTP
  • Quando quem chama desliga, a requisição BYE (tchau) é enviada ao telefone chamado
  • O telefone chamado responde com uma resposta 200 – Ok.

A simplicidade de uma sessão de chamada SIP proporciona facilidade de entender a lógica do SIP.

É simples assim! O protocolo SIP é lógico e fácil de entender.

O que é um SIP URI?

O SIP URI é o tipo de endereço SIP que permite que uma pessoa ligue para outra através do SIP. Em outras palavras, SIP URI é o um identificador [ID] SIP de um utilizador, podendo ser um número de telefone, e-mail ou ainda nome de usuário.

O SIP URI se assemelha a um endereço de e-mail e é escrito da seguinte forma:

  • SIP URI = sip:brunocardoso@sip.voiicr.com
  • Onde brunocardoso = Nome do usuário e sip.voiicr.com =host (domínio ou IP)
  • Exemplo de uma chamada SIP [Usuário] para outro SIP [Número Fixo Virtual]:
  • sip:brunocardoso@sip.voiicr.com:5060
  • sip:551123912600@sip.voiicr.com

O padrão SIP URI foi definido pelo padrão RFC 3261.

Ficou com dúvidas? Comente, estamos aqui para ajudá-lo a esclarecê-las. 🙂