CX93010 has some problems to detecting CID but by seting Country of installation and activating reporting can fix them.
-
You must set
Country of Installation
toB5
byAT+GCI=B5
I got it after a three weeks of investigations (It may defer in your country it can be 00 or B4 or B5 but B5 for works for most of land lines): -
Then enable CID reporting by
AT+VCID=1
orAT+VCID=2
as it said in manual: -
And then it works flawlessly:
And this is the final code based on this rules:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CIDResolver
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SerialPort sp;
private void Connect_click(object sender, EventArgs e)
{
sp = new SerialPort(textEdit1.Text);
sp.BaudRate = 11500;
sp.NewLine = "\r\n";
sp.Open();
sp.WriteLine("AT+GCI=B5"); // can be 00 or B4 or B5
sp.WriteLine("AT+VCID=1");
sp.DataReceived += new SerialDataReceivedEventHandler((object _s, SerialDataReceivedEventArgs _e) =>
{
string newData = sp.ReadExisting();
consoleOut.Invoke((MethodInvoker)delegate {
// Running on the UI thread
consoleOut.Text += newData+ "\r\n";
});
});
}
private void disConnectBtn_Click(object sender, EventArgs e)
{
sp.Close();
}
private void Form1_FormClosed_1(object sender, FormClosedEventArgs e)
{
sp.Close();
}
}
}