ricezione sms con gsm shield e libreria GSM.h

salve a tutti! ho da poco acquistato uno shield gsm per arduino e ho cominciato subito a provare un pò i vari esempi di sketch che stanno sulla guida ufficiale della libreria, utilizzando una sim wind perfettamente funzionante su cellulare. Quasi tutto ok: riceve chiamate e invia sms ma se provo a ricevere un sms arduino resta in attesa per tutto il tempo (sms.available()), senza ricevere nulla (ovviamente l'sms lo invio :)). quando poi prendo la sim e la inserisco nel cellulare, dopo pochissimo mi arriva!!! posto il codice che uso anche se in effetti è quello consultabile sia dall'IDE che dal sito arduino:

// include the GSM library
#include 

// PIN Number for the SIM
#define PINNUMBER ""

// initialize the library instances
GSM gsmAccess;
GSM_SMS sms;

// Array to hold the number a SMS is retreived from
char senderNumber[20];  

void setup() 
{
  // initialize serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  } 

  Serial.println("SMS Messages Receiver");
    
  // connection state
  boolean notConnected = true;
  
  // Start GSM connection
  while(notConnected)
  {
    if(gsmAccess.begin(PINNUMBER)==GSM_READY)
      notConnected = false;
    else
    {
      Serial.println("Not connected");
      delay(1000);
    }
  }
  
  Serial.println("GSM initialized");
  Serial.println("Waiting for messages");
}

void loop() 
{
  char c;
  
  // If there are any SMSs available()  
  if (sms.available())
  {
    Serial.println("Message received from:");
    
    // Get remote number
    sms.remoteNumber(senderNumber, 20);
    Serial.println(senderNumber);

    // An example of message disposal    
    // Any messages starting with # should be discarded
    if(sms.peek()=='#')
    {
      Serial.println("Discarded SMS");
      sms.flush();
    }
    
    // Read message bytes and print them
    while(c=sms.read())
      Serial.print(c);
      
    Serial.println("\nEND OF MESSAGE");
    
    // Delete message from modem memory
    sms.flush();
    Serial.println("MESSAGE DELETED");
  }

  delay(1000);

}

grazie in anticipo per le (numerosissime XD) risposte XDXDXD