Conectando a um terminal PSTN de discagem analógica sem uma linha PSTN

7

há um computador ("servidor") que tem sem conexão com a Internet e está localizado em um local com sem sinal de GSM . A única maneira de obter conexão é um modem analógico (US Robotics 56Kbit / s). Esse modem é conectado a uma linha PSTN nacional com um número geográfico e o servidor (executando uma distribuição Linux moderna) é configurado para oferecer um terminal serial de discagem. Para esclarecer, quando você telefonar para esta linha PSTN, os handshakes do modem (eu acho que é o protocolo V90), então você é apresentado com o login e então você está no ttyS0. Não há pilha de protocolos IP / PPP, apenas o terminal serial.

Eu gostaria de me conectar a este servidor de qualquer forma que não exija que eu transporte um modem analógico físico e (o que é pior) encontrar em torno de uma linha PSTN física que é realmente um recurso escasso pelo menos no contexto de negócios aqui Itália. Para esclarecer: a linha PSTN no lado do servidor é o único caminho, mas eu gostaria de poder me conectar a ela sem uma linha física PSTN no lado do cliente.

Algumas ideias surgiram na minha mente, mas não sei se podem ser realmente implementadas ou não:

  • Ter um celular conectado por meio de bluetooth / USB. Os telefones antigos exportavam um ttyUSB que manipulava os comandos AT, mas não havia maneira (AFAICT) de obter o fluxo de áudio. Não sei se é tecnicamente possível criar um aplicativo para Android que faça uma chamada telefônica e codifique o áudio em um fluxo UDP semicruto.

  • Encaminhando a chamada por VOIP. Pesquisando, algumas pessoas parecem ter tido sucesso misturado ao fazer chamadas de modem analógicas através de uma terminação VOIP com o g711 (uLaw / aLaw). Parece que é possível obter pelo menos 9600bps, o que é suficiente para mim.

  • Mesmo que uma das opções acima seja possível, existe algum software disponível que emule o protocolo V90 / handshake / o que quer que seja e decodifique o áudio em bytes?

  • Existe algum serviço online que ofereça uma bateria de modems analógicos para os assinantes? Não parece um negócio em que eu investisse pessoalmente, mas você nunca sabe:)

  • Existe algum objeto físico que seja o equivalente moderno UMTS de um modem analógico, como uma caixa conectada através de USB onde você coloca o SIM dentro, faz toda a mágica, e dá a você um ttyUSB no seu PC?

  • Supondo que posso acessar fisicamente o servidor apenas uma vez, há algo que eu possa instalar (hardware ou software) no servidor e que facilitaria a minha vida? O único requisito é que deve passar por uma linha PSTN nacional padrão (cobre trançado duplo), não há outra maneira de obter qualquer outro sinal. O modem parecia a melhor opção, no começo, mas você nunca sabe.

Obrigado!

    
por Giovanni Bajo 03.09.2011 / 00:46

3 respostas

4

Eu suspeito que existem muitas maneiras de fazer isso. Um que vem à mente é retorno de chamada .

Você registra uma conta ISP de discagem para o modem no servidor; isso é bastante simples e não contencioso. Você precisará de um ISP que lhe aloque um endereço estático; se isso custar mais, pague.

Você configura algo como diald para ativar e desativar o link sob demanda. Em seguida, escreva um pequeno script, talvez usando a amostra , para detectar mensagens "RING" que aparecem nos arquivos de log do modem e, quando elas forem visualizadas , para gerar tráfego que o diald considera "interessante" - ou seja, o tráfego que faz com que ele atinja a linha.

Quando você deseja se conectar ao servidor pela Internet normal, ligue para a linha telefônica conectada ao servidor, de qualquer telefone fixo ou GSM. O script no servidor detecta o toque do telefone e gera tráfego interessante para o diald. Diald traz a conexão PPP, na qual o servidor está disponível no endereço IP estático conhecido.

