Break/Stop loop with MQTT payload/message

If i take it out the "volume-ups" part works. "Up" is printed one time.

What is the "it" that you take out?

Sorry, I was trying to preserve the essential parts of your code, while modifying it to fit more of how I think it will work.

Here's a corrected version...

// MQTT Callback
void callback(char* topic, byte* payload, unsigned int length) {

  // replace your Serial prints here for debugging

  // IR Remote Sony TV
  if (strcmp(topic,"skulltronics.net/hive/floor/optimus-prime/IR-SonyTV")==0) {
    strncpy(message, (char *)payload, 20);
  }
  // Volume Up
  if (strcmp(message,"volume-ups")==0) {
    Serial.println("up");
    delay(50);
  }
  // Stop Volume Up
  if (strcmp(message,"volume-stop")==0) {
    // do whatever you need to stop the volume-up
    Serial.println("stop volume-up");
    message[0] = '\0';
  }
} // End MQTT Callback

What do you get if you put a Serial.println(message); before the first if in callback()?