Событие DataReceived (последовательный порт) не работает, когда я звоню с модема для коммутируемого доступа

я пытаюсь получить и распознать звонок, когда кто-то звонит на мой номер телефона, но когда мне звонят с моего модема (номера телефона), событие DataReceived не работает. в чем проблема? это мой код:

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        delegate void SetTextCallback(string text);
        private void SetText(string text)
        {
            if (this.lblStatus.InvokeRequired)
            {
                SetTextCallback d = new SetTextCallback(SetText);
                this.Invoke(d, new object[] { text });
            }
            else
                this.lblStatus.Text = text;
        }


        private void sp1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {

            string rs = sp1.ReadExisting();
            MessageBox.Show(rs);
            if (rs.Contains("NMBR"))
            {
                int sx = rs.IndexOf("NMBR");
                SetText("Incomming Call From: " + rs.Substring(sx + 7, 11));

            }


        }


        private void Form1_Load(object sender, EventArgs e)
        {
            if (sp1.IsOpen)
                sp1.Close();
            sp1.Open();
            sp1.Write("AT+SCID=1;" + Environment.NewLine);
            sp1.Write("AT+FCLASS=0;" + Environment.NewLine);
            sp1.Write("AT+VCID=1;" + Environment.NewLine);
            sp1.Write("AT+PCW=0;" + Environment.NewLine);
            lblStatus.Text = "Ready...";
        }


}

}


person Kamyar Safari    schedule 26.03.2013    source источник
comment
... кроме того, большая часть вашего кода показывает форму, а не проблему. Лучше всего отфильтровать ваш код, чтобы показать проблему и показать все ключевые компоненты — в этом случае нет никакого кода, связывающего ваш обработчик событий с самим событием.   -  person STW    schedule 27.03.2013