In WD09 reasonable amount of time is defined.
"If the client does not receive a CONNACK packet from the server within a reasonable amount of time, the client SHOULD close the TCP connection. A "reasonable" amount of time depends on the type of application and the communications infrastructure."
However the term reasonable is also used in keepAlive section
"If a client does not receive a PINGRESP packet within a reasonable amount of time after it has sent a PINGREQ, it SHOULD close the TCP connection."
and in CONNECT control packet
"1. If the server does not receive a CONNECT packet within a reasonable amount of time after the TCP connection is established, the server SHOULD close the connection."
We may have to provide consistency in defining reasonable amount of time where needed for client and severs perspective.