以编程方式在调制解调器上拨打一系列号码?

4

在工作中,我们刚刚收到了大量需要编程的异国情调的手机设备。为了完成这个任务,您需要插入一个标准的家用电话,并拨打一系列数字,在它们之间加上暂停。

对我来说,这是一个非常适合自动化的任务,而我们有一台安装了Linux系统的桌面电脑(一个测试Asterisk机器)并且上面带有一个调制解调器。

那么,我该如何自动化这个任务呢?

5个回答

2
我认为您应该能够打开调制解调器设备(通常从 /dev/modem 符号链接),并输入调制解调器代码以重置调制解调器(例如 atz),然后输入拨号代码(atd),然后是号码,使用“,”进行暂停。
您可以在几乎任何允许您写入设备文件的语言中自动执行此操作。
请参阅以下参考文献: http://www.zoltrix.com/support_html/modem/USEMODEM.HTM

而且,如果你感觉有点复古,总有好老的Kermit: http://www.columbia.edu/kermit/ck80.html - David Gelhar

2

只需通过调制解调器对应的/dev设备发送必要的AT命令,例如:ATDT 12,456567,21


你能给我一个语法的例子吗?例如,它是否像写入文件那样,其中文件名是设备? - Nathan Long

1

我的典型拨号字符串(全部指向调制解调器设备):

  • ATZ(亲爱的调制解调器,忘记你所知道的一切)
  • ATS11=33(我喜欢快速拨号)
  • ATF0(自动协商链路速度)
  • ATL3(我喜欢大声)
  • ATM3(我只喜欢听到握手声响亮)
  • AT&G(x)(如果您有美国调制解调器并需要在世界其他地方使用它(保护音调))
  • AT&K3(硬件流控制,如果不可用,请使用AT&K4进行软件流控制)
  • AT&R1(CTS(清除发送)始终处于打开状态。将RJ-11连接包裹在无静电软化剂纸张中可以帮助此过程。

最后,也是最重要的:

  • ATDT(号码)(使用DTMF拨号号码)根据年龄,您的调制解调器可能支持ATDP(脉冲拨号)。

记住,+++是一个转义序列,可以将您返回到调制解调器控制台 :) 玩得开心。+++ ATH0然后你挂了电话。ATH1只是摘机,没有其他作用。ATA接听传入的数据呼叫。逗号,表示暂停。

是的,其他人链接到了海斯AT命令集,我实际上作为BBS的SysOp使用了多年 :)

最后,别用Kermit,用Zmodem

链接:SynchronetWWiV,其余的留给读者自己去发掘,虽然我谦虚地建议搜索Renegade、Telegard、TaG和其他类似软件。

哦,天啊,我跑题了。


1
如果您需要暂停并回复设备返回的回复 - 这正是 expect 的发明目的。

0

使用Hayes命令集

几乎所有支持AT命令集的调制解调器都能理解以下命令,无论是旧的还是新的。

D 拨号

拨打以下号码,然后进行握手

  • P - 脉冲拨号
  • T - 触摸拨号
  • W - 等待第二个拨号音
  • R - 拨号后反转为应答模式
  • @ - 等待最多30秒钟的回铃声
  • , - 暂停S8寄存器中指定的时间(通常为2秒)
  • ; - 拨号后保持命令模式。
  • ! - 快速切换挂机开关(挂断半秒钟,如转接电话。)
  • L - 拨打上次号码

请参阅Linux Modem-HOWTO以获取详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接