Caller I'd issues

I have been having issues with caller id.

The phone does not display the phone number of the caller.

It just displays AT modem commands.

Is the Cell module configuration wrong?

How can I fix this?

In debug mode the the phone module seems to be functioning fine and I recieve the following output on the terminal:

ringing
23
SD inserted:1
Ringtone exists: /Ringtones/Funky & fresh.wav1
call id: 1
PLAYED
Interrupt: 1
ENDED
Direction of call: 0


+CLCC: 1,1,6,0,0,"12345678912",129,""

The Phone number is returned by the module. (I replaced my phone number with 12345678912)

So the problem seems to be the phone isn’t parsing it correctly.

I sent the ATI command to get the modules information for your reference.

ATI
SIM800 R14.18

I did notice quite a few errors returned too though:

--------------
ME ERROR: operation not allowed
AT+CSPN?
-----------------------------------
.
.
.

ME ERROR: operation not allowed
AT+CSQN?
--------------
ME ERROR: operation not allowed
AT+CCQN?
--------------
ME ERROR: operation not allowed
AT+CCAN?
--------------
ME ERROR: operation not allowed
AT+CCAL?
--------------
ME ERROR: operation not allowed
AT+CCALR
--------------
ME ERROR: operation not allowed
AT+CCALR?
--------------
ME ERROR: operation not allowed
AT+CCALR?

I will look over the source to see if I can see anything too.

I don’t know if this will help but here is the module configuration settings:

AT&V
DEFAULT PROFILE
S0: 0
S3: 13
S4: 10
S5: 8
S6: 2
S7: 60
S8: 2
S10: 15
+CRLP: 61,61,48,6
V: 1
E: 1
Q: 0
X: 4
&C: 1
&D: 1
+CLTS: 0
+CREG: 0
+CGREG: 0
+CMEE: 0
+CIURC: 1
+CFGRI: 2
+CMTE: 0
+CANT: 0,0,10
+STKPCIS: 0
+CMGF: 0
+CNMI: 2,1,0,0,0
+CSCS: "IRA"
+VTD: 1
+CALS: 1
+CHF: 0
+CAAS: 1
+CBUZZERRING: 0
+DDET: 0
+MORING: 0
+SVR: 16
+CCPD: 1
+CSNS: 0
+CSGS: 1
+CNETLIGHT: 1
+SLEDS: 64,64,64,800,3000,300
+CSDT: 0
+CSMINS: 0
+EXUNSOL: 0
+FSHEX: 0
+FSEXT: 0
+CCTURI: 0
+IPR: 0
+IFC: 0,0
+CSCLK: 0

USER PROFILE
S0: 0
S3: 13
S4: 10
S5: 8
S6: 2
S7: 60
S8: 2
S10: 15
+CRLP: 61,61,48,6
V: 1
E: 1
Q: 0
X: 4
&C: 1
&D: 1
+CLTS: 1
+CREG: 0
+CGREG: 0
+CMEE: 2
+CIURC: 1
+CFGRI: 2
+CMTE: 0
+CANT: 0,0,10
+STKPCIS: 0
+CMGF: 0
+CNMI: 1,2,0,0,0
+CSCS: "IRA"
+VTD: 1
+CALS: 1
+CHF: 0
+CAAS: 1
+CBUZZERRING: 0
+DDET: 0
+MORING: 0
+SVR: 16
+CCPD: 1
+CSNS: 0
+CSGS: 1
+CNETLIGHT: 1
+SLEDS: 64,64,64,800,3000,300
+CSDT: 0
+CSMINS: 0
+EXUNSOL: 0
+FSHEX: 0
+FSEXT: 0
+CCTURI: 0
+IPR: 9600
+IFC: 0,0
+CSCLK: 1

ACTIVE PROFILE
S0: 0
S3: 13
S4: 10
S5: 8
S6: 2
S7: 60
S8: 2
S10: 15
+CRLP: 61,61,48,6
V: 1
E: 1
Q: 0
X: 4
&C: 1
&D: 1
+CLTS: 1
+CREG: 0
+CGREG: 0
+CMEE: 2
+CIURC: 1
+CFGRI: 2
+CMTE: 0
+CANT: 0,0,10
+STKPCIS: 0
+CMGF: 0
+CNMI: 1,2,0,0,0
+CSCS: "IRA"
+VTD: 1
+CALS: 1
+CHF: 0
+CAAS: 1
+CBUZZERRING: 0
+DDET: 0
+MORING: 0
+SVR: 16
+CCPD: 1
+CSNS: 0
+CSGS: 1
+CNETLIGHT: 1
+SLEDS: 64,64,64,800,3000,300
+CSDT: 0
+CSMINS: 0
+EXUNSOL: 0
+FSHEX: 0
+FSEXT: 0
+CCTURI: 0
+IPR: 9600
+IFC: 0,0
+CSCLK: 1

