Configurando o modem do meu provedor para que eu ligue através do meu telefone fixo quando não estiver em casa, usando o servidor SIP interno

2

Meu ISP oferece aos usuários do VDSL a capacidade de usar qualquer smartphone como telefone residencial sem fio, usando um aplicativo oficial.

Eles não fornecem documentação ou código-fonte, mas alguém conseguiu desobstruir o aplicativo e descobriu que ele funciona graças a um servidor SIP que é executado no modem / roteador que o ISP empresta a seus clientes. Não há como configurá-lo, ele está completamente oculto para o usuário médio.

Esse cara também encontrou a forma como o aplicativo obtém as credenciais necessárias para o login, permitindo que qualquer dispositivo com um cliente SIP instalado conecte-se ao roteador e receba e faça chamadas na linha terrestre.

O endereço que o aplicativo usa para o login é uma string ( modemtelecom.homenet.telecomitalia.it ) que é resolvida para o endereço da LAN do roteador (por padrão, 192.168.1.1 ). Se eu tentar entrar no [email protected] , tudo funciona bem; De qualquer forma, se eu tentar fazer login no servidor, usando como endereço de host meu endereço IP externo, ele falhará.

Eu tentei definir o roteador para encaminhar o tráfego de entrada da WAN na porta SIP para o seu próprio endereço, mas ele se recusa a fazê-lo (não sei se isso pode ser uma restrição do ISP ou algo assim) não pode fazer).

Você acha que pode haver uma maneira de enganar meu roteador para que eu faça login no servidor SIP enquanto estou fora da minha LAN doméstica?

Como MariusMatutiae me sugeriu, eu configurei um servidor OpenVPN em um PC conectado à minha LAN; Eu então comecei a mascarar o tráfego do OpenVPN, e conectei com sucesso meu smartphone Android à VPN e ao servidor SIP dentro da minha LAN. Até agora parece que só posso enviar áudio, sem poder receber nada.

De qualquer forma, parece o caminho certo: para tentar obter ajuda com os problemas que encontrei, fiz outra pergunta aqui .

    
por Lorenzo 19.12.2016 / 12:09

1 resposta

2

If I try to login to [email protected] it works fine; anyway, if I attempt to log in to the server, using as host address my external IP address, it fails.

Claro que falha: se não, eu (e muitas, muitas outras pessoas ;-)) estaria fazendo chamadas através do seu servidor SIP, às suas custas.

A maneira de fazê-lo funcionar é garantir que seu telefone, fora de sua casa, tenha um endereço IP dentro de sua LAN. Isso pode ser feito se você configurar um servidor OpenVPN roteado em uma caixa Linux em casa (pode ser feito com um Raspberry pi 3, um pequeno computador que custa pouco mais de 40 euros).

Existe um aplicativo OpenVPN para Android e iOS (e talvez algum outro sistema operacional, mas não tenho certeza, você terá que verificar), que permite que os telefones usem roteados OpenVPNs ( não bridged OpenVPNs, cuidado). O único ingrediente que falta é o uso de uma regra MASQUERADE na caixa Linux,

sudo iptables -t nat -A POSTROUTING -o eth0 ! -d 10.0.0.0/24 -j MASQUERADE 

(se você estiver usando a sub-rede 10.0.0.0/24 para seus clientes OpenVPN, caso contrário, mude de acordo). Neste ponto, todo o tráfego do seu telefone direcionado para a sua LAN, incluindo o servidor SIP, aparecerá como vindo da caixa Linux, que tem um endereço IP na sua LAN, e assim o seu telefone ser capaz de acessar seu servidor SIP.

Esse irá funcionar, mas possivelmente de uma maneira ideal. Se a qualidade do som não for a ideal, se houver conexões intermitentes ou intermitentes, você terá que aprender a priorizar o tráfego VoIP na sua LAN. Mas desde que isto já é configurado através do seu modem ISP, a minha aposta é que funcionará fora da caixa.

É um pouco complexo, mas muito divertido. Todos os passos estão bem documentados em um site, basta usar o seu Google.

EDITAR

Sua tabela de roteamento deve ficar assim:

default via 192.168.1.254 dev eth0
10.8.73.128/26 via 10.8.73.130 dev tun0 
10.8.73.130 dev tun0  proto kernel  scope link  src 10.8.73.129 
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.128 
192.168.73.0/24 dev brlan  proto kernel  scope link  src 192.168.73.1 

Meu roteador Debian tem duas interfaces, eth0 é a WAN e brlan é a LAN. 192.168.73.0/24 é a LAN, 192.168.1.0/254 na conexão do lado da WAN para o meu modem, 10.8.73.128/26 é a rede OpenVPN, e o que você está perdendo é a declaração importante

10.8.73.130 dev tun0  proto kernel  scope link  src 10.8.73.129 

que define o túnel.

    
por 19.12.2016 / 12:49