GSM AT 判断电话是否接通

第一步 打电话

ATD+手机号码;//(注意有分号)

AT+CSCA?

第二步判断是否接通

AT+CLCC
AT+CSCA?

未接通返回

+CLCC: 1,1,0,1,0,"",128
+CLCC: 2,0,3,0,0,电话号,128

接通返回

+CLCC: 1,1,0,1,0,"",128
+CLCC: 2,0,0,0,0,电话号,128

第三步如果接通,发送语音

AT+QWTTS=1,1,2,"欢迎使用语音播报功能!"

AT+CSCA?

第四步挂断电话

ATH

AT+CSCA?

 //语音通话代码
        private void button_voice_Click(object sender, EventArgs e)
        {
            //打电话 ATD18192531985; +AT+CSCA?
            byte[] buf = Encoding.ASCII.GetBytes("ATD16195531982;\r\nAT+CSCA?");
            ss_port.Write(buf); 
            //读取回执
            string response = Encoding.ASCII.GetString(ss_port.Read(128));

            while (true)
            {
                //发送AT+CLCC AT+CSCA?判断有没有接通
                buf = Encoding.ASCII.GetBytes("AT+CLCC\r\nAT+CSCA?");
                ss_port.Write(buf);
                response = Encoding.ASCII.GetString(ss_port.Read(128));
                if (response.Contains("2,0,0,0,0,"))
                {
                    Thread.Sleep(500);
                    buf = System.Text.Encoding.Default.GetBytes("AT+QWTTS=1,1,2,\"尊敬的用户你好,欢迎使用TTS功能!即将结束通话,感谢您的聆听!\"\r\nAT+CSCA?");
                    ss_port.Write(buf);
                    Thread.Sleep(11 * 1000);
                    buf = Encoding.ASCII.GetBytes("ATH\r\nAT+CSCA?");//挂机
                    ss_port.Write(buf);
                    break;
                }
                Thread.Sleep(1000);
            }        
        }

 

你可能感兴趣的:(短信猫)