     while (isTalking && (gsmVoiceCall.getvoiceCallStatus() == TALKING)) {
       refreshButtons();
     }
+    gsmVoiceCall.hangCall();
     // ПРОВЕРИТЬ: когда трубку кладут "тут" и когда кладут "там".
     // ПРОВЕРИТЬ: когда занято.
   }
 }
 
 void sendDigit() {
+  if (gsmVoiceCall.getvoiceCallStatus() != TALKING) {
+    return;
+  }
   if (phoneNumber == "") {
     return;
   }

    Serial.println("Headset down");
    isGettingDigit = false;
    if (isTalking) {
      gsmVoiceCall.hangCall();
      isTalking = false;
    }
  }

}

void makeCall() {
  if (isTalking) {
    return;
  }
  Serial.println("Making call: " + phoneNumber);
  updatePhoneNumberForRussia();
  phoneNumber.toCharArray(phoneNumberChars, phoneNumber.length() + 1);
