RADIUS and Sessions

How Session Expiry Works in a Hotspot Billing System

If you run a paid WiFi service, you already know that the hardest support messages are rarely about speed. They are about endings. "Why did I get kicked...

1. Introduction to Session Expiry in Hotspot Billing

If you run a paid WiFi service, you already know that the hardest support messages are rarely about speed. They are about endings. “Why did I get kicked off?” “I still had time left.” “I only watched one video.” Most of these messages come from one root cause: the user did not understand when or why the session would end.

That is what hotspot billing session expiry is about. In practical terms, session expiry is the point where the system closes a paid internet session and stops giving that user access under that login. Every paid session needs a clear end point. Without one, you cannot sell a fixed amount of access, you cannot protect shared capacity, and you cannot answer a customer who says the numbers look wrong.

In this guide I will walk through how hotspot billing session expiry works from the operator side: what a session is, how time limits, data limits and idle rules close it, what users see when it happens, and how they get back online. I wrote it for hotspot operators, small ISP staff and venue WiFi admins who have basic networking familiarity and want practical guidance, not protocol detail. The ideas apply whether you use FLUXI or any other hotspot billing system.

The theme you will see throughout is simple. When expiry rules are clear, consistent and visible to users, disputes drop and support queues shrink. When they are vague, every closed session becomes a conversation.

2. What a Hotspot Billing Session Covers

A billing session is one continuous block of paid access, from the moment a user is allowed online to the moment that access is closed. It is the unit your system uses to count time, count data and write accounting records. Everything else in this guide, from the hotspot session timeout to the final usage record, hangs off that definition.

Operators need one consistent definition because three things depend on it. Time is counted per session, data is counted per session, and accounting records are written per session. If your staff describe a session one way, your portal behaves another way and your reports count it a third way, you will never be able to settle a dispute cleanly. Pick one clear definition, write it into your support notes, and use the same words with customers.

2.1 Session Start and Authentication

A session starts after session authentication. The user connects to your WiFi, gets sent to the captive portal, and logs in with whatever your service uses, such as a voucher code, a purchased plan or an account. When the system accepts those details and opens access, the captive portal session begins.

That acceptance is the official start for billing and tracking. Not the moment the phone joined the WiFi, and not the moment the user opened the login page. Only the moment access is granted. This matters because it gives you a clean starting line. If a user says they connected at a certain time but never completed login, there is no paid session to count.

Tell users this in plain words: “Your time starts when you log in, not when you join the WiFi.” It prevents a surprising number of complaints.

2.2 Active Session State

Once access is granted, the session is in its active session state. In operational terms, active means the user is authenticated, allowed to use the network, and being tracked against the limits of their plan.

While a session is active, the system keeps watch on a few things: how long the session has been running, how much data has gone through, and whether there has been any meaningful traffic recently. Each of these ties to a rule. Time ties to the allowed time. Data ties to the allowed data. Recent traffic ties to the idle rule. As soon as any one of those rules says the session has reached its limit, expiry begins.

Think of the active state as a meter that runs quietly in the background. The user browses, and the meter counts. Your job as operator is to decide which limits sit on that meter and to tell users what they are.

2.3 Session Records and Accounting

Behind every session sits a record. Hotspot session accounting is the practice of writing down what happened during a session so you can bill, support and report on it accurately.

A typical record captures three moments. First, the start, when access was granted. Second, updates during use, which keep the running totals of time and data current. Third, the closure, which records that the session ended and the final totals. Together they tell the whole story of a session from login to close.

These records matter most when something goes wrong. If a customer says “I lost my internet early,” you can open the session record and see how long it ran, how much data it used and why it closed. Instead of arguing from memory, you answer from facts. Good accounting is the quiet foundation of fewer support requests.

3. Time Based Session Expiry

Time is the most familiar way a session ends. You sell a block of access, such as an hour, a day or a longer period, and when that time is used up, the session closes. Many operators build their offers around time based packages because customers understand them instantly: pay for a period, use the WiFi in that period.

