Anschließen an ein analoges Einwahl-PSTN-Terminal ohne PSTN-Leitung

7

Es gibt einen Computer ("Server") ohne Internetverbindung , der sich an einem Ort ohne GSM-Signal befindet . Die einzige Möglichkeit, eine Verbindung herzustellen, ist ein analoges Modem (US Robotics 56Kbit / s). Dieses Modem ist mit einer geografischen Nummer an eine nationale PSTN-Leitung angeschlossen, und der Server (auf dem eine moderne Linux-Distribution ausgeführt wird) ist so konfiguriert, dass er ein serielles Einwählterminal bietet. Um zu verdeutlichen, wenn Sie über diese PSTN-Leitung telefonieren, werden die Modem-Handshakes (ich denke, es ist das V90-Protokoll) angezeigt, dann wird Ihnen das Login angezeigt und Sie befinden sich in ttyS0. Es gibt keinen IP / PPP-Protokollstapel, nur das serielle Terminal.

Ich möchte eine Verbindung zu diesem Server auf eine Weise herstellen, bei der ich kein physisches analoges Modem mit mir herumtragen und (was noch schlimmer ist) eine physische PSTN-Leitung finden muss, die zumindest im geschäftlichen Kontext hier in Italien wirklich eine knappe Ressource darstellt. Zur Verdeutlichung: Die PSTN-Leitung auf der Serverseite ist der einzige Weg, aber ich möchte eine Verbindung ohne eine physische PSTN-Leitung auf der Clientseite herstellen können.

Einige Ideen, die mir durch den Kopf gingen, aber ich weiß nicht, ob sie wirklich umgesetzt werden können oder nicht:

  • Ein Mobiltelefon über Bluetooth / USB verbinden. Alte Telefone exportierten einen ttyUSB, der AT-Befehle verarbeitete, aber dann gab es keine Möglichkeit (AFAICT), den Audiostream abzurufen. Ich weiß nicht, ob es technisch möglich ist, eine Android-App zu schreiben, die einen Anruf tätigt und dann das Audio in einen semi-rohen UDP-Stream codiert.

  • Weiterleiten des Anrufs über VOIP. Beim Googeln scheinen einige Leute gemischte Erfolge mit analogen Modemanrufen über eine VOIP-Terminierung mit g711 (uLaw / aLaw) gehabt zu haben. Es sieht so aus, als ob es möglich ist, mindestens 9600 Bit / s zu erreichen, was für mich ausreicht.

  • Gibt es eine Software, die das vollständige V90-Protokoll / Handshake / was auch immer emuliert und Audio in Bytes dekodiert, selbst wenn eine der oben genannten Möglichkeiten möglich ist?

  • Gibt es einen Onlinedienst, der Abonnenten eine Reihe analoger Modems anbietet? Klingt nicht nach einem Geschäft, in das ich persönlich investieren würde, aber man weiß es nie :)

  • Gibt es ein physisches Objekt, das dem modernen UMTS-Äquivalent eines analogen Modems entspricht, wie eine über USB angeschlossene Box, in die Sie die SIM-Karte einlegen, die alles magisch macht und Ihnen einen ttyUSB auf Ihrem PC gibt?

  • Unter der Annahme, dass ich nur einmal physisch auf den Server zugreifen kann, kann ich irgendetwas (entweder Hardware oder Software) auf dem Server installieren, was mir das Leben erleichtern würde? Die einzige Voraussetzung ist, dass eine nationale Standard-PSTN-Leitung (doppelt verdrilltes Kupfer) durchlaufen werden muss. Es gibt keinen anderen Weg, um ein anderes Signal zu erhalten. Das Modem sah zunächst wie die beste Option aus, aber man weiß es nie.

Vielen Dank!

Giovanni Bajo
quelle

Antworten:

4

Ich vermute, es gibt viele Möglichkeiten, dies zu tun. Einer, der mir in den Sinn kommt, ist der Rückruf .

