【问题标题】:Make outgoing call with built-in modem in C#在 C# 中使用内置调制解调器拨打电话
【发布时间】:2010-03-29 08:41:51
【问题描述】:

我必须拨打电话号码并检测对面的调制解调器是否挂起。 如何在 C# 中使用 SerialPort 执行此操作?

【问题讨论】:

    标签: c# phone-call modem


    【解决方案1】:

    是的,System.IO.Ports.SerialPort 是要使用的类。

    类似这样的:

    // Set the port name, baud rate and other connection parameters you might need
    SerialPort port = new SerialPort("COM1", 9600 );
    port.Open();
    port.ReadTimeout = 1000;
    port.NewLine = "\r";
    port.WriteLine("ATZ"); // reset the modem
    port.ReadTo("OK\r\n"); // wait for "OK" from modem
    port.WriteLine("ATDT 12345678"); // dial number with dialtone
    string response = port.ReadTo("\r").Trim(); // read until first newline
    port.Close();
    

    因为我手头没有调制解调器,所以没有经过测试。

    【讨论】:

    • 如何在使用 SerialPort 的 ATDT 命令后检测到忙信号?
    • 我已经有一段时间没有摆弄调制解调器了,但是如果您使用终端并使用“ATDT 123456”手动拨号到响应忙信号的号码,您会得到任何输出/响应吗?如果是这样,请检查这一点。您可以发出 ATX4,以启用拨号音和忙信号的检测。 Google for AT 命令以获取有关繁忙检测的更多信息。
    【解决方案2】:

    您可以在正确配置的 Windows 中创建连接(因此您可以手动拨号)。然后使用 RAS API 拨号连接并检查结果。

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 1970-01-01
      • 2015-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      相关资源
      最近更新 更多