Alguns pontos gerais -
-
O asterisco faz muito mal em máquinas virtuais.
Eu não sei se eles têm orientação específica sobre isso, mas a minha experiência é mesmo em ambientes VMWare high-end, você pode entrar em todos os tipos de problemas estranhos com servidores VoIP virtualizados. Eu recomendaria strongmente a solução de problemas em hardware físico dedicado. -
SIP
(o protocolo VoIP por trás do Asterisk) HATE NAT
O SIP nunca foi projetado para trabalhar com tradução de endereços de rede.
Novamente, tente fazer com que as coisas funcionem na mesma sub-rede, sem envolvimento de NAT ou roteamento, antes de passar para tarefas mais difíceis.
Os problemas relacionados a NAT geralmente afetam mais as chamadas do que o registro, e há muitas informações sobre como lidar com isso se você google ao redor. -
Um bom sniffer de pacotes é seu amigo ao solucionar problemas de VoIP
Se você observar os dados indo e voltando, provavelmente terá uma ideia razoável de onde está o problema.
Então, basicamente - comece fazendo as coisas funcionarem dentro do seu firewall. Então, lentamente, trabalhe seu caminho para lidar com firewalls e NAT atravessados.
Em termos de tutoriais do Asterisk, estes são abundantes na rede (e o Server Fault não é realmente um recurso para "Encontre-me um tutorial" - o Google se mantém atualizado sobre essas coisas melhor do que nunca). Eu definitivamente recomendaria usar uma distribuição Asterisk pré-empacotada se você é novato em assuntos de VoIP - AsteriskNOW deve estar bem, mas eu pessoalmente uso a distribuição FreePBX em produção e tive excelentes resultados com ela (e é bom em configuração automática para NAT) questões relacionadas que me poupam algumas dores de cabeça.)