Resumo

  • P-Access-Network-Info e P-Charging-Vector podem aparecer no ACK provocado por uma resposta 2xx, mas não no ACK ligado a uma resposta não 2xx.
  • Estar no lugar permitido não comprova quem inseriu o valor, se ele estava atualizado, se o bearer mudou ou se o preço aplicado era devido.
  • Uma trilha auditável liga contexto SIP, custódia entre saltos, NPLI, trânsito por direção, evento de bearer, CDR, regra tarifária e contestação.

Um sistema de cobrança recebe um ACK com NPLI e um vetor de charging. A validação sintática passa, o registro é correlacionado e a linha da fatura ganha um selo verde. A automação parece razoável até surgir a pergunta que o parser não responde: qual resposta criou esse ACK, e qual evidência mostra que o evento cobrado aconteceu?

Publicado em novembro de 2025, o RFC 9878 atualiza o RFC 7315 e torna obsoleto o RFC 7976. Ele elimina contradições entre a definição de cabeçalhos privados SIP e a antiga lista de mensagens em que podiam aparecer. O ganho é concreto para interoperabilidade. A norma, porém, não transforma o envelope válido em testemunha de tudo o que está escrito dentro dele.

O ACK que vem depois de sucesso

O novo limite é específico. P-Access-Network-Info, que pode carregar Network Provided Location Information, e P-Charging-Vector, que pode carregar identificadores IMS e de operadores, são permitidos no ACK acionado por 2xx. No ACK acionado por resposta não 2xx, são proibidos.

Isso obriga o log a guardar o sobrenome do ACK. O RFC 3261 trata de modo diferente a confirmação de uma resposta final bem-sucedida e a de uma resposta de falha. Código final, Call-ID, tags, CSeq, direção e proxy que processou a transição são parte da prova. method=ACK sozinho é uma abstração que perdeu justamente a condição normativa.

No caso NPLI, uma resposta 2xx ao INVITE pode trazer uma resposta SDP e levar o proxy a iniciar modificação do bearer. O CDR do IMS precisa registrar informação de localização naquele momento; o proxy pode obtê-la e carregá-la no ACK subsequente. Antes da atualização, o uso necessário na 3GPP não cabia na leitura do RFC 7315.

Esse encadeamento explica por que o campo deve viajar. Não demonstra que a NPLI era recente, que veio de fonte autorizada, que a modificação terminou, que o CDR corresponde ao diálogo certo ou que uma determinada tarifa é contratualmente aplicável. Elemento necessário não é prova suficiente.

Uma matriz de posições, não uma presunção geral

Os demais ajustes mostram a granularidade. P-Associated-URI pertence à resposta 2xx de REGISTER. P-Called-Party-ID é permitido em uma lista de requisições que agora inclui REFER, sem autorização geral em respostas. P-Visited-Network-ID pode estar em respostas não 100, mas não em vários métodos nomeados. P-Charging-Function-Addresses continua ausente de ACK e CANCEL.

O registro de parâmetros SIP da IANA fornece nomes e referências comuns. Nem a inscrição no registro nem a posição aceita certificam uma instância observada.

Há ainda convivência de versões. O RFC 9878 avisa que implementações implantadas podem não ter sido atualizadas. Um campo ausente pode significar software antigo, política local, caso inaplicável ou falha. Um campo inesperado pode vir de interpretação anterior, bug ou entrada não confiável. A investigação precisa de versão e caminho, não de um rótulo automático.

Mutabilidade legítima pede proveniência

O RFC 7315 limita os P-Headers a domínios administrativos privados ou a domínios com relação de confiança. Um proxy com conhecimento adequado pode adicionar um valor network-provided. Ao enviar para entidade não confiável, deve retirar informação sensível; ao receber dela, não consegue garantir a validade do conteúdo.

O vetor de charging foi desenhado para ser modificado. Proxies confiáveis podem inserir, ler, alterar ou remover parâmetros. A integridade é protegida salto a salto para que cada intermediário autorizado opere. Por isso, o cabeçalho final não carrega sozinho a sua história. É preciso registrar ator, entrada, saída e proteção de cada transformação.

O transit-ioi também não é uma rota completa. Valores podem ser filtrados, apagados ou substituídos por vazio. O RFC 9878 explica que o operador de trânsito pode ser escolhido de novo para cada método e direção conforme carga, custo, proporção ou horário. O caminho do INVITE não deve ser atribuído ao ACK ou à sessão inteira.

NPLI traz uma dimensão de privacidade: pode revelar célula e tecnologia de acesso. O modelo exige domínio protegido e remoção na fronteira. Copiar mensagens integrais para um repositório analítico com acesso amplo pode conservar a auditoria de rede e, ao mesmo tempo, romper a finalidade e a confidencialidade.

A junção que uma fatura precisa

Preserve a mensagem original, horário, classe da resposta, coordenadas de diálogo e transação, direção, versão do proxy e política vigente. Para cada P-Header, registre entrada confiável, autor de inserção ou mudança, resultado da proteção do salto e hashes antes/depois. Para NPLI, acrescente fonte, idade, granularidade e uso permitido.

Só então relacione a mensagem à resposta SDP, ao evento real de criação, modificação ou liberação do bearer, ao CDR, ao rating e à linha de cobrança. ICID é material de correlação, não título de crédito. Se a junção falhar, mantenha o caso pendente para reconciliação; não deixe o cabeçalho fabricar a peça ausente.