From the user’s side, a time-based expiry looks like this: they browse as normal, then access stops, and they are sent back to the login or status page. Nothing is broken. The time they bought has run out. The difference between a calm customer and an angry one is usually whether they knew it was coming.

There are a few ways time limits work in practice, and they are worth keeping separate in your own mind and in your messaging.

3.1 Maximum Session Duration

Maximum session duration is the longest a single continuous session is allowed to run. Operators set it so that no one session stays open forever, even when the user is busy the whole time. It is often called a hotspot absolute timeout because it counts the clock from the start of the session, no matter what the user is doing.

The key point is that it applies even when the user is still active. A person streaming or working the entire time will still be closed once the maximum is reached. That surprises people who assume that active use keeps them online. So say it clearly on the plan description: “This plan allows one session of up to a set length. When it ends, log in again to continue if you still have allowance.”

Operators use this limit for fairness and control. It keeps the number of long-running sessions predictable and gives every plan a defined shape.

3.2 Daily Time Allowance and Reset Behavior

A daily time allowance caps how much total time a user can spend online within a day, even if that time is split across several sessions. A user might log in for a while in the morning, leave, and come back in the evening. The time from both visits adds up against the same daily allowance.

Reset behavior is simply the rule for when that daily total goes back to zero. In plain terms, usage accumulates through the day, and at the reset point the counter starts fresh so the user can use their daily allowance again. What matters operationally is that you know exactly when your system resets and that you tell users in the same words. If a user is told “resets daily” but does not know when, they will assume the reset happens at a convenient moment for them and then contact you when it does not.

Keep one simple sentence in your help text, such as: “Your daily time builds up across all your sessions and starts again at the daily reset.” Then make sure the reset point is stated wherever your plan is described.

3.3 How Remaining Time Is Tracked

How hotspot remaining time is tracked is easy to understand. The system knows how much time the plan allows and how much has been used. Remaining time is the allowed time minus the used time. During an active session, the used time grows as the session runs, so the remaining time counts down.

Both operators and users should be able to see that countdown. For operators, it appears in the session record and in whatever live view your system offers. For users, it should appear on a status page or on screen status, in a simple form such as time left. When people can read their own time left, they stop guessing, and they plan their usage instead of being caught off guard.

4. Data Usage Based Session Expiry

Some plans are sold by data instead of time. The user gets an allowance, and once it is used up, the session ends. Operators often use data cap packages when they want users to pay for what they consume, or when time-based limits do not suit how people use the network.

The hotspot data limit works much like the time limit, except the meter counts data instead of minutes. A user can stay connected for hours using very little, or burn through the allowance quickly with a few heavy activities. When the allowance is gone, the session closes, and the user sees the same kind of end-of-access message they would see for time expiry.

4.1 Upload and Download Accounting

Download accounting counts data coming to the user’s device: web pages, video, app updates, images. Upload accounting counts data going out from the device: sent photos, shared files, cloud backups, video calls. In simple terms, both directions use the network, so both can count toward the allowance.

This is worth explaining because users usually think only about downloading. A person who uploads a large video or leaves a backup running may be surprised to see their allowance drop. A single plain sentence on your plan page helps: “Data used includes both what you download and what you upload.”

4.2 Total Data Allowance Limits

A total data allowance is the overall amount of data a plan permits. It caps the session, and any plan period, at that amount. When the used data reaches the allowance, the system closes the session through automatic session close, and the user cannot continue until they have new allowance.

The best way to communicate this limit is to say it where the user decides to buy. State the allowance on the plan, repeat it on the status page, and use consistent wording everywhere. If the plan page says one thing and the status page uses another term, you create confusion that did not need to exist.

4.3 How Remaining Data Is Tracked

How hotspot remaining data is tracked follows the same logic as time. Remaining data equals the total allowance minus the data already used. Every time the user browses, streams, downloads or uploads, the used figure goes up, so the remaining figure goes down.

Different activities drain it at different speeds. Reading a page uses little. Streaming video uses much more. Large downloads and uploads can use a lot very quickly. This is why showing remaining data on screen is so helpful: users see the effect of what they do and can decide whether to keep streaming or save their allowance. It also means fewer messages saying “my data finished too fast.”

