sim800l

All of this problems have been solved by using an external power source, however there is still a problem, it won't send any message, any suggestions? Help! here there is the module configuration:

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: 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

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: 0
+CREG: 0
+CGREG: 0
+CMEE: 0
+CIURC: 1
+CFGRI: 2
+CMTE: 0
+CANT: 0,0,10
+STKPCIS: 0
+CMGF: 1
+CNMI: 2,1,0,0,0
+CSCS: "GSM"
+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

OK

(The program I use is the following

#include <SoftwareSerial.h>
SoftwareSerial sim800l(10, 11); //RX TX

void setup() {
sim800l.begin(9600);
while(!sim800l);
Serial.begin(9600);
delay(500);
Serial.println("Pronto!");
}

void loop() {
if(sim800l.available()){
Serial.write(sim800l.read());
}
if(Serial.available()){
sim800l.write(Serial.read());
}
}

It works all fine, but it won't send any messages, from the serial monitor I tried digiting the command "AT+CMGF?" and returns this string:

AT+CMGF?

+CMGF: 0

OK

Call Ready

SMS Ready

So i tried typing AT+CMGF=1 and it says "OK call ready sms ready" but if I try typing in "AT+CMGF?" it says the same thing (+CMGF: 0 OK ecc.)

I tried to change to gsm mode indeed if I tipe in "AT+CSCS?" It returns the following string:

AT+CSCS?

+CSCS: "IRA"

OK

Call Ready

SMS Ready

So i typed in AT+CSCS="GSM" and it outputs this string:

AT+CSCS="GSM"

OK

Call Ready

SMS Ready

However if I try typing in AT+CSCS? sthe output is the same as before. After this I tried typing AT+CMGS=<+39xxxxxxx><13><26> and it returns an error message that says:

AT+CMGS=<+39xxxxxxx><13><26>

ERROR

+CPIN: READY

Call Ready

SMS Ready)

GSM.println("AT+CMGS="XXXXXTELXXXXXX"");
delay(1000);
Sim900.println(mensaje);
delay(3000);
Sim900.println((char)26); // end of message command mySerial.println((char)26)
delay(2000);
Sim900.println("\r");

I HOPE IT WORKS FOR YOU