Tengo este codigo diseñado para que cuando se reciba llamada de un numero autorizado ésta se cuelgue pero no funciona. Por favor, ¿podéis ayudarme?
//Declaramos la variables para la obtención de
//VARIABLES PARA EL MODULO GMS
String inGSM; //Almacenar la informacion leida del modulo gsm
String numList[]={"xxxxxxxxx","xxxxxxxxx"}; //Numeros autorizados
boolean enviado=false; //para saber si hemos enviado sms con coordenadas
double ttl=0; //Tiempo de vida
void setup() {
Serial.begin(9600);
delay(1000);
Serial.print("AT+CMGF=1\r"); // Configuración del módulo GSM en modo texto.
delay(100);
Serial.print("MODULO GSMS");
enviado=false;
}//Fin Setup
//Comprobamos si el numero llamante es autorizado
boolean isAllow(String num) {
for (int i=0;i<sizeof(numList);i++) {
if (num==numList[i])
return true;
}//Fin for
return false;
}//Fin isAllow
void loop() {
bool finGSM = false;
inGSM = "";
ttl++;
int c ;
//Leer eventos en modulo gs
while (Serial.available()) {
delay(10);
inGSM += (char)Serial.read();
finGSM = true;
} //Fin while
if (finGSM)
Serial.print(inGSM);
//Si entra llamada
if (inGSM.indexOf("RING")>-1) {
delay(100);
String num;
int inicio=inGSM.indexOf('"')+1;
int fin = inicio+9;
num = inGSM.substring(inicio,fin); //Extraer n'umero
//Si autorizado,
if (isAllow(num) && enviado==false) {
delay(1000);
Serial.print("ATH\r");
delay(100);
enviado=true;
}//Fin if
}//Fin if
}//fin loop