5. Idle Timeout and Inactivity Expiry

Time and data are not the only reasons a session can end. The third common rule is the idle timeout. In plain operational language, a hotspot idle timeout closes a session when the user has stopped using the connection for a set period, even if they still have time and data left.

Why have it alongside time and data limits? Because a session can stay open without anyone using it. Someone leaves a phone connected on a desk, walks out of the venue, or switches off the screen and forgets about it. Without an idle rule, that session would hold its place until the time or data ran out. The idle timeout cleans these up and protects shared capacity.

5.1 How Idle Time Is Detected

Idle time detection is based on one idea: a period with no meaningful user traffic. If the user is browsing, streaming, downloading or otherwise sending and receiving data, the session is clearly in use. If there is nothing meaningful for the whole idle period, the system treats the session as inactive.

The system watches for this inactivity while the session is in its active session state. When the idle period is reached with no meaningful traffic, the session closes. The important word is meaningful. A phone that is simply sitting connected is not really being used, and that is the kind of quiet connection the rule is designed to catch.

Tell users the practical version: “If you stop using the internet for a while, the session may close and you will need to log in again.”

5.2 Purpose of Idle Timeout in Shared Networks

On shared venue and operator networks, capacity is limited and many people depend on it. Idle timeout supports that in three ways.

First, it frees capacity. Closed idle sessions stop taking up room that active users could use. Second, it prevents stuck sessions. Devices that left, crashed or lost contact do not leave sessions hanging open. Third, it keeps access fair, because paid sessions are tied to real use rather than to forgotten connections.

For a cafe, hotel lobby or small ISP network, this is the difference between a session list full of ghosts and a list that reflects who is really online.

5.3 Difference Between Idle Timeout and Absolute Timeout

This is the difference between idle timeout and absolute timeout in hotspot setups, and it is the one operators most often have to explain.

An idle timeout closes a session because of inactivity. The user stopped using the connection, so the system ends the session. An absolute timeout closes a session because the maximum allowed length was reached, even with active use. The clock simply ran out on that session.

One question separates them: was the user active when the session ended? If not, think idle timeout. If yes, and the session still closed because it hit its maximum length, think absolute timeout. Keep this in your support script, because customers tend to describe both as “it kicked me off,” and the right answer depends on which one applied.

6. Manual Logout and User Initiated Session End

Not every session ends because a limit was reached. Sometimes the user, or a staff member, ends it directly. These endings are separate from automatic time, data or idle expiry, and they are worth understanding so you can explain them clearly.

6.1 Logout Through the Captive Portal

How manual hotspot logout works through the captive portal is straightforward. The user opens the portal or status page, finds the logout option, and confirms. The system closes the session, stops access, and returns the user to the login page, usually with a message that they have been logged out.

Users find logout on the portal or status page that they see while connected, so it needs to be easy to spot. Operators should make manual logout visible for a simple reason: a user who can end their own session cleanly is less likely to leave it running, and less likely to be confused about why their session is still counting. It also helps on shared devices, where a person should be able to leave without handing the next user an open session.

6.2 Device Disconnect and Network Interruption

A device disconnect happens when a device leaves WiFi, loses signal, powers off or is switched into another mode. Network interruption covers short breaks where the connection drops and comes back.

In practical terms, the user stops using the network at that moment, but the billing session does not always end at that exact moment. The system may wait to confirm the user is really gone, and a short interruption may let the user resume without a new login. A longer absence can end up closed by the idle rule or another limit.

What you can tell users is this: “If your phone drops off the WiFi for a moment, you may be able to carry on. If you were gone for a while, the session may have closed and you will need to log in again.” That simple explanation covers most of the situations you will see.

6.3 Administrative Session Termination

Sometimes your staff need to end a session manually. This is administrative session termination, and it has legitimate uses: a support case where a session is stuck, abuse control when a user is misusing the network, or operational needs such as a change that requires users to reconnect.

From the user’s side, the experience looks like any other closed session. Access stops and they are sent back to the login or status page. Because this ending was not triggered by their own limits, it is worth giving them a clear explanation when they ask. Keep a short, honest line ready for your team to use so that staff handle these cases consistently and the user understands what happened.

