0

我创建了一个可以拨打电话的 C# 程序。现在我要做的是计算远程电话设备中发生的响铃次数。

我的 C# 程序使用命令 ATDT [phoneno]拨打号码。如果远程电话响铃超过 5 次,我必须执行一些其他活动。

有什么办法可以做到这一点?

4

3 回答 3

0

您无法通过标准调制解调器和串行端口实现这一点。你能做的最好的就是有一个超时。在振铃时,调制解调器只是在启动任何通信之前寻找载波信号。它不计算戒指。

如果您绝对必须这样做,则将涉及从调制解调器获取音频并对其进行处理以获取振铃次数(并非微不足道,因为取决于电话网络等,振铃差异很大,并且可能与保持音混淆)。

于 2011-03-29T11:34:55.300 回答
0

据我所知,您无法计算实际的环数。试想一个不响但会播放歌曲的手持设备。所以你所能做的就是运行一个计时器并在达到超时(例如20秒)后挂断。

于 2011-03-29T11:35:34.360 回答
0

根据调制解调器,您应该能够收到响铃通知。打开串行端口进行输入,并观察一个字,例如RING当线路被调用时。您应该能够启动某种计数器并观察线路状态。您可能需要查看设备的高级 AT 命令,以确保将其配置为报告这些通知。

看起来您可能想查看寄存器S0S1.

于 2011-03-29T13:22:52.743 回答