有一台没有互联网连接的电脑(“服务器”),它位于没有GSM信号的地方。 连接到它的唯一方法是模拟调制解调器(US Robotics 56Kbit / s)。 该调制解调器连接到具有地理编号的全国PSTN线路,并且服务器(运行现代Linux发行版)被configuration为提供拨入串行terminal。 为了澄清,当你打电话到这个PSTN线,调制解调器握手(我认为这是V90协议),然后你提交login,然后你在ttyS0。 没有IP / PPP协议栈,只有串行terminal。
我想以任何方式连接到这台服务器,而不需要我随身携带一台物理模拟调制解调器,而且(更糟糕的是)在物理PSTN线路周围发现真正稀缺的资源,至less在意大利的商业环境中是这样。 为了说明:服务器端的PSTN线路是唯一的通路,但我希望能够在客户端没有物理PSTN线路的情况下连接到PSTN线路。
一些想法,通过我的脑海里,但我不知道他们是否可以真正实施或不:
有一个手机通过蓝牙/ USB连接。 旧手机导出了一个处理AT命令的ttyUSB,但是没有办法(AFAICT)获取audiostream。 我不知道编写一个打电话的Android应用程序在技术上是否可行,然后将audio编码为半原始UDPstream。
通过VOIP路由呼叫。 谷歌search,有些人似乎通过g711(uLaw / aLaw)通过VOIPterminal进行模拟调制解调器调用,取得了不同的成功。 看起来有可能获得至less9600bps,这对我来说是足够的。
即使有上述其中一个是可能的,是否有任何软件模拟完整的V90协议/握手/任何和en /audio解码成字节?
有没有在线服务为用户提供一组模拟调制解调器? 听起来不是我会亲自投资的业务,但你永远不知道:)
是否有任何物理对象是模拟调制解调器的现代UMTS等价物,就像通过USB连接的盒子,将SIM放在里面,它具有所有的魔力,并在PC上为您提供ttyUSB?
假设我只能物理访问服务器一次,服务器上是否可以安装(硬件或软件),这将使我的生活更轻松? 唯一的必要条件是必须通过标准的全国PSTN线路(双绞铜线),没有其他方式获得任何其他信号。 起初,调制解调器看起来是最好的select,但你永远不知道。
谢谢!
我怀疑有很多方法可以做到这一点。 想到的是callback 。
您在服务器上为调制解调器注册一个拨号ISP帐户; 这很简单,而且没有争议。 你需要一个ISP来为你分配一个静态地址; 如果这个额外的花费,支付。
然后,您可以configuration类似于拨号的function,以根据需要上下链接。 然后编写一个小脚本(可能使用swatch )来检测调制解调器日志文件中出现的“RING”消息,以及何时看到它们,以生成被认为是“有趣的”的stream量 – 即导致stream量出现的stream量。
当你想通过普通的互联网连接到服务器时,你可以从任何固定电话或GSM电话呼叫连接到服务器的电话线。 服务器上的脚本检测到电话RINGing,并生成有趣的stream量进行拨号。 Diald调出PPP连接,此时服务器在已知的静态IP地址上可用。
您使用常规的互联网工具,通过SSH(或任何其他IP协议或它们的组合)连接,直到你完成。 当你完成,你放弃所有这些连接,并在一段时间拨号实现线路闲置挂断调制解调器。
冲洗。 重复。
可能的增强function :如果您无法获得静态地址的ISP服务,则可以configurationdiald,以便在互联网链接出现之后发生的第一件事是将其当前IP地址通过电子邮件发送到预先安排的地址,或者以其他方式传达给互联网。 通过这种方式,您可以了解每次线路出现时所获得的dynamic地址,因此您可以与之交谈。 但是静态地址会更容易。
替代build议 :考虑到大多数GSM手机都会很乐意与任何旧的POTS号码build立PPP连接,build立terminal会话。 几年前,我写了这个技术文章 ,介绍了使用调制解调器获取GSM电话的一些细节,这些调制解调器遵循AT命令集(大部分是拨入ISP)。
让GSM电话拨打标准的固定电话而不是魔术般的“调出GPRS”号码是完全合法的,只需更换即可
atd*99***1#
同
atd0039nnnnnnnn
在/etc/ppp/chat-gprs ,其中nnnnnnnn是您的服务器的固定电话号码。 请注意,这只适用于GPRS,也可能是EDGE。 3G是以不同的方式访问的一个完全不同的协议,所以你只能以这种方式获得一个缓慢的(20kb / s左右)连接。 但是,对于直接的terminal会话,这可能就足够了。
市面上有各种各样的terminal服务器 – 你可以通过telnet / ssh连接到它们,在连接的时候,你可以与控制台服务器上的一个或多个串行端口进行交互,这些串行端口通常通过零调制解调器电缆连接到其他服务器。 如果服务器有串口,这是最好的方法。 然后,您可以使用移动宽带设备获得连接,并添加一些dynamicDNS或VPN魔术来处理IP的变化。
较早的GPRS / EDGE USB模块(或带有USB的手机)将在Linux中作为串行设备(ttyUSB或ttyACM)提供; 应该可以切换服务器的inittab来将getty绑定到那个。 我以前用一个外部(实际串行端口连接的)GSM调制解调器完成了这个工作。 我想它应该与USB一起工作。
如果服务器有一个内置的调制解调器,而不是一个串口,而且你不能replace它,事情变得更加复杂。 VoIP可能工作 – 越接近原始PCM,赔率越好。 固定无线terminal(基本上是一个手机,但与FXS端口,而不是扬声器/麦克风/键盘)可能会工作,但可能会有问题相同的VoIP。
我不确定我完全理解你的要求。 我会input我认为你所要求的,并从那里去:
1)有一台服务器只有一条连接到模拟调制解调器的pstn线路。 2)你想释放电话线(用于其他用途),并希望继续访问服务器。
Iff 1&2是正确的,那么我没有看到其他select,但使用某种forms的互联网连接,USB 3G棒应该给你一个连接,你可以点击通过SSH来做任何您可能需要的pipe理任务。
您也可以安装某种xDSL线路,这将使您的pstn线路免费作为普通电话使用,并同时为您提供上网服务。