7. What Happens When Session Limits Are Reached

By this point, you have seen the different rules that can end a session. What matters next is that they all lead to the same standard sequence. When any limit is reached, the session closes, the user is shown that access has ended, and the usage record is finalized. If you know this sequence well, you can set expectations before anyone is surprised. It also helps to understand how logins are checked in the first place, which our guide on the RADIUS authentication process covers.

This is the answer to the common question of what happens when hotspot session expires: close, redirect, then record.

7.1 Automatic Session Close

Automatic session close is what happens when a time, data, idle or maximum duration rule triggers. The system ends the session on its own, without waiting for staff or the user to do anything. Hotspot auto logout is the plain name many operators use for it.

Closure is consistent, not discretionary. The same rule produces the same result for every user. That consistency is a feature, because it means your answer to a dispute can be based on the rules rather than on someone’s judgment in the moment. If a user asks why they were closed, the record shows which limit triggered it.

7.2 Redirect to Login or Status Page

After closure, the user who tries to browse is sent back to the login page or a status page. This redirect does something important: it confirms that access has ended. Without it, the user might see pages simply fail to load and assume the network is broken.

What the user sees next should explain what happened and what to do. A good login or status page after expiry says that the session has ended, gives the reason if possible, and shows the way to log in again. That one screen can prevent a support message.

7.3 Final Accounting Update After Closure

Once the session has closed, the system makes a final accounting update. This closes the usage record so that the time and data totals are complete. The record now shows the full story: when the session started, how much time and data it used, and when it ended.

This final step matters for history and support review. A record that is never closed leaves totals incomplete and makes later questions harder to answer. With a final update, your team can look back at any past session and see exactly what it used and how it ended.

8. Session Expiry Notifications and Status Display

Most expiry disputes are really communication problems. The user did not know how much was left, or did not understand why access stopped. Clear status and messages solve that. When people can see their state at any moment and read a plain explanation at the end, they feel informed rather than cut off. If you also keep an eye on active hotspot users from your side, you can match what users see with what you see, which makes support calls much easier to resolve.

An expiry notification does not need to be fancy. It needs to be clear, consistent and easy to find.

8.1 On Screen Status During an Active Session

During an active session, useful on screen status shows the essentials in a way a user can read at a glance. That means the session state, such as active, plus the time left, the data left, or both, depending on the plan.

Keep the wording simple. “Time left” and “Data left” are easier to read than technical labels. If a plan has several limits, show the one the user is most likely to hit first. A user who can see that their allowance is getting low will make better choices, and a user who sees nothing will only find out when access stops.

8.2 Expiry Messages After Disconnection

When a session ends, the message the user sees should do three jobs. It should state that the session has ended. It should say why, whether that was time, data, idle or maximum duration. And it should say what to do next, such as logging in again or choosing a new plan.

A good message is short and specific. “Your session has ended because your time allowance was used up” tells the user everything they need. A vague message such as “Connection lost” leaves them guessing and sends them to your support line. Specific wording is one of the cheapest ways to reduce disputes.

8.3 Session History for Users

Session history for users is a simple list of their past sessions. Each entry shows when the session happened, how long it lasted, how much data it used and how it ended. It is the user-facing version of your accounting records.

History helps answer the questions that come up again and again: how much did I use, when did my last session end, and why did it close. When users can look this up themselves, they trust the system more and ask staff less. It also gives your support team a shared reference when a customer calls, because both sides can look at the same facts.

9. Starting a New Session After Expiry

Expiry does not have to be a dead end. The goal is for users to get back online without confusion, and that depends mostly on what you tell them. Once a session has closed, the path forward is a fresh login through the captive portal login page.

If you want to know how to start a new hotspot session after expiry, the steps are short, but the conditions behind them matter. Make both clear and users will rarely need help.

9.1 Reauthentication Steps

Hotspot reauthentication follows the same pattern as the first login. The user opens the captive portal, usually by being redirected when they try to browse. They enter their login details or voucher, or complete the purchase step your service uses. The system checks them, and if everything is in order, it opens a new session.