OK

Another item I forgot to mention is that the time between when the phone starts signaling there is a call to the time the terminal displays the caller ID : +CCLCC: 1,1,6,0,0,"<Number here>",129,"" is 8 seconds.

So I wonder if the module is not responding in time for the phone to parse the number.

It looks like there is a issue with the way you are parsing the phone number from the CLCC AT message. Around line 1975 in the file MAKERphone.cpp

uint16_t helper = _serialData.indexOf("+CLCC: ") + 7;
	if(helper > 6)
		callIdNumber = _serialData.substring(helper, helper + 1).toInt();
	else
	{
		helper = _serialData.indexOf(",1,4,0,0");
		callIdNumber = _serialData.substring(helper - 1, helper).toInt();
	}

Greetings,

Thanks for all the info you supplied in the thread.

Firstly, could you confirm that you have the latest firmware installed?
If you were tinkering with the software, I would recommend reflashing the original firmware following this guide.

Then, could you send us the output in the serial monitor when the phone boots up?
This would help a lot to determine the issue since we couldn’t replicate the error.

This should be the latest firmware, since I have re-flashed it multiple times using the arduino IDE as suggested by your Engineers. Although here is the terminal out from boot.

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:928
ho 0 tail 12 room 4
load:0x40078000,len:8424
ho 0 tail 12 room 4
load:0x40080400,len:5868
entry 0x4008069c
Calibrated!
offset: 1838
[E][esp32-hal-i2c.c:1426] i2cCheckLineState(): Bus Invalid State, TwoWire() Can't init sda=0, scl=0
SD interrupt error: 0
Read sim value: 1
A
-------------
AT
-------------
AT

-------------
AT


-------------
AT


-------------
AT

O
-------------
AT

OK
-------------
ATI

SIM800 R14.18

OK
checking sim

AT+CPIN?

+CPIN: READY

OK
SD inserted

airplane_mode: 0
brightness: 5
sleep_time: 0
background_color: 0
notification: 3
ringtone: /Ringtones/Funky & fresh.wav
CFUN checking
AT+CFUN?

+CFUN: 1

OK
next alarm: 99
module inserted
SIM INSERTED
Serial1 up and running...
Setup: 0
--------------

Any ideas on this yet?

Well, yes and no.

We think that it’s a combination of software and hardware issues. Since it worked correctly at the beginning, it could be that the SIM module got messed up or you somehow messed with brain board’s memory with the bootloading and things.

Please send it back to us and we will repair it for you for free, since we can’t do it over the internet.
I will send you the details in DM.

This thread Strange notification on home screen
Looks very similar to my callerid issue here. I am pretty sure it is related to the parsing of the strings sent from the sim module.

So what did you do to did you fix it?

j’ai le même probléme quand un appel arrive sur mon makerphone,le numero ne s’affiche pas ,j’ai des caracteres comme le collégue qui s’affiche…voila…lol

See the fix I posted here… Bug fix.
It may apply to you if your carrier does not identify the incoming calling number with a leading + character:

j’ai copier les lignes de codes et cela n’a rien changer a mon probléme d’identifier l’appel entrant avec un caractere +.

Just to clarify, the original code assumed that every incoming call is identified with a number that begins with +. At least in the USA, Ting sometimes leaves off the leading + character. The modified code allows for the case where the + is absent. That may not be your problem at all if you are in France, but I just referenced this solution in case it is related. Unfortunately, given your experiment and result, it is probably not.

1 Like

oui je suis en france,donc cela ne me concerne pas, même si j’ai ce probléme sur mon makerphone,ça me derange pas trop pour le moment du moment que l’appel fonctionne c’est déjà bien. :rofl:

We might have to create a specific firmware for every country. :smiley:

@deserteur28 What exactly are you getting on your screen? Can you take a photo?

Robert

j’attend que ma femme rentre pour m’apeller et prendre une photo ce soir de l’ecran lors de l’appel sur le makerphone

avec du retard je suis désolé voici la photo de mon ecran quand j’ai recut un appel,

Hey,

Can you please download the default Ringo software on your phone? The latest firmware version. And then format the SD card. The default files on the SD card can be found here.

Try to do those things so we’ll see if that changes anything.

Thanks!
Robert