Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在计算远程电话中发生的响铃数_C#_Serial Port_At Command - Fatal编程技术网

C# 正在计算远程电话中发生的响铃数

C# 正在计算远程电话中发生的响铃数,c#,serial-port,at-command,C#,Serial Port,At Command,我已经创建了一个C程序,可以拨打电话。现在我要做的是计算远程电话设备中发生的响铃数 我的C程序使用命令ATDT[phoneno]来拨号。如果远程电话响5次以上,我必须执行一些其他活动 有什么方法可以实现这一点吗?您无法通过标准调制解调器和串行端口实现这一点。你所能做的就是暂停一下。在振铃时,调制解调器只是在启动任何通信之前查看载波信号。戒指不算在内 如果您必须这样做,则需要从调制解调器获取音频并对其进行处理,以获得铃声数量。根据电话网络等情况,铃声变化很大,可能会与铃声混淆。据我所知,您无法计算

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

我的C程序使用命令ATDT[phoneno]来拨号。如果远程电话响5次以上,我必须执行一些其他活动


有什么方法可以实现这一点吗?

您无法通过标准调制解调器和串行端口实现这一点。你所能做的就是暂停一下。在振铃时,调制解调器只是在启动任何通信之前查看载波信号。戒指不算在内


如果您必须这样做,则需要从调制解调器获取音频并对其进行处理,以获得铃声数量。根据电话网络等情况,铃声变化很大,可能会与铃声混淆。

据我所知,您无法计算铃声的实际数量。想一想一个不会响但会放一首歌的手机。因此,您所能做的就是运行计时器并在达到超时后挂断,例如20秒。

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


看起来您可能需要查看寄存器S0和S1。

远程设备是连接到计算机的调制解调器,还是需要其他信号检查铃声?你的问题不太清楚,抱歉搞混了。这实际上是一个IVR系统,我正试图连接到它。这不是真的。大多数调制解调器都会报告响铃。如果您打开串行端口并观察输入字符串,您将在线路响铃时看到响铃或类似的声音。您应该能够在特定的时间范围内统计这些消息。这不是最常见的规则。大多数便宜的调制解调器不支持这一点。我想我最后一次看到的是28k的hayes optima,你试过了吗?听铃声是传真和数据调制解调器服务的标准做法。是的,早在上世纪初,我就在几台便宜的V90 56k调制解调器上试用过,但都不起作用。