2015-03-25 47 views
1

我有一個SIERRA無線FXT009 EDGE AirLink可編程調制解調器。我使用AT Commads撥打一個電話號碼,這一切都很好。我的問題是,如何檢測手機上的用戶是否按下按鈕,以及如何接收按下的按鈕?這甚至有可能嗎?在命令接收電話鍵通過語音電話按

我使用C#並通過串口與調制解調器通信。

設置

serialPort = new SerialPort(); 
serialPort.PortName = [Port]; 
serialPort.BaudRate = 9600; 
serialPort.DataBits = 8; 
serialPort.StopBits = StopBits.One; 
serialPort.Parity = Parity.None; 
serialPort.ReadTimeout = 300; 
serialPort.WriteTimeout = 300; 
serialPort.Encoding = Encoding.GetEncoding("iso-8859-1"); 

開放連接

serialPort.Open(); 
serialPort.DtrEnable = true; 
serialPort.RtsEnable = true; 

撥號

serialPort.Write("ATD[phoneNumber];\r"); 

定時器(500毫秒)

string result = connection.serialPort.ReadExisting(); 
if (!string.IsNullOrEmpty(result)) 
{ 
    logTextBox.AppendText(result + "\n"); 
} 

回答

0

我在AT命令界面指南 - 固件7.52文檔中發現了我的問題的解決方案。有一個AT命令(+ WDDM)可以打開/關閉DTMF檢測模式。 我打開了它,現在我正在通話時收到按在手機上的按鍵。使用0-9,*,#鍵在兩部手機上測試它。

+1

哪個AT命令用於檢測按鍵,並且可以詳細說明或指向我的文章 – 2015-07-02 05:58:07