2014-09-25 3 views
-1

Я успешно разместил вызов с ATDTn, но я не могу услышать что-либо от получателя. У меня есть googled, но никакой помощи. Это голосовой модем. Я что-то делаю неправильно?Я не слышу голос после успешного вызова номера с помощью команды AT

Это мой код:

if ((m_serialPort != null) && (m_serialPort.IsOpen)) 
      { 
       SerialPort port = m_serialPort; 

       string t = port.ReadExisting(); 
       System.Threading.Thread.Sleep(100); 
       port.WriteLine("AT+FCLASS=8" + "\r"); 
       System.Threading.Thread.Sleep(100); 
       port.WriteLine("AT+CVHU" + ";\r"); 
       System.Threading.Thread.Sleep(100); 
       port.WriteLine("AT+CRC=1" + ";\r"); 
       System.Threading.Thread.Sleep(100); 
       port.WriteLine("AT+CLIP=1" + ";\r"); 
       System.Threading.Thread.Sleep(100); 
       port.WriteLine("ATM3" + "\r"); 
       System.Threading.Thread.Sleep(500); 
       string cmd = "ATDT"; 
       string phoneNumber = tocall; 
       port.WriteLine(cmd + phoneNumber + ";\r"); 
       System.Threading.Thread.Sleep(100); 
       port.WriteLine("AT^DDSETEX=2" + "\r"); 
       System.Threading.Thread.Sleep(100); 
       port.WriteLine("AT+VTX"); 


       txtCallStatus.Text = "Calling"; 
       Speak(1, "You are calling " + txtDial.Text); 

       callchecker.Start(); 
       bCall.Content = "End Call"; 
       cbComPort.IsEnabled = false;      
      }   
+2

Возможно, у вас возникли проблемы с кодом. Однако мы не можем помочь, если у нас нет [кода или информации, способной воспроизвести проблему] (http://stackoverflow.com/help/mcve). В противном случае мы просто слепо угадываем. – gunr2171

+0

@ gunr2171 Я дернул тег C# на этом. Он действительно независим от языка в том смысле, что набор команд AT - это то, с чем сталкивается OP. Не уверен, что для OP существует какой-то код, чтобы дать нам, кроме 'ATDTn', поэтому ваш комментарий может не применяться. Что касается качества вопроса, то, безусловно, не хватает дампов попыток, которые OP сделал для его решения. –

+0

Извините, что не предоставил код ранее. Я отредактировал мой вопрос с моим кодом. Я могу позвонить, но не слышу другую сторону – Jeswills

ответ

1

Для получения полного списка команд AT, see this wikipedia entry.
Полный список голосовых модемов, see this wikipedia entry.

В общем, вы хотите сделать это: режим

1) Запрос голосового модема:

AT+FCLASS=8 (on some older modems, use AT#CLS=8) 

2) Динамик на пока удаленный носитель не обнаружен/занят обнаружения и набора номера.

ATm1x3DTxxxxxxx (Where xxxxxxx is phone number.) 

Примечание: в моем опыте, я всегда должен был работать как два разных команд

В зависимости от вашего модема, вы можете также необходимо увеличить объем с:

ATL1, ATL2, or ATL3 (depending on how loud you need it.) 

Для отправлять тональные сигналы DTMF во время речевого вызова:

AT+VTS={x,25} (where x = digit to dial)