Совершить исходящий вызов с помощью встроенного модема на C#

StackOverflow https://stackoverflow.com/questions/2536668

  •  22-09-2019
  •  | 
  •  

Вопрос

Мне нужно позвонить по номеру телефона и определить, зависает ли модем на противоположной стороне.Как я могу сделать это на С# с помощью SerialPort?

Это было полезно?

Решение

Да, 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();

Не проверял, так как под рукой нет модема.

Другие советы

Вы можете создать правильно настроенное соединение в Windows (чтобы можно было дозвониться до него вручную).Затем используйте RAS API для установления соединения и проверки результата.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top