Sie registrieren ein DFÜ-ISP-Konto für das Modem auf dem Server. das ist einfach genug und nicht umstritten. Sie benötigen einen ISP, der Ihnen eine statische Adresse zuweist. Wenn dies extra kostet, zahlen Sie es.

Sie konfigurieren dann so etwas wie diald , um den Link bei Bedarf nach oben und unten zu bringen. Schreiben Sie dann ein kleines Skript, möglicherweise mithilfe von Swatch , um "RING" -Nachrichten zu erkennen, die in den Modem-Protokolldateien angezeigt werden, und um sie zu generieren, um Datenverkehr zu generieren, den diald als "interessant" erachtet - dh Datenverkehr, der dazu führt, dass die Leitung aufgerufen wird.

Wenn Sie über das normale Internet eine Verbindung zum Server herstellen möchten, rufen Sie die an den Server angeschlossene Telefonleitung von einem beliebigen Festnetz- oder GSM-Telefon aus an. Das Skript auf dem Server erkennt das Klingeln des Telefons und generiert interessanten Datenverkehr für diald. Diald ruft die PPP-Verbindung auf. Zu diesem Zeitpunkt ist der Server unter der bekannten statischen IP-Adresse verfügbar.

Sie stellen mithilfe normaler Internet-Tools eine Verbindung über SSH (oder ein anderes IP-Protokoll oder eine Kombination davon, die Ihnen gefällt) her, bis Sie fertig sind. Wenn Sie fertig sind, trennen Sie alle diese Verbindungen und nach kurzer Zeit stellt diald fest, dass die Leitung frei ist und legt das Modem auf.

Spülen. Wiederholen.

Mögliche Verbesserungen : Wenn Sie keinen ISP-Dienst erhalten, der statische Adressen verarbeitet, können Sie diald so konfigurieren, dass nach dem Herstellen der Internetverbindung zunächst die aktuelle IP-Adresse per E-Mail an eine zuvor festgelegte Adresse gesendet wird auf andere Weise kommuniziert es mit dem Internet. Auf diese Weise können Sie bei jedem Aufrufen der Leitung herausfinden, welche dynamische Adresse sie hat, damit Sie mit ihr sprechen können. Eine statische Adresse wäre jedoch einfacher.

Alternativer Vorschlag : Bedenken Sie, dass die meisten GSM-Telefone gerne eine PPP-Verbindung zu einer alten POTS-Nummer herstellen, um die Terminalsitzung einzurichten. Ich habe diesen Technote vor einigen Jahren über die Grundlagen eines GSM-Telefons mit einem Modem geschrieben, das den AT-Befehlssatz (der die meisten von ihnen ist) zum Einwählen in einen ISP berücksichtigt.

Es ist völlig legal, dass das GSM-Telefon anstelle der magischen "GPRS" -Nummer eine Standard-Festnetznummer wählt. Ersetzen Sie sie einfach

atd*99***1#

mit

atd0039nnnnnnnn

in /etc/ppp/chat-gprs, wo nnnnnnnnist die Festnetznummer Ihres Servers? Beachten Sie, dass dies nur mit GPRS und möglicherweise EDGE funktioniert. 3G ist ein ganz anderes Protokoll, auf das auf unterschiedliche Weise zugegriffen wird, sodass Sie auf diese Weise nur eine langsame Verbindung (ca. 20 KBit / s) erhalten. Aber für eine direkte Terminalsitzung kann das ausreichen.

MadHatter
quelle
Danke, ich Login über ein GSM - Telefon verwaltet (wenn auch nicht die ersten, die ich versuchte) .Der Rückruf Ansatz auch ist interessant , auch wenn ich nicht sicher bin , ich kann eigentlich machen Anrufe durch dieses Festnetz (wird für die Abrechnung müssen prüfen , etc :), da die meisten (alle?) DFÜ-ISPs in Italien heutzutage direkt über spezielle Telefonnummern abrechnen, manchmal ohne dass eine Registrierung erforderlich ist.
Giovanni Bajo
3

