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.