Problema con comunicacion de sim900 icomsat

Hola comunidad tengo un problema con una Shield GPRS Icomsat, resulta que realicé un progrma que enviava mensajes y recibia mensajes, en mi trabajo funciona bien pero cuando me lo llevo a mi oficinaa en mi casa no funciona, solo envia mensajes pero no los recibe, alguno me podria echar una mano. me urge

#include <SoftwareSerial.h>


SoftwareSerial SIM900(2,3);

String MensajeTexto;
const int led= 13;      
const int motor=12;      
const int valvula=11;      
const int pir=6;      
int sensorState=0;


void setup() {

  SIM900.begin(2400);
   Serial.begin(9600); 
   delay(2000);
  SIM900.print("AT+CMGF=1\r"); /* Configura el modo texto para enviar o recibir mensajes. Devuelve “>” como inductor. Configuración del módulo GSM en modo texto */
  delay(100);
  SIM900.print("AT+CNMI=2,2,0,0,0\r"); /*   Configuramos el módulo para que muestre los SMS por el puerto serie, El módulo enviará los mensaje 
                            directamente al puerto serial del dispositivo.    */
  delay(100);
  SIM900.print("AT+CMGD=1,4\r");  /*  El comando AT + CMGF configura el módem GSM en modo de texto SMS o modo PDU SMS  */
  delay(2000);
  pinMode(led,OUTPUT);
  pinMode(motor,OUTPUT);
  pinMode(valvula,OUTPUT);
  pinMode(pir,INPUT);
}

void loop() {

  if(SIM900.available() >0) {
    MensajeTexto = SIM900.readString();
    Serial.print(MensajeTexto);    
    delay(10);

  
  if( MensajeTexto.indexOf("Onall")>=0)
  {
  Serial.println("TODO ENCENDIDO");
  digitalWrite(motor,HIGH); 
  digitalWrite(valvula,HIGH);
  delay(2000);
  Serial.println("TODO APAGADO");
  digitalWrite(motor,LOW); 
  digitalWrite(valvula,LOW);
  }
  
 if( MensajeTexto.indexOf("Ondc")>=0)
  {
 Serial.println("Motor encendido"); 
  digitalWrite(motor,HIGH);
  delay(2000);
  Serial.println("Motor apagado"); 
  digitalWrite(motor,LOW);
  }

 if( MensajeTexto.indexOf("Onval")>=0)
  {
  Serial.println("Valvula encendida"); 
  digitalWrite(valvula,HIGH);
  delay(2000);
  Serial.println("Valvula apagada");
  digitalWrite(valvula,LOW);
  }
  }

 sensorState = digitalRead(pir);
  if(sensorState==1)
  {
  Serial.println("PIR activado");
  sendSMS();  
  while(sensorState==1)
  {
  sensorState = digitalRead(pir);
  delay(200);
  }
  }
}


void sendSMS()
{
  SIM900.println("AT + CMGS = \"+50688781830\""); 
  delay(100);
  SIM900.println("Usuario Presente"); 
  delay(100);
  SIM900.println((char)26); 
  delay(100);
  SIM900.println();
  delay(100); 
  SIM900.print("AT+CMGF=1\r"); 
  delay(100);
  SIM900.print("AT+CNMI=2,2,0,0,0\r");
  delay(100);
  SIM900.print("AT+CMGD=1,4\r"); 
  delay(100);
 
}

Revisa via debug la comunicación con tu operador