SIP
Criada por: Frederico Madeira, última modificação em: Wed 02 of Apr, 2008 (14:12 UTC)
Introdução
SIP (Session Intitation Protocol - Protocolo de Inicialização de Sessão), é um protocolo do IETF utilizado para VoIP e outras sessões de texto e multemida como instant messaging, vÃdeo, jogos online e outros serviços.
É definido na RFC 3261 do IETF (Internet Engineering Task Force, instituição responsável por definir os padrões de protocolos usados na Internet)
Esse é atualmente o protocolo de sessão mais utilizado dentro da tecnologia VoIP. Ele é o responsável por estabelecer, modificar e terminar uma chamada VoIP entre dois usuários.
Sua arquitetura é baseada no modelo de cliente-servidor onde os clientes iniciam uma chamada e o servidor responde às chamadas.
O SIP é um protocolo baseado em texto e se assemelha com o HTTP. As mensagens SIP são compostas de requisições e respostas especificas, as quais serão detalhas adiante.
Na figura 6 é exibida o estabelecimento de uma chamada SIP. Nas sessões seguintes serão explicados os elementos, requisições e códigos de resposta apresentados na figura abaixo.
IMAGEM
SIP URIs
Uniform Resource Indicator(uri) é definido na RFC 3261 como sendo a forma com que os usuários são identificados nas mensagens SIP. É uma forma de endereçamento do protocolo SIP.
Ex: sip:fred@provedor.com.br
sip:558133332222@provedor.com.br
As SIP URI estão presentes em alguns campos do cabeçalho SIP, entre eles o campo To, From, Contact e Request-URI que indica o destino. É bastante similar ao mailto usado como hyperlink em páginas de internet.
Sua formação pode ser composta de várias opções, como por exemplo o método, o usuário, o número do telefone ou ainda o protocolo que transporte.
Elementos da Arquitetura SIP
Existem cinco elementos centrais na arquitetura SIP. Algumas das definições de um ou mais elementos, se consolidam em um ou mais.
User agents (UA): qualquer aplicação cliente ou dispositivo que inicia uma conexão SIP. Composto de UAC (user agent client) e de um UAS (user agent serever). O UAC é quem gera as requisições e o UAS é quem as responde.
Proxy Server: atua como intermédio entre os user agents interpretando e se for o caso reescrevendo as mensagens antes de enviá-las. Ao receber um Invite consulta o Registrar Server para saber a localização e status do UA convidado pelo Invite. Possui as funcionalidades de autorização, autenticação, controle de acesso à rede e roteamento de chamadas.
Registrar Server: responsável por manter atualizadas as informações sobre os UA's. Normalmente, está localizado no mesmo servidor que o Proxy Server. Realiza a autenticação dos UA's.
Redirect Server: redireciona as mensagens para um outro servidor que contenha informações sobre o destino,
Location Server: é usado pelo redirect server ou pelo proxy server para identificar as possÃveis localizações dos destinos chamados. Essa função normalmente é feita pelo Registrar Server.
Requisições SIP
Na Tabela abaixo, estão listadas as principais requisições SIP. São geradas do cliente para o servidor.| Método | Funcionalidades | |
| INVITE | Mensagem usada para iniciar uma chamada | |
| ACK | Mensagem de Confirmação Final | |
| BYE | Libera uma chamada | |
| CANCEL | Cancela uma requisição pendente. Não possui efeito em uma chamada já estabelecida | |
| OPTIONS | Consulta as funcionalidades suportadas | |
| REGISTER | Mensagem usada para registrar um usuário em um servidor sip | |
Na tabela abaixo , vê-se um exemplo de requisição SIP.
Destacamos a uri sip:55551234@audiocodes.com e o tipo da requisição INVITE realizada.
INVITE sip:55551234@audiocodes.com SIP/2.0
Via: SIP/2.0/UDP audiocodes.com:5060
From: Ronen <sip:44441234@audiocodes.com>
To: Trainee <sip:55551234@audiocodes.com.>
Call-ID: 123456789@audiocodes.com
CSeq: 1 INVITE
Subject: SIP Training
Contact: Ronen <sip:44441234@training.org>;
Content-Type: application/sdp
Content-Length: 147
Respostas SIP
Na Tabela abaixo, estão listadas as principais respostas SIP. São geradas do servidor para o cliente.| Códigos | Respostas | Principais Mensagems |
| 1xx | Informativas | 100 Trying 180 Ringing 181 Call forwarded 182 Queued 183 Session Progress (Early Media) |
| 2xx | Sucesso | 200 OK 202 Accepted |
| 3xx | Redirecionamento | 300 Multiple Choices 301 Moved Perm 302 Moved Temp 380 Alternative Serv |
| 4xx | Falhas de requisições | 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Bad Method 415 Unsupp Content 420 Bad Extensions 486 Busy Here |
| 5xx | Falhas no Servidor | 504 Timeout 503 Unavailable 501 Not Implemented 500 Server Error |
| 6xx | Falhas Globais | 600 Busy Everywhere 603 Decline 604 Doesn’t Exist 606 Not Acceptable |
No quadro abaixo vê-se a resposta SIP a solicitação apresentada na tabela 2.
SIP/2.0 200 OK
Via: SIP/2.0/UDP audiocodes.com:5060
From: Ronen <sip:44441234@training.org>;tag=76341
To: trainee <sip:55551234@audiocodes.com>
Call-ID: 123456789@audiocodes.com
CSeq: 1 INVITE
Subject: SIP Training
Contact: Ronen <sip:44441234@training.org>;
Content-Type: application/sdp
Content-Length: 134


Comentários