Você, usando ferramentas comuns da Internet, conecta-se via SSH (ou qualquer outro protocolo IP ou combinação dos mesmos que lhe agrade), até que esteja pronto. Quando estiver pronto, você solta todas essas conexões e, após um curto período, o diald percebe que a linha está inativa e desliga o modem.

Enxaguar. Repita.

Possíveis melhorias : se você não puder obter um serviço ISP que faça endereços estáticos, você pode configurar o diald para que a primeira coisa que acontece depois que o link da Internet aparece é que ele é atual Endereço IP para um endereço pré-configurado, ou de alguma outra maneira, comunica-o à Internet. Dessa forma, você pode descobrir qual endereço dinâmico ele recebe cada vez que a linha aparece, para que você possa conversar com ela. Mas um endereço estático seria mais fácil.

Sugestão alternativa : considere que a maioria dos telefones GSM fará uma conexão PPP com qualquer número POTS antigo para estabelecer a sessão do terminal. Eu escrevi esta nota técnica alguns anos atrás, sobre as porcas e parafusos de obter um telefone GSM com um modem que honrou o conjunto de comandos AT (que é a maioria deles) para discar para um ISP.

É completamente legal ter o telefone GSM discar um telefone fixo padrão em vez do número mágico "trazer o GPRS", basta substituir

atd*99***1#

com

atd0039nnnnnnnn

em /etc/ppp/chat-gprs , em que nnnnnnnn é o número do telefone fixo do seu servidor. Observe que isso funcionará somente com GPRS e talvez EDGE. 3G é um protocolo totalmente diferente, acessado de maneiras diferentes, então você só terá uma conexão lenta (20kb / s ou mais) dessa maneira. Mas para uma sessão de terminal direta, isso pode ser suficiente.

    
por 03.09.2011 / 10:06
3

Há uma variedade de servidores de terminal no mercado - você faz o telnet / ssh e, na conexão, você pode interagir com uma ou mais portas seriais no servidor do console, que normalmente são conectadas através de um cabo de modem nulo. outros servidores. Se o servidor tiver uma porta serial, esse é o melhor caminho a percorrer. Você pode então usar um dispositivo de banda larga móvel para obter uma conexão e adicionar um pouco de dinâmica dinâmica de DNS ou VPN para lidar com as alterações do IP.

Módulos USB GPRS / EDGE mais antigos (ou handsets com USB) seriam apresentados como um dispositivo serial (ttyUSB ou ttyACM) no Linux; deveria ser possível trocar o inittab do servidor para ligar o getty a isso. Eu fiz isso no passado com um modem GSM externo (conectado à porta serial atual); Eu imagino que deveria funcionar com USB também.

Se o servidor tiver um modem interno, não uma porta serial e você não puder substituí-lo, as coisas ficarão mais complicadas. O VoIP pode funcionar - quanto mais próximo do PCM bruto, melhores as chances. Terminais sem fio fixos (basicamente um telefone celular, mas com uma porta FXS em vez de um alto-falante / microfone / teclado) podem funcionar também, mas provavelmente terão os mesmos problemas que o VoIP.

    
por 03.09.2011 / 02:45
0

Não tenho certeza de que entendi completamente seus requisitos. Vou digitar o que eu acho que você está perguntando e de lá:

1) Há um servidor com apenas uma linha pstn conectada a um modem analógico. 2) Você quer liberar a linha telefônica (para outros usos) e deseja continuar tendo acesso ao servidor.

Iff 1 & 2 estão corretos, então eu não vejo outra escolha senão usar alguma forma de conexão com a internet, um pendrive USB 3G deve lhe dar uma conexão que você pode tocar via ssh para fazer qualquer tarefa administrativa que você possa precisar.

Você também pode instalar algum tipo de linha xDSL, que liberará sua linha pstn para usar como um telefone normal e lhe dará acesso à Internet ao mesmo tempo.

    
por 03.09.2011 / 01:11