2.2.3 Comunicação
Primitivas
O protocolo SIP utiliza o modelo cliente-servidor para comunicação entre as entidades envolvidas no protocolo. Na sua versão 2 (RFC 3261), possui seis primitivas de comunicação:
Invite
Esta primitiva solicita o início de uma sessão. Nessa mensagem, podem-se determinar, através do protocolo de descrição da sessão (SDP, do inglês), os parâmetros da sessão. Caso esta primitiva seja enviada depois da sessão iniciada, ela é utilizada para alterar os parâmetros da sessão e é conhecida como Re-Invite.
Ack
A primitiva Ack é a confirmação de uma mensagem de Invite. O Ack deve conter a configuração dos parâmetros da sessão, caso o Invite correspondente não possua.
Cancel
É usada para cancelar todas as primitivas já enviadas que carecem de resposta.
Options
A primitiva Options requisita ao receptor uma listagem com as suas capacidades, tais como primitivas, codecs e extensões suportadas, e a sua disponibilidade.
Register
Essa primitiva é utilizada por um cliente que deseja registrar um apelido (alaias) de seu endereço em um servidor SIP.
Bye
Primitiva utilizada para terminar a sessão.
Existem ainda algumas primitivas descritas nas RFCs 2976, 3428, 3265, 3262, 3903, 3515 e 3311 (2).
Classes de Respostas
O protocolo SIP possui seis classes de respostas às requisições de um Agente de Usuário Cliente. Essas respostas são dadas pelos Agentes de Usuário Servidores ou por Servidores SIP. As classes de respostas seguem o padrão do HTTP para cinco classes e foi criada uma classe adicional de resposta para requisições específicas do SIP:
1 - Classe Informacional
As mensagens recebidas que pertencem a esta classe indicam o progresso das chamadas SIP.  A primeira mensagem recebida pelo agente de usuário cliente (UAC) confirma o recebimento do Invite e indica que o UAC deve parar de mandar Invites.
2 - Classe Sucesso
As mensagens de resposta enviadas com estes códigos indicam aceitação a uma requisição. No caso da primitiva Invite, deve ser enviada uma mensagem Ack.
3 - Classe Redirecionamento
Esta mensagem é enviada por um servidor de redirecionamento, quando o usuário não se encontra na localização procurada e necessita a indicação da nova localização. Nesse caso, dependendo da arquitetura utilizada na rede SIP, podem ocorrer dois processos que tornam a comunicação transparente para o usuário: O UAC envia uma mensagem de Invite automaticamente para a nova localidade ou o servidor de redirecionamento envia um Ack para o UAC e redireciona a sessão para a nova localidade do receptor.
4 - Classe Erro do Cliente
As mensagens pertencentes a esta classe indicam algum erro na solicitação do cliente, que deve refazê-la, seguindo as informações obtidas do erro ocorrido.
5 - Classe Erro do Servidor
Estas respostas avisam o cliente que a solicitação enviada não pôde ser processada naquele servidor, mas o cliente pode enviá-la para outros servidores da rede SIP.
6 - Classe Erro Global
As mensagens de erro global indicam que a requisição enviada irá falhar em qualquer servidor SIP que for enviada, não devendo o cliente reenviá-la. Para enviar este tipo de resposta, o servidor deve ter total conhecimento do destinatário da mensagem.
As mensagens de respostas são enviadas com um código de três dígitos, no qual o primeiro é o código da classe de resposta e os dois últimos são os números de ordem das respostas. Porém, se um Agente de Usuário Cliente não conhecer a mensagem pelo seu código de cliente, ele deve ser capaz de entender a resposta pela classe.