Por favor, leia atentamente toda a questão e não se apresse em chegar a uma conclusão.
=== Teste o ambiente para chamadas ponto-a-ponto, sem asterisco ===
- City1: Um roteador com NAT e WiFi e porta 5060 UDP encaminhada para uma máquina com MicroSIP. O roteador tem um endereço IP externo estático.
- City1: telefone Android 1 com CSipSimple 1.02.03 e conta "Local" configurada
- City1: MicroSIP 3.10.1 sem conta configurada
- City2: telefone Android 2 com CSipSimple 1.02.03 e conta "Local" configurada, em outra cidade, atrás de seu próprio NAT
Resultado do teste:
- chamadas e mensagens de texto estão funcionando entre o Android1 e o MicroSIP, independentemente da conexão (WiFi do roteador ou 3G da operadora de celular) usada.
- as chamadas entre o Android2 e o MicroSIP estão funcionando.
=== Teste o ambiente para chamadas através do Asterisk ===
- City1: O mesmo roteador com porta 5060 UDP encaminhada para a máquina Asterisk
- City1: Asterisk NOW 11.9.0, atrás do roteador, com as extensões "101", "102" e "103" configuradas
- City1: MicroSIP 3.10.1 ligado à extensão "103"
- City1: telefone Android 1 com CSipSimple 1.02.03 vinculado a extensão "101"
- City2: telefone Android 1 com CSipSimple 1.02.03 vinculado à extensão "102", em outra cidade, atrás de seu próprio NAT
Resultado do teste:
- As mensagens de texto não estão funcionando de forma alguma.
- As chamadas de 101 a 103 estão funcionando, independentemente da conexão (WiFi ou 3G) usada.
- As chamadas de 102 para qualquer outro ramal estão funcionando apenas parcialmente: 101 ou 103 podem ouvir voz de 102, mas 102 não conseguem ouvir nenhuma voz, mesmo que liguem para uma extensão "100" (plataforma de voz do Asterisk).
Este último item da lista é o tópico da pergunta principal. Seria um problema NAT, o ambiente P2P também não deveria funcionar, mas funciona. Portanto, definitivamente há algum problema na configuração do Asterisk.
(Ou o MicroSIP usa algum STUN padrão e, portanto, tudo funciona?)