关于呼机加号(100分)

  • 主题发起人 主题发起人 garden_wood
  • 开始时间 开始时间
G

garden_wood

Unregistered / Unconfirmed
GUEST, unregistred user!
写了一个程序,通过modem拨我自己的传呼
能够拨通,然后可以听见电话的提示:“请按1,输入代号”
然后我又通过程序接着输入1,可就是没有作用。
程序大致是这样的:
mscomm1.output="atdtXXXXXXXX"+vbcrlf
这是拨我的call
这是拨我的c
这是拨我的call
然后,拨1
mscomm1.output="1"+vbcrlf
可是没有作用
谁能帮我看看
还有个问题是:拨通以后,有提示的声音出来,但我这里mscomm.input没有任何
数据
同时mscomm1.inbuffercount也没有值
这是为什么?

delphi和vb类似,
谁能讲下原因?
 
atdtXXXXXXX,,,,,1
,越多延时越长
 
延时
用sleep
也可
 
不对
是你拨号的时间太短
可识别的拨号音除了有一定
频率要求外,还有时间的要求
,好象一般是60-150ms,
除非就是呼台的可识别性不标准,
我以前遇到过类似的问题
 
Mscomm.Input里没有东西是正常的,因为语音提示和给modem
送的数据不一样,modem不识别。只有用hexi, wrench的方法吧。
不行的话换modem看看吧。

hexi: ,一个应该是2 sec? 记不清楚了
cmldy: 最小可以30ms, 是交换机的标准.如果可以拨号打通call台,
就说明(正常的话)dtmf的延时够了。

ps. dtmf: dual tone multi frequency
 
我使用timer控件延时,可以达到","号的效果
现在的问题是,我在得到了语音要求:“请按1,输入代号”
的时候,如何把这个1送过去,再在语音要求输入代号的时候,
把代号送过去?
 
可能是你的MODEM的音调持续和间隔比率太小, 可以使用ATS10=n,(一般设置为100比较可靠,
最小值为50 最大值150 ),另外CALL 台的号码与之间要多几个‘,’号, 以183 台为例:
向modem发出如下命令:
ATS10=100DT183,,,,1,,,1234567
其中为1234567 为你打要发送的代号
还有一个问韪是挂机,你要设一个Timer控件用于通知modem 挂机,否则modem 还没有拨完号就发出ATH0 命令。。。
过程:
拨号
延时等待(实际等多长时间自已试试)
挂机

以上方法我已在一个24 小时连续运行的故障报警系统中使用, 运行了几个月了。

 
多人接受答案了。
 
后退
顶部