私は、ATコマンドを使用してダイヤラとしてPC上でコールをシミュレートするために使用している次のスニペットコードを持っています。ATコマンドがハングアップ
問題は、ユーザーがWindowsフォームで「電話を切る」ボタンをクリックしたにもかかわらず、ダイヤルされた乱数が、バックグラウンドでダイヤルし続けていることがあることです。
実際のダイヤルコールは、このコードです:
SerialPort po = new SerialPort();
po.PortName = ConfigurationManager.AppSettings.Get("modemPort");
po.BaudRate = int.Parse("9600");
po.DataBits = Convert.ToInt32("8");
po.Parity = Parity.None;
po.StopBits = StopBits.One;
po.ReadTimeout = int.Parse("300");
po.WriteTimeout = int.Parse("300");
po.Encoding = Encoding.GetEncoding("iso-8859-1");
po.Open();
po.WriteLine("ATD" + phoneNumber + ";\r");
はその後ハングアップボタンをクリックしたときに、私はこのコードを持っている:
po.DiscardInBuffer();
po.DiscardOutBuffer();
po.Close();
をこれは、時々、バックグラウンドでのコールのダイヤルを保持します。
私はそれをテストするために以下を追加しましたが、それでも同じ結果です。
po.WriteLine("ATH" + "\r");
po.WriteLine("ATH0;\r");
po.WriteLine("ATH+CHUP;\r");