第一步 打电话
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)
{
//打电话 ATD18192xxxxxx; +AT+CSCA?
byte[] buf = Encoding.ASCII.GetBytes("ATD161955xxxxx;\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);
}
}