Contact S@ no registro do Zeus
1 min
Criado por Wesley Costa em 03/04/2025 16:46
Atualizado por Wesley Costa em 03/04/2025 16:50

Contextualização do Problema

O Asterisk está enviando o cabeçalho Contact no formato incorreto ao estabelecer o registro SIP. Em vez de incluir o número corretamente, ele está gerando um URI no seguinte formato exemplificado abaixo. Com isso a chamada é direcionada ao PABX e ele não encontra onde entregar a chamada, comumente, retornando falha ou direcionando a um ramal/equipamento errado dentro da infra do cliente.

sip:s@168.194.165.58:5060

O comportamento esperado seria que o Contact contivesse o número correto:

sip:40404310@168.194.165.58:5060

Isso pode causar problemas na rotação e identificação da chamada pelo destino, pois o campo Contact está sendo enviado de maneira genérica e sem informação suficiente.


Solução

Esse comportamento pode ser corrigido ajustando o parâmetro contact_user na configuração do Asterisk. Dependendo do driver SIP utilizado, o ajuste deve ser feito em pjsip.conf (para PJSIP) ou sip.conf (para chan_sip).


Se estiver usando PJSIP (pjsip.conf)

Adicione ou edite o seguinte parâmetro dentro da seção correspondente ao endpoint:

[endpoint-exemplo]
type=endpoint
...
contact_user=40404310

Isso garante que o campo Contact seja gerado corretamente, resultando no formato esperado:

Contact: <sip:40404310@168.194.165.58:5060>


Se estiver usando chan_sip (sip.conf)

Adicione ou ajuste a diretiva fromuser no contexto do peer:

[peer-exemplo]
type=friend
...
fromuser=40404310

Esse parâmetro define que o Contact inclua o número correto.


Validação

Após a alteração, reinicie ou recarregue o serviço Asterisk para que as mudanças tenham efeito:

asterisk -rx 'module reload res_pjsip.so'  # Para PJSIP
asterisk -rx 'sip reload'                   # Para chan_sip


Se o Contact agora contém o número esperado, a configuração foi aplicada corretamente.

Este artigo foi útil para você?
Últimos artigos visitados