I am using esp8266 and sim800L gsm module to recieve incoming call and get the DTMF tones from the caller and take an action according to the received number, i am searching for about 3 days and found nothing.
i use the AT+command "AT+DDET=1" to enable the DTMF tones capturer in the module but nothing happend i also tryied to change the modes and the delay times with this command "AT+DDET=1,1000,1,1" and found nothing
i communicate with the sim800 through Serial communication and send and receive commands through Serial monitor, and that is the code i am using:
#include <SoftwareSerial.h>
#include <cstring>
#include <Arduino.h>
#define simTX D3
#define simRX D4
SoftwareSerial sim800l(simRX, simTX); //RX, TX
void setup() {
Serial.begin(115200); //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
sim800l.begin(115200); //Begin serial communication with Arduino and SIM800L
Serial.println("Initializing...");
delay(1000);
}
void loop() {
updateSerial();
}
//Start
void updateSerial() {
delay(500);
while (Serial.available())
{
sim800l.write(Serial.read());//Forward what Serial received to Software Serial Port
}
while(sim800l.available())
{
Serial.write(sim800l.read());//Forward what Software Serial received to Serial Port
}
}
//End
and i am using this connecting diagram
the module is responding to all my commands and i can make calls when i connect a microphone with a clear voice but i don't recieve any tones, (I RECIEVED ONLY ONE TONE BUT IT WAS WRONGE) and i couldn't do it again
i tested two sim cards from two different companys and tried to call from multiple phones and found nothing
i don't know if it is a problem from the service provider or a phone problem or module problem
i hope any one can help, Best regards.