Es gibt eine Vielzahl von Terminalservern auf dem Markt - Sie telneten / ssh mit ihnen und können bei Verbindung mit einem oder mehreren seriellen Ports auf dem Konsolenserver interagieren, die normalerweise über ein Nullmodemkabel mit anderen Servern verbunden sind. Wenn der Server über eine serielle Schnittstelle verfügt, ist dies der beste Weg. Sie können dann ein mobiles Breitbandgerät verwenden, um eine Verbindung herzustellen, und dynamische DNS- oder VPN-Magie hinzufügen, um Änderungen der IP zu verarbeiten.

Ältere GPRS / EDGE-USB-Module (oder Mobilteile mit USB) werden unter Linux als serielles Gerät (ttyUSB oder ttyACM) angezeigt. Es sollte möglich sein, das inittab des Servers zu wechseln, um das getty daran zu binden. Ich habe dies in der Vergangenheit mit einem externen (tatsächlich seriell angeschlossenen) GSM-Modem gemacht. Ich würde mir vorstellen, dass es auch mit USB funktionieren sollte.

Wenn der Server über ein internes Modem und keine serielle Schnittstelle verfügt und Sie es nicht ersetzen können, werden die Dinge komplizierter. VoIP könnte funktionieren - je näher an rohem PCM, desto besser sind die Chancen. Feste drahtlose Terminals (im Grunde ein Mobiltelefon, aber mit einem FXS-Anschluss anstelle eines Lautsprechers / Mikrofons / einer Tastatur) funktionieren möglicherweise ebenfalls, haben jedoch wahrscheinlich dieselben Probleme wie VoIP.

techieb0y
quelle
Es gibt keine Möglichkeit, in den Server zu gelangen, wenn nicht die PSTN-Leitung. Es gibt keine Internetverbindung und kein GSM-Signal.
Giovanni Bajo
Ah, jetzt verstehe ich. Der USB-Stick oder der Telefonvorschlag steht noch; Wenn Sie einen GSM-Dienst haben, wo Sie sich gerade befinden, und wenn Sie ihn wie ein normales Modem (ATDT-Telefonnummer) behandeln, sollte er eine Datenverbindung herstellen (mit den tatsächlichen Modemteilen, die in Ihrem Mobilfunkanbieter stattfinden.)
techieb0y
+1. Legen Sie einen Terminalserver mit einem Modem und einer Telefonleitung in Ihrem Büro mit Fernzugriff ab, um den Server zu wählen.
Petrus
0

Ich bin mir nicht sicher, ob ich Ihre Anforderungen vollständig verstehe. Ich werde tippen, was ich denke, dass Sie fragen, und von dort aus gehen:

1) Es gibt einen Server mit nur einer PSTN-Leitung, die an ein analoges Modem angeschlossen ist. 2) Sie möchten die Telefonleitung freigeben (für andere Zwecke) und weiterhin Zugriff auf den Server haben.

Iff 1 & 2 sind korrekt, dann sehe ich keine andere Wahl, als eine Internetverbindung zu verwenden. Ein USB 3G-Stick sollte Ihnen eine Verbindung bieten, auf die Sie über ssh tippen können, um alle erforderlichen Verwaltungsaufgaben zu erledigen.

Sie können auch eine Art xDSL-Leitung installieren, die Ihre PSTN-Leitung für die Verwendung als normales Telefon freigibt und Ihnen gleichzeitig einen Internetzugang ermöglicht.

MATTE
quelle
Nein, ich möchte weiterhin die PSTN-Leitung auf der Serverseite verwenden (da dies das einzige ist, was ich verwenden kann, gibt es kein GSM-Signal, wo sich der Server befindet), aber ich möchte in der Lage sein, eine Verbindung ohne physische PSTN-Leitung herzustellen auf meiner Seite, da ich überall sein kann und PSTN-Leitungen rar sind.
Giovanni Bajo