[AsteriskBrasil] Problema com Clientes Externos

Rodrigo Cabrini rodrigocabrini em gmail.com
Quarta Março 22 08:20:56 BRT 2006


Bom dia!!

Pessoal sou novo na lista, mas novo de cadastro e visita ja fiz varias
para consulta inclusive gostaria de agradecer a todos pelas inumeras
duvidas que foram resolvidas! Bem estou eu com a minha primeira dúvida
sobre o asterisk, e na verdade já teve algumas pessoas faltando a
respeito, mas uma solução para o problema não funcionou nenhuma, bem
ai vai espero que alguem posso auxiliar:

---Ambiente!

1 ) Tenho uma máquina A que é publica na Internet com IP 200.x.x.x e
outra máquina B que é a que rodo o servidor ASTERISK com ip da rede
interna 192.x.x.x ;
2 ) Tenho softphones instalados na rede local 192.x.x.x, funcionam
perfeitamente entre eles;

---Problema:

3) Quando instalo um softphone em um cliente externo que é o que vou
precisar fazer, da o problema, pois o cliente loga no asterisk,
consegue discar para qualquer pessoa da rede 192.x.x.x e qualquer
pessoa da rede interna consegue discar para esse cliente externo sem
problema, mas apenas o cliente externo ouve, as pessoas da rede
interna não houvem nada que é falado por esse cliente externo.
CLIENTE EXTERNO  1 ) DISCA PARA TODOS DA REDE INTERNA
                               2 ) RECEBE LIGAÇÕES DE QUALQUER PESSOA
DA REDE INTERNA
                               3 ) OUVE PERFEITAMENTE O QUE TODOS
FALAM DA REDE INTERNA
                               4 ) DISCA PARA TODOS DA REDE EXTERNA
                               5 ) NÃO OUVE O QUE OUTROS DA REDE
EXTERNA FALAM E NAO É OUVIDO POR NINGUEM DA REDE INTERNA

CLIENTE INTERNO  1 ) DISCAR PARA TODOS DA REDE INTERNA
                               2 ) RECEBE LIGAÇÕES DE QUALQUER PESSOA
DA REDE INTERNA
                               3 ) OUVE PERFEITAMENTE O TODOS FALAM DA
REDE INTERNA
                               4 ) NAO OUVE NADA O QUE CLIENTES DA
REDE EXTERNA FALAM MAS É OUVIDO POR ELES

4 ) Quando tenho dois clientes externos os dois discam entre si e
falam com todos na rede, mas acontece o mesmo problema colocado acima,
somente o externo ouve os cliente internos, e quando um externo liga
para outro externo eles não se falam!!


---Configuracao ASTERISK (EXEMPLO)

### Para todos os casos estão configurados nesse formato !!!
[505]
username=505
type=friend
secret=1234
record_out=Adhoc
record_in=Adhoc
qualify=yes
port=5060
externalip=200.x.x.x
localnet=192.x.x.0/255.255.0.0
bindaddr= 0.0.0.0
trustrpid=yes
nat=yes
mailbox=505 em device
host=dynamic
dtmfmode=rfc2833
disallow=all
context=default
axexpirey=120
defaultexpirey=80
canreinvite=no
callerid=device <505>
allow=gsm
allow=ulaw
allow=ilbc

--- Firewall da máquina que esta com IP da Internet

/sbin/iptables -A INPUT -p udp -m udp --dport 5060                    
                  -j ACCEPT
/sbin/iptables -A FORWARD -p udp --dport 5060:5062                    
             -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 192.168.102.252  --sport 8000:8009
   -j ACCEPT
/sbin/iptables -A FORWARD -p udp -d 192.168.102.252  --dport
50000:50100 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -d 192.168.102.252  --dport 8000:8012
   -j ACCEPT
/sbin/iptables -A FORWARD -p udp  --dport 10000:20000                 
           -j ACCEPT


#============= direciona o acesso ao ASTERISK para o IP da maquina
esoecificada====================================

/sbin/iptables -t nat -A PREROUTING -p udp -i eth0 --dport 5060:5080  
    -j DNAT --to $IP_ASTERISK
/sbin/iptables -t nat -A PREROUTING -p udp -i eth0 --dport 10000:20000
  -j DNAT --to $IP_ASTERISK
/sbin/iptables -t nat -A PREROUTING -p udp -i eth0 --dport 8000:8012  
    -j DNAT --to $IP_ASTERISK
/sbin/iptables -t nat -A PREROUTING -p udp -i eth0 --dport 16384:16482
  -j DNAT --to $IP_ASTERISK
/sbin/iptables -t nat -A PREROUTING -p udp -i eth0 --dport 3478       
       -j DNAT --to $IP_ASTERISK
/sbin/iptables -t nat -A PREROUTING -p udp -i eth0 --dport 4569       
       -j DNAT --to $IP_ASTERISK
/sbin/iptables -t nat -A PREROUTING -p udp -i eth0 --dport 123        
        -j DNAT --to $IP_ASTERISK
/sbin/iptables -t nat -A PREROUTING -p udp -i eth0 --dport 1024:9999  
    -j DNAT --to $IP_ASTERISK


Mais detalhes sobre a lista de discussão AsteriskBrasil