简体   繁体   中英

I can't hear voice after successful calling a number with AT command

I have successfully placed a call with ATDTn but i cant hear anything from the recipient. I have googled but no help. It is a voice modem. Is there anything i am doing wrong?

This is my code:

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;                    
            }           

For a full listing of AT commands, see this wikipedia entry .
For a full listing of Voice Modem commands, see this wikipedia entry .

In general, you want to do this:

1) Request voice modem mode:

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

2) Speaker on until remote carrier detected / busy detection, and dial.

ATm1x3DTxxxxxxx  (Where xxxxxxx is phone number.)

Note: in my experience, I always had to run these as two separate commands

Depending on your modem, you may also need to increase the volume with:

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

To send DTMF tones during the voice call:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM