The time can vary widely depending on the size of your database, call-by-call database, CPU, size of database partitions, etc. I've seen the database initialization phase take anywhere from 15 minutes to 8-1/2 hours. And that is only a small portion of the upgrade. For the database restore phase, Nortel cautions that large databases can take 12 hours or more to restore (DTR-2004-0178-Global-Rev 3). More often it takes 1/2 to 1 hour,
You can do almost the entire process during the day, except for the database integrity check and the actual cutover. For 4.2 to 5.0, you can "refresh" the database after migration and before cutover. Meaning, you can get the entire migration completed including database. Then, when you are ready to cut, run another network backup from the old server and restore it to the new server, then cut it over.
Will you be installing coresident Web Client? Allow time for that, if so. How many agents do you have?
Using the scenario I described above, you will need a short window (1/2 to 1 hour) for the database integrity test, and another window for the cutover (couple hours, including getting new backup, post-migration database integrity check, etc.). The rest could be done during the course of a day, without being service-affecting. You will also have a good idea of how long the database restore will take, so that you can plan a more accurate window.