title: GSM SM5100B C M E E R R O R : 4 error
body: <p>I am using Arduino to control an SM5100B GSM device, everything works except when I want to send an SMS after receiving another. I get this,</p>
  
  <p>Error code:</p>
  
  <blockquote>
    <p>O K         >       + C M G S :   2 5         O K         + C M E   E R R O R :   4</p>
  </blockquote>
  
  <p>My code for handling the aforementioned received SMS:</p>
  
  <pre><code>     #include &lt;SoftwareSerial.h&gt;  //Include the NewSoftSerial library to send serial commands to the cellular module. 
          char inchar;                //Will hold the incoming character from the Serial Port. 
          SoftwareSerial cell(2,3); 
          char mobilenumber[] = "0597010129";
          void setup() { 
          //GSM
          Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
          Serial.println("Initialize GSM module serial port for communication.");                       
          cell.begin(9600); 
          delay(35000); // give time for GSM module to register on network etc. 
          Serial.println("delay off");
          cell.println("AT+CMGF=1"); // set SMS mode to text 
          delay(200); 
          cell.println("AT+CNMI=3,3,0,0"); // set module to send SMS data to serial out upon receipt 
          delay(200); 
          } 
  
  
  
          void loop() {   
  
           if(cell.available() &gt;0)//If a character comes in, from the cellular module
           { 
           inchar=cell.read(); 
           Serial.println(inchar); 
           if (inchar=='#'){ // OK - the start of our command 
  
             delay(10); 
             inchar=cell.read();
             Serial.println(inchar);  
  
               if (inchar=='a'){ 
  
                 delay(10); 
                 Serial.println("The folowing SMS : \n");
                 inchar=cell.read();
                 Serial.println(inchar); 
  
                 if (inchar=='0'){ //sequance = #a0
  
                   Serial.println("#a0 was received"); 
  
               }
               else if (inchar=='1'){//sequance = #a1
  
                  Serial.println("#a1 was received ");
                  sendSms();
  
               }
           }
           cell.println("AT+CMGD=1,4");// AT command to delete all msgs
           Serial.println(" delete all SMS"); 
            } 
          }//end of  if(cell.available() &gt;0) {...}
          }
  
          void sendSms(){
          //cell.println("AT+CMGF=1"); // set SMS mode to text 
          cell.print("AT+CMGS=");  // now send message... 
          cell.print((char)34); // ASCII equivalent of " 
          cell.print(mobilenumber); 
          cell.println((char)34);  // ASCII equivalent of " 
          delay(500); // give the module some thinking time 
          cell.print(":D hello m3alleg :D");   // our message to send 
          cell.println((char)26);  // ASCII equivalent of Ctrl-Z 
          delay(20000);
  }
  </code></pre>