Transações e diálogos no SIP
É importante entender a diferença entre uma transação e um diálogo. Uma transação ocorre entre um UAC e um UAS e compreende todas as mensagens do primeiro pedido até a resposta final. As respostas podem ser provisórias iniciando com "1" seguido por dois dígitos (ex: 180 Ringing) ou final, iniciando com "2"seguido por dois dígitos (ex: 200 Ok).
O escopo de uma transação é definido pela pilha de cabeçalhos VIA das mensagens SIP. De forma que UAs, após o convite inicial não necessitam se valer do DNS ou das tabelas de localização para encaminhar as mensagens.
Um diálogo normalmente se inicia com uma transação do tipo INVITE e termina com uma transação do tipo BYE. Um diálogo pode ser identificado pelo cabeçalho CALL-ID. A combinação Call-ID, junto com TO tag e FROM tag define um diálogo.
De acordo com a RFC3665, existem 11 fluxos de estabelecimento de sessão. A lista não é exatamente complete, mas cobre as melhores práticas nesta questão. Os primeiros dois tipos de estabelecimento de sessão foram cobertos neste capítulo. "Estabelecimento de sessão com sucesso" e "Estabelecimento de sessão com sucesso atreves de dois proxies". Alguns destes fluxos serão vistos mais a frente, tais como "Nào atendido" e "Ocupado".
SIPPulse Routing and Billing Solutions for SIP