RECIBIR CADENAS DESDE JAVA COMPLETAS

Hola amigos. Soy nuevo en esto de arduino, se un poco de de programacion java lo que me ha permitido entender algo d arduino. Bien mi problema esque necesito recibir una cadena de texto que envio desde un programa hecho en java a traves de la libreria panamahitek. El problema es que necesito envia un numero de celular de esta forma "+593988968352;" y quiero recibirlo completo para almacenarlo en un sprintbuffer para luego enviarlo en forma de codigo AT hacia un modulo gsm sim900 y no puedo. Eh intentando de varias formas pero nada. Y uno de mis mayores problemas que no se como identficar con algun if que lo q esta leyendo el puerto serie es mi numero porque a parte de ese numero tambien recibo otros datos desde java. Aqui adjunto mi codigo de arduino espero me puedan ayudar.

#include <SoftwareSerial.h> 
SoftwareSerial SIM900 ( 2, 3 ) ; // Configurar los puertos de comunicacion serie
 int input;
 String num;
 String auxtamano="";
 char auxnum;
 char auxcadena[14];
 byte index = 0;
 char MENSAJE[]="SISTEMA ALARMA RFID: SE SUSTRAJO DE SU HOGAR TV PLASMA LG 65UH8500";
 char NUMERO[]="+593988968351";
 //String NUMEROLLAMAR;
 //char NUMEROLLAMAR[]="+593988968351";
 char mibuffer[100];
 char bufferllamar[100];
void setup ( ) 
{ 
   SIM900 . begin ( 19200 ) ;                
  // SIM900power ( ) ;   
  // delay ( 20000 ) ;    // Dar tiempo para iniciar y conseguir RED.
  // numero.begin(9600) ;
   Serial.begin(9600);
   delay(1000);
 //  sprintf(bufferllamar, "ATD + %s ", auxnum);
   sprintf(mibuffer, "AT+CMGS = \"%s\"\r", NUMERO);
   
} 

 
void loop ( ) 
{ 
  SIM900power();
   if(Serial.available()>0){
   
   // if(input=='+'){
      /* if(index < 12) // One less than the size of the array
      {
          auxnum = Serial.read(); // Read a character
          auxcadena[index] = auxnum; // Store it
          index++; // Increment where to write next
          auxcadena[index] = '\0'; // Null terminate the string
      }*/
      auxtamano=Serial.readString();
      
      if(auxnum==';'){
        auxtamano.toCharArray(auxcadena,14);
       sprintf(bufferllamar, "ATD + %s ", auxcadena); 
      }
    
      
    //}
    
     
    input=Serial.read();
    if(input=='f'){
    callSomeone ( ) ; // Llama 
   // SIM900power ( ) ;    // Apaga el telefon 
   //do { } while ( 1 ) ; // Hazlo 
   delay(500);
   llamarpoli( ); 
    } 
   delay ( 500 );
  
    if(input=='g'){
     
      sendSMS ( ); 
     // do { } while ( 1 ) ;
    }
   delay ( 500 );
    
    if(input=='a'){
     
      sendSMSpoli ( ); 
     // do { } while ( 1 ) ;
    }
   delay ( 500 );
    
    if(input=='h'){
     sendSMS3 ( );
    //  do { } while ( 1 ) ;
    }
    delay ( 500 );
   
    if(input=='b'){
     sendSMSpoli2 ( );
    //  do { } while ( 1 ) ;
    }
    delay ( 500 );
  
    if(input=='i'){
     sendSMS4 ( );
     // do { } while ( 1 ) ;
    }
     delay ( 500 );
    if(input=='c'){
     sendSMSpoli3 ( );
    //  do { } while ( 1 ) ;
    }
    delay ( 500 );
     
    if(input=='j'){
     sendSMS5 ( );
    //  do { } while ( 1 ) ;
    }
     delay ( 500 );
    if(input=='d'){
     sendSMSpoli4 ( );
    //  do { } while ( 1 ) ;
    }
      delay ( 500 );
    if(input=='k'){
     sendSMS6 ( );
    //  do { } while ( 1 ) ;
    }
    
    delay ( 500 );
    if(input=='e'){
     sendSMSpoli5 ( );
    //  do { } while ( 1 ) ;
    }
   
   }
   
}

disculpen el desorden

anlimoca:
El problema es que necesito envia un numero de celular de esta forma "+593988968352;" y quiero recibirlo completo para almacenarlo en un sprintbuffer para luego enviarlo en forma de codigo AT hacia un modulo gsm sim900 y no puedo.

Los datos recibidos tienen algún "formato"?
Si hubiera algún caracter que separe los datos...

anlimoca:
Y uno de mis mayores problemas que no se como identficar con algun if que lo q esta leyendo el puerto serie es mi numero porque a parte de ese numero tambien recibo otros datos desde java.

No sería más fácil comparar una cadena variable (número recibido) con una cadena constante (tu número)?