 const int HANDSET_PIN = A0;
 const int ROTATE_PIN = A1;
 const int COUNTER_PIN = A2;
+const int ASTERISK_PIN = A3;
+const int NUMBER_SIGN_PIN = A4;
+const int PLUS_PIN = A5;
 const int LED_PIN = 13;
 const int AUTO_START_GSM_PIN = 8;
 
 Button buttonHandset(0, 1023);
 Button buttonRotate(0, 1023);
 Button buttonCounter(0, 1023);
+Button buttonAsterisk(0, 1023);
+Button buttonNumberSign(0, 1023);
+Button buttonPlus(0, 1023);
 
 boolean isGettingPhoneNumber;
 boolean isGettingDigit;

  pinMode(HANDSET_PIN, INPUT);
  pinMode(ROTATE_PIN, INPUT);
  pinMode(COUNTER_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
  pinMode(AUTO_START_GSM_PIN, OUTPUT);
  delay(100);

  }
}

void asteriskHandler(telephone::ButtonState buttonState) {
  if (buttonState == PRESSED) {
    Serial.println("Asterisk pressed");
    addSymbolToPhoneNumber("*");
  }
}

void numberSignHandler(telephone::ButtonState buttonState) {
  if (buttonState == PRESSED) {
    Serial.println("Number sign pressed");
    addSymbolToPhoneNumber("#");
  }
}

void plusHandler(telephone::ButtonState buttonState) {
  if (buttonState == PRESSED) {
    Serial.println("Plus pressed");
    addSymbolToPhoneNumber("+");
  }
}

void addSymbolToPhoneNumber(String symbol) {
  if (isGettingPhoneNumber && (!isGettingDigit)) {
    phoneNumber += symbol;
    if (isTalking) {
        sendDigit();
    }
  }
}

// Adaptered for Russian Beeline operator.
// Modify this function for your country or operator.
boolean isValidPhoneNumber() {
