Ich habe den folgenden Snippet-Code, den ich verwende, um einen Anruf auf einem PC als Dialer mit AT-Befehlen zu simulieren.AT-Befehle hängen auf
Das Problem, das ich habe, ist, dass manchmal für eine Zufallszahl, die gewählt wird, obwohl der Benutzer auf den "Auflegen" -Button auf dem Windows-Formular klickt, der Anruf weiterhin im Hintergrund weiter wählt.
Der Anruf tatsächliche Wahl ist dieser Code:
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");
Dann, wenn die Hang Up Schaltfläche klicken, ich habe diesen Code:
po.DiscardInBuffer();
po.DiscardOutBuffer();
po.Close();
Dies kann manchmal die Rufwahl im Hintergrund hält.
Ich fügte sogar Folgendes hinzu, um es zu testen, aber immer noch das gleiche Ergebnis.
po.WriteLine("ATH" + "\r");
po.WriteLine("ATH0;\r");
po.WriteLine("ATH+CHUP;\r");
Irgendwelche Ideen?