O Protocolo de Inicialização de Sessão, mais conhecido como SIP (do inglês Session Initiation Protocol), é um protocolo usado para estabelecer, alterar e finalizar chamadas telefônicas VoIP. Ele descreve a comunicação necessária para realizar uma chamada telefônica e foi desenvolvido pela Internet Engineering Task Force (IETF).
Como o HTTP (o conjunto de regras para a transferência de arquivos – texto, imagens gráficas, som, vídeo e outros arquivos multimídia – na Web) , o SIP trabalha na camada de aplicação da Interconexão de Sistemas Abertos (OSI modelo de comunicações). A camada de aplicação é o nível responsável por garantir que a comunicação seja possível.
O SIP pode estabelecer sessões multimídia ou telefonia via Internet, promover chamadas, modificar ou as finalizar. O protocolo também pode convidar os participantes para sessões unicast ou multicast sessões não sendo necessario o envolvimento de quem iniciou a chamada. Pelo fato do SIP suportar mapeamento de nome e redirecionamento de serviços, torna-se possível para os usuários iniciar e receber comunicações e serviços a partir de qualquer local, e para redes, identificando os usuários onde quer que eles estejam.
SIP também pode ser definido como um protocolo de solicitação-resposta, para lidar com as solicitações dos clientes e respostas de servidores. Os participantes são identificados por URLs SIP . Os pedidos podem ser enviados através de qualquer protocolo de transporte, tais como UDP, SCTP, ou TCP . Ele determina o sistema final a ser utilizado para a sessão, os meios de comunicação e os parâmetros de mídia e desejo da pessoa chamada a participar na comunicação. Uma vez que estes são assegurados, o protocolo estabelece parâmetros de chamada em ambas as extremidades da comunicação, e trata de transferência de chamadas e terminação.
Em outras palavras, o SIP faz uso de elementos chamados servidores proxy para ajudar a encaminhar pedidos para a localização atual do usuário, autenticar e autorizar os usuários para os serviços, implementação de políticas de roteamento de chamadas do provedor, e fornecer recursos para os usuários. SIP também fornece uma função de registo que permite aos usuários fazer upload de seus locais atuais para uso dos servidores proxy. SIP roda em cima de vários protocolos de transporte diferentes.
Veja um resumo dos recursos que o SIP fornece:
Determinar a localização do usuário chamado. O protocolo suporta resolução de endereço, o mapeamento de nome, e redirecionar as chamadas.
Determinar os recursos de mídia do usuário chamado via Session Description Protocol (SDP). O SIP determina o “nível mais baixo” de serviços comuns entre os pontos finais. Conferências são estabelecidas utilizando apenas os recursos de mídia que podem ser suportadas por todos os pontos finais.
Determinar a disponibilidade do alvo final de ponto. Se a chamada não pode ser concluída porque o ponto final de destino não está disponível, SIP determina se a pessoa chamada já está ao telefone ou não respondeu dentro do número alocado de anéis. Em seguida, retorna uma mensagem indicando porque o ponto final de destino não estava disponível.
Estabelecer uma sessão entre o fim originário e o alvo. Se a chamada pode ser completada, SIP estabelece uma sessão entre os pontos finais. O protocolo também suporta mudanças no meio da chamada, como a adição de mais um ponto final para a conferência ou a mudança de uma característica de mídia ou codec.
- Lidar com a transferência e terminação de chamadas em SIP. O protocolo suporta a transferência de chamadas de um ponto para outro. Durante uma transferência de chamada, SIP simplesmente estabelece uma sessão entre o cessionário e um novo ponto final (especificado pelo cedente) e termina a sessão entre o quem chamou e quem recebeu a chamada.