Hilo Sagem+Arduino 2009 Problema lettura seriale

Ciao a tutti!
Tempo fa decisi di creare un cerca persone con arduino e ci sono riuscito. Oggi, dopo tanto tempo ho ritrovato un vecchio sketch ed ho deciso di riutilizzarlo.
Ho un problema però… Il modulo si accende benissimo e se provo a chiamare la sim squilla però non ho nessuna dicitura sulla seriale e di conseguenza non mi funziona lo sketch.
Ecco il codice.

   #include "pitches.h"
const int buttonPin = 8;     // the number of the pushbutton pin
   int led = 13; //3
   int led2 = 12; // 2
   int led3 = 11; //4
   int led4 = 10; // 5
   int led5 = 9; // 1
int buttonState = 0;  
   int onModulePin = 2;        
   String ReadLine;                                

  void switchModule(){
   digitalWrite(onModulePin,HIGH);
   digitalWrite(led5, HIGH);
   delay(500);
   digitalWrite(led5, LOW);

   delay(10);
   digitalWrite(led3, HIGH);
   delay(500);
   digitalWrite(led3, LOW);

   delay(10);
   digitalWrite(led2, HIGH);
   delay(500);
   digitalWrite(led2, LOW);

   delay(10);
   digitalWrite(led, HIGH);
   delay(500);
   digitalWrite(led, LOW);

   delay(10);
   digitalWrite(led4, HIGH);
   delay(500);
   digitalWrite(led4, LOW);

   delay(10);
   delay(500);
   digitalWrite(led, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);
   delay(500);

   delay(10);
   digitalWrite(led, HIGH);
   digitalWrite(led2, HIGH);
   digitalWrite(led3, HIGH);
   digitalWrite(led4, HIGH);
   digitalWrite(led5, HIGH);
   delay(500);
   digitalWrite(led, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   digitalWrite(led5, LOW);

   delay(10);
   delay(2000);
   digitalWrite(onModulePin,LOW);
   }
   
 void setup(){
     pinMode(buttonPin, INPUT);
  pinMode(led, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);

  pinMode(onModulePin, OUTPUT);

  Serial.begin(9600);              
    
  switchModule();                    
 
  for (int i=0;i<2;i++){
   delay(5000);                        
  } 
   Serial.println("AT+CMGF=1;");      
}

   void loop(){
     buttonState = digitalRead(buttonPin);
     int16_t c;
     if(Serial.available()){
       while(Serial.available()>0){
         delay(10);
         char c =Serial.read();
         ReadLine += (char)c;        
       }
       Serial.print(ReadLine);
       //casa led 13
       if((byte)ReadLine.indexOf("+390575999922") < 255){
         digitalWrite(led, HIGH);
         suoneria();
         delay(1000);
         digitalWrite(led, LOW);
         delay(1000);
       } else if((byte)ReadLine.indexOf("+390575999955") < 255) {
         digitalWrite(led2, HIGH);
         suoneria();
         delay(1000);
         digitalWrite(led2, LOW);
         delay(1000);
       } else if((byte)ReadLine.indexOf("+390575999977") < 255) {
         digitalWrite(led3, HIGH);
         suoneria();
         delay(1000);
         digitalWrite(led3,LOW);
         delay(1000);
       } else if((byte)ReadLine.indexOf("+39057599988") < 255) {
         digitalWrite(led4, HIGH);
         suoneria();
         delay(1000);
         digitalWrite(led4, LOW);
         delay(1000);
       } else if((byte)ReadLine.indexOf("+3905759999") < 255) {
         digitalWrite(led5, HIGH);
         suoneria();
         delay(1000);
         digitalWrite(led5, LOW);
         delay(1000);
        delay(10000);
       } else if((byte)ReadLine.indexOf("+CLIP:") < 255) {
    
       delay(10);
       digitalWrite(led, HIGH);
       digitalWrite(led2, HIGH);
       digitalWrite(led3, HIGH);
       digitalWrite(led4, HIGH);
       digitalWrite(led5, HIGH);
       delay(1000);
       digitalWrite(led, LOW);
       digitalWrite(led2, LOW);
       digitalWrite(led3, LOW);
       digitalWrite(led4, LOW);
       digitalWrite(led5, LOW);
       ReadLine="";
       } else {
       digitalWrite(led, LOW);
       digitalWrite(led2, LOW);
       digitalWrite(led3, LOW);
       digitalWrite(led4, LOW);
       digitalWrite(led5, LOW);
       ReadLine="";
       }
       ReadLine="";
     }
   }
   


void suoneria(){
int suoni[] = {
NOTE_C7, NOTE_G7,NOTE_G7, NOTE_A7, NOTE_G7,0, NOTE_B7, NOTE_C7};
int noteTempi[] = {4,8,8,4,4,4,4,4};
 
   for (int Nota = 0; Nota < 8; Nota++) {
    int noteTempo = 1000/noteTempi[Nota];
    tone(8, suoni[Nota],noteTempo);
    int pauseBetweenNotes = noteTempo * 1.30;
    delay(pauseBetweenNotes);
  }

}

Mentre pitches.h contiene le note.
Per favore sapreste dirmi dove sbaglio?. Grazie a tutti!