Idle-Timeout is a value which tells the router to disconnect a user who is not using the connection for a period of time.
Let’s face it: most users don’t log out, especially if they just walk away from the AP with their mobile phone, or close their laptop. When they do that, the router thinks that they are still there, but they don’t do anything. If the idle-timeout passes, the router closes the session automatically. However when they come back, they need to re-login through the splash page to start a new session.
If you increase the idle-timeout attribute to let’s say 24 hours, users who come back within a day won’t need to re-login, they can use the internet without having to go though the splash page again, and log in.
If you keep the session for users, you have to be sure that:
The router needs to handle many simultaneous users (even though they are not using the hotspot simultaneously the router needs to handle all the sessions until they are open, send usage information periodically to our servers, etc)
The router is configured to be able to give out as many IP addresses as needed (as the IP address won’t be released until the session is open)
Even the guest users (who are connected to the hotspot but didn’t log in) will get an IP for that long time (imagine all the phones that are automatically connects to your hotspot but most of them will probably never log in)
What’s the difference between Idle-Timeout for time-based accesses and usage-based accesses?
Time-based access means that the access will expire when a given date is reached, no matter how long the user stayed online. As we don’t count the time spent online, we can give a high idle-timeout value for these users (even 1 month in case you give out monthly accesses)
In case of usage-based accesses where the access expires when a pre-defined usage is reached, we count the time spent online. It is not wise to give a high idle-timeout here because the router will think they are still online and count the time for them, and it can be expired quickly even if the user was not online. In case of usage-based accesses there is a warning on the splash page which tells users to log out to avoid this, but not all will do that. (If they ask, you can tell them to use http://www.hotspotlogout.com website to log out)
Default timeout values are 60 minutes for accesses where access expires at a given date, no matter how long the user was online, and 15 minutes for those who can pause the time and re-use it later. You can change this value in the Control Center, under Manage > Locations > click on name > Modify Hotspot Data > Set Default Limits.
You also have to be sure that DHCP lease time is also set to a higher value in your router. In most routers the default value is 60 minutes so you only need to change this if you want a higher value. The steps that are needed for this can be found below:
For Mikrotik devices.
For OpenWRT there is no further configuration needed.
In DD-WRT the idle time is not supported.