Can´t ignore AT Command Echo response thus losing real response

Hello all, this is my first post in the forum. Hope someone can help me.
I’ve been trying this the hole weekend and cannot get it working.
Basically, I am trying to control a system via sms.
Depending on the text I send to the SIM800l module (ON, OFF, TEST) the arduino performs something.
In the TEST function I want to get the Network´s signal strength but when I send the AT+CSQ command trough the softwareSerial port (I have a function that reads every incoming message) I only get the microcontroller to read the echo repsonse from the systeme (AT+CSQ OK) but it loses the real info with the signal strength.
Can someone help me out with this? Both Serial and softwaSerial are performing well with 9600bds. I can even turn ON, OFF and blink a LED via SMS commands.

//This part is not getting me any troubles
//***********************************************
//***********************************************
//***********************************************
#include <SoftwareSerial.h>    // Incluimos la libreria SoftwareSerial
#define PuertoSalida 13
#define PuertoEntrada 12
#define PinRx 8
#define PinTx 9


SoftwareSerial mySerial(PinRx, PinTx); // Declaramos los pines RX(8) y TX(9) que vamos a usar
String NumeroDeCelular="+5493815879150";
String TextoDelMensaje="Mensaje desde una funcion";
bool AlarmaActivada=false;


void setup(){

Serial.begin(9600);       // Iniciamos la comunicacion serie
mySerial.begin(4800);     // Iniciamos una segunda comunicacion serie
delay(1000);              // Pausa de 1 segundo


   // IMPRIMIR EL ENCABEZADO INCIAL
Serial.println(F("----------------------------------------------------"));
Serial.println(F("            Control de alarma desde GSM             "));
Serial.println(F("                                                    "));
Serial.println(F("----------------------------------------------------"));

pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);

mySerial.println("AT+CMGF=1"); //Vamos utilizar los SMS.
delay(100); //Delay de 0.1 sec
//mySerial.println("AT+CNMI=1,2,0,0,0"); //Configurar el SIM800L p/ que muestre sms por com. serie.

/*EnviaSMS(NumeroDeCelular, TextoDelMensaje);             // Llamada a la funcion que envia el SMS*/
 Serial.println("Inicio del programa");
 Serial.println(mySerial.available());


    for (int i=0; i<3; i++){
        digitalWrite(LED_BUILTIN, HIGH);
        delay(300);
        digitalWrite(LED_BUILTIN, LOW);
        delay(300);
     }
delay(5000);

 while (mySerial.available() > 0) {
        mySerial.read();
}
}

//**********************************************
//**********************************************
//**********************************************
//**********************************************

//Here begins what is making me crazy:
//||||||||||||||||||||||||||||||||||||||||||||||


//Here I check the text within the message
void AnalizarMensaje (String CuerpoDelMensaje)
{
 CuerpoDelMensaje.toUpperCase(); //Make it all uppercase

   if (CuerpoDelMensaje.indexOf("ON") >= 0){   //turn on a LED
        //digitalWrite(PuertoSalida, HIGH);
        digitalWrite(LED_BUILTIN, HIGH);
        Serial.println("Detecté un On");
    }
   else if (TextoDelMensaje.indexOf("CSQ") >= 0) //Here is where I want to substrin the signal strength, but I keep gettinh only the AT echo response. It ignores the real sAT+CSQ response
     {
      String CalidadDeSenial = CuerpoDelMensaje.substring(CuerpoDelMensaje.indexOf(":")+1,CuerpoDelMensaje.indexOf(",",CuerpoDelMensaje.indexOf(":")));  //myString.substring(from, to)
      Serial.println("Calidad:  "+CalidadDeSenial);  //Here I just get the signal strength number
     }
 
    else if (CuerpoDelMensaje.indexOf("PRUEBA") >= 0){
        //digitalWrite(PuertoSalida, LOW);
        Serial.println("Detecté una Prueba");
        CalidadDeConexion();                   //If the sms ahd a "test" in it, it calls a Void Function that, among ohter things, send the AT+CSQ command to check signal strength
        for (int i=0; i<7; i++){
        digitalWrite(LED_BUILTIN, HIGH);
        delay(300);
        digitalWrite(LED_BUILTIN, LOW);
        delay(300);
        }
    }
    else{
        EnviaSMS(NumeroDeCelular, "Por favor reenvie su instruccion");  //If I get noise I ask the user to re send the message
        delay(1000);//Cambiar esto por el control de millis
    }
 }


//I get the network's signal strength
void CalidadDeConexion()
{
 mySerial.write("ATE0+CSQ"); //trying to get no echo of AT command
 //delay(500);
}

Try this instead:

else if (TextoDelMensaje.indexOf("CSQ*:*") >= 0)

The added colon should do the trick.