在没有 PSTN 线路的情况下连接到模拟拨入 PSTN 终端

在没有 PSTN 线路的情况下连接到模拟拨入 PSTN 终端

有一台计算机(“服务器”)没有网络连接,并且它位于一个地方没有 GSM 信号。连接它的唯一方法是使用模拟调制解调器(US Robotics 56Kbit/s)。此调制解调器连接到具有地理编号的国家 PSTN 线路,并且服务器(运行现代 Linux 发行版)配置为提供拨入串行终端。需要澄清的是,当您拨打此 PSTN 线路时,​​调制解调器会进行握手(我认为是 V90 协议),然后系统会显示登录信息,然后您便可以登录 ttyS0。没有 IP/PPP 协议栈,只有串行终端。

我希望以任何方式连接到此服务器,而不需要随身携带物理模拟调制解调器,也不需要(更糟糕的是)寻找物理 PSTN 线路,至少在意大利的商业环境中,这确实是一种稀缺资源。澄清一下:服务器端的 PSTN 线路是唯一的途径,但我希望能够在客户端没有物理 PSTN 线路的情况下连接到它。

有些想法在我脑海中浮现,但我不知道它们是否真的可以实现:

  • 通过蓝牙/USB 连接手机。旧手机导出一个处理 AT 命令的 ttyUSB,但无法获取音频流(据我所知)。我不知道从技术上讲是否可以编写一个 Android 应用程序来拨打电话,然后将音频编码为半原始 UDP 流。

  • 通过 VOIP 路由呼叫。通过 Google 搜索,有些人似乎在使用 g711 (uLaw/aLaw) 的 VOIP 终端进行模拟调制解调器呼叫方面取得了不同程度的成功。看起来至少可以获得 9600bps,这对我来说已经足够了。

  • 即使上述情况之一可行,是否有任何软件可以模拟完整的 V90 协议/握手/其他内容并将音频编码/解码为字节?

  • 有没有在线服务为用户提供模拟调制解调器?听起来这不是我个人会投资的业务,但谁也不知道 :)

  • 是否有任何物理对象是现代 UMTS 模拟调制解调器的等价物,比如通过 USB 连接的盒子,将 SIM 卡放在里面,它可以完成所有神奇的事情,并在您的 PC 上为您提供 ttyUSB?

  • 假设我只能物理访问服务器一次,那么我可以在服务器上安装什么(硬件或软件)来让我的生活更轻松吗?唯一的要求是必须通过标准的国家 PSTN 线路(双绞线铜线),没有其他方法可以获得任何其他信号。起初,调制解调器看起来是最好的选择,但你永远不知道。

谢谢!

答案1

我认为有很多方法可以做到这一点。我想到的一个方法是打回来

您在服务器上为调制解调器注册一个拨入 ISP 帐户;这很简单,而且没有争议。您需要一个 ISP 为您分配一个静态地址;如果这需要额外费用,请付费。

然后配置类似拨号根据需要上下移动链接。然后编写一个小脚本,也许使用样本,检测调制解调器日志文件中出现的“RING”消息,当看到这些消息时,生成 diald 认为“有趣”的流量 - 即导致其接通线路的流量。

当您想通过常规互联网连接到服务器时,您可以从任何固定电话或 GSM 电话拨打连接到服务器的电话线。服务器上的脚本会检测到电话铃声,并为 diald 生成有趣的流量。Diald 会启动 PPP 连接,此时服务器在已知的静态 IP 地址上可用。

您使用常规互联网工具,通过 SSH(或任何其他您喜欢的 IP 协议或组合)进行连接,直到完成。完成后,您断开所有这些连接,片刻之后 diald 意识到线路处于空闲状态并挂断调制解调器。

冲洗,重复。

可能的增强:如果您无法获得提供静态地址的 ISP 服务,您可以配置 diald,这样互联网链接建立后发生的第一件事就是将其当前 IP 地址通过电子邮件发送到预先安排的地址,或以其他方式将其传达到互联网。这样,每次线路建立时,您都可以找出它具有的动态地址,以便与它通话。但静态地址会更容易。

替代建议:考虑到大多数 GSM 手机都会很乐意与任何旧的 POTS 号码建立 PPP 连接,以建立终端会话。我写道此技术说明几年前,我开始使用带有调制解调器的 GSM 手机,该调制解调器遵循 AT 命令集(其中大多数是 AT 命令集)来拨入 ISP。

让 GSM 手机拨打标准固定电话而不是神奇的“调出 GPRS”号码是完全合法的,只需替换

atd*99***1#

atd0039nnnnnnnn

在 中/etc/ppp/chat-gprsnnnnnnnn您的服务器的固定电话号码在哪里。请注意,这仅适用于 GPRS,也可能适用于 EDGE。3G 是一种以不同方式访问的完全不同的协议,因此您只能通过这种方式获得较慢(20kb/s 左右)的连接。但对于直接终端会话来说,这可能就足够了。

答案2

市场上有各种各样的终端服务器——您可以通过 telnet/ssh 连接到它们,连接后,您可以与控制台服务器上的一个或多个串行端口进行交互,这些端口通常通过零调制解调器电缆连接到其他服务器。如果服务器有串行端口,这是最好的方法。然后,您可以使用移动宽带设备获取连接,并添加一些动态 DNS 或 VPN 魔法来处理 IP 的变化。

较旧的 GPRS/EDGE USB 模块(或带有 USB 的手机)将在 Linux 中显示为串行设备(ttyUSB 或 ttyACM);应该可以切换服务器的 inittab 以将 getty 绑定到该设备。我过去曾使用外部(实际串行端口连接)GSM 调制解调器完成此操作;我想它也应该适用于 USB。

如果服务器有内置调制解调器,而不是串行端口,并且您无法更换它,那么事情就会变得更加复杂。VoIP 可能会起作用——越接近原始 PCM,成功率就越高。固定无线终端(基本上是手机,但带有 FXS 端口而不是扬声器/麦克风/键盘)也可能起作用,但可能会遇到与 VoIP 相同的问题。

答案3

我不确定我是否完全理解您的要求。我会输入我认为您要问的内容,然后从那里开始:

1) 有一台服务器,只有一条 pstn 线路连接到模拟调制解调器。2) 您想要释放电话线(用于其他用途)并希望继续访问服务器。

如果 1 和 2 是正确的,那么我看除了使用某种形式的互联网连接之外别无选择,USB 3G 棒应该为您提供一个通过 ssh 连接的连接,以执行您可能需要的任何管理任务。

您还可以安装某种 xDSL 线路,这样就可以释放您的 pstn 线路以用作普通电话,同时还可以让您访问互联网。

相关内容