Operators should describe these steps in the expiry message itself. “Log in again to continue” with a clear button or link saves the user from searching for the right page. Short, repeated instructions work better than long explanations.

9.2 Conditions for Resuming Access

Logging in does not guarantee access. The user needs to meet the conditions for resuming. Depending on how you run your service, that may be an active plan with remaining allowance, a new purchase or voucher, or operator approval where that applies.

For example, a user whose daily allowance is used up may need to wait for the reset, while a user whose plan is fully used may need to buy again. State these conditions plainly so people know what to expect before they try. If a rule applies in your service, say it. If it does not, do not imply it.

9.3 Common Reasons Reconnection May Fail

Why hotspot reconnection fails after expiry usually comes down to a short list of causes.

  • No remaining allowance: the time or data on the plan is used up.
  • Incorrect login details: a mistyped code, username or password.
  • Device or signal issues: the device is not properly connected to the WiFi, or the signal is weak.
  • Account status needing review: something about the account requires staff attention.

Put this list into your support notes. When a user says they cannot get back on, your team can run through these checks in order and solve most cases quickly.

10. FAQ

10.1 Why did a session end while the device was still connected

Because staying connected to the WiFi is not the same as having a valid paid session. The device can still be joined to the network while the session behind it has closed. This happens when the time limit is used up, the data allowance is finished, the maximum session duration is reached, or the idle timeout triggers after a period with no meaningful traffic. After any of these, the user is sent to the login or status page, and the WiFi icon may still show as connected.

10.2 What is the difference between idle timeout and maximum session length

Idle timeout closes a session because the user stopped using it. Maximum session length closes a session because it has run for the longest time allowed, even if the user was active the whole way.

Here is an illustrative example. Imagine a plan with a maximum session length and an idle rule. A user who browses continuously will eventually be closed by the maximum length, because the total length was reached. A different user who stops using the connection and leaves the phone idle will be closed by the idle timeout, probably well before the maximum length. One is based on inactivity, the other on the absolute clock.

10.3 Does disconnecting from WiFi end a billing session immediately

Not always. When a device disconnects or the signal drops, the system may not close the billing session at the exact moment WiFi is lost. A short interruption may let the user carry on with the same session, while a longer absence may be closed by the idle rule or another limit. So the end of the billing session may not match the exact moment the WiFi dropped. If a user wants to end a session on purpose, using the manual logout on the portal is the clearest way.

10.4 What happens to unused time or data after expiry

In general terms, when a session or plan expires, the time or data that was not used is no longer available under that expired session. What happens beyond that depends on the rules your service sets. This guide does not assume any particular refund, rollover or extension policy, so if your service has one, state it clearly on your plan and portal pages and keep your support answers consistent with it.

10.5 How can users check remaining time or data before expiry

There are three normal ways. The first is on screen status during an active session, which shows time left, data left or both. The second is the status page, which users can open to check their current state at any time. The third is session history, which shows past sessions and how they ended. Pointing users to these three places in your help text will answer most “how much do I have left” questions before they reach your staff.

10.6 Why is login required again after a session expires

Because the expired session is closed, and a fresh login is how the system starts a new, controlled session. Hotspot reauthentication confirms who the user is, checks that they have allowance or a valid plan, and then opens a new session with its own start, tracking and accounting record. Without that step, there would be no clear boundary between the old session and the new one, and your time, data and accounting would become hard to trust.

Topics in this guide
Keep reading

More from the blog

RADIUS and Sessions

MikroTik RADIUS Billing: How the Pieces Fit Together

You already know RouterOS well. You can read an interface list, spot a misbehaving client and trace a connection problem without much fuss. The part that...

18 min read
RADIUS and Sessions

How RADIUS Authentication Works for Hotspot Billing

If you run pay per use WiFi, you have probably had this moment. A customer says they paid, the login page accepted their details, and yet the internet does...

18 min read
RADIUS and Sessions

What Is RADIUS and Why Do Hotspot Operators Use It?

A hotspot often starts small. There is one router, a few guests, and a short list of people who are allowed to connect. A router is the device that links...

18 min read