Panel sessions to licensed routers (see Remote access to a router’s panel) are limited so that one session cannot run forever, use up a mobile data plan, or be left open by accident. Every session is recorded in the audit log.
Limits
| Limit | Value | Notes |
|---|---|---|
| Open sessions per router | 3 | Also enforced by the router itself |
| Open sessions per organisation | Your plan’s value | 10 in the standard IoT package |
| Panel data per month | Your plan’s value | 10 GiB in the standard IoT package; both directions of every session count |
| Idle timeout | 30 minutes | Any traffic in the session resets it |
| Hard limit | 4 hours from opening | Whatever the activity |
| Data cap on a mobile (LTE) uplink | 50 MB per session | You confirm before the session opens |
| Entry link | Works once, within 60 seconds | Opened in a new tab by Open panel |
| Router must connect | Within 90 seconds | Otherwise the session ends (no_dial) |
| Who can enter a session | Only the person who opened it | Others open their own |
The monthly data allowance is checked when a session is opened. A session already running is not cut off when the month’s allowance runs out during it; the next one is refused (“This month’s panel data allowance is used up.”). Data use appears on the usage page as Panel tunnel data, with alerts at 80 % and 95 % by default, plus a notice when it is used up and when it is exceeded. See Usage and quotas.
Your plan’s values are shown at the top of Panel sessions: “This month: … of … · open: … of …”.
Why a session ended
The Ended because column of Panel sessions shows a reason code.
| Code | Meaning |
|---|---|
user | Someone closed it |
ttl_idle | 30 minutes without use |
ttl_hard | 4 hours reached |
lte_cap | 50 MB used on the mobile uplink |
released | The router was released from your organisation |
device_gone | The device was deleted or is no longer active |
certificate_revoked | The router’s certificate was revoked |
permission_lost | The person who opened it lost the panel permission |
membership_ended | The person left the organisation |
session_revoked | The person’s sign-in session was revoked |
tenant_ended | The organisation was suspended or deleted |
router_closed | The router ended the tunnel |
router_refused | The router refused the session (for example, panel access is off on the router) |
router_unreachable | The router did not answer the request to open |
no_dial | The router accepted but did not connect within 90 seconds |
node_lost, drain, pong_timeout, protocol_error | The tunnel connection was lost on the platform side or the link broke. Open a new session. |
superseded | The router connected the session’s tunnel again and the older connection was replaced |
When a reason that ends access applies (a revoked certificate, a lost permission, a suspended organisation), the tunnel closes within about a second.
Audit log
Every session writes two rows to the audit log:
| Action | When | What it holds |
|---|---|---|
iot_remote_access.session.opened | When the session is created | The person, the router, the session id |
iot_remote_access.session.closed | When it ends | The same, plus the reason and the bytes moved |
The opened row is written before the router is asked: if it cannot be written, no session opens. The audit never holds the panel’s traffic, a token, a cookie or an address. See Audit log and What is audited.
Ended sessions stay in Panel sessions for 180 days.
Good practice
- Close sessions when you are done instead of waiting for the idle timeout.
- Prefer a wired uplink for long work on a router that also has LTE.
- Give the panel permission only to the people who maintain routers. Use groups to narrow it; see Groups and permissions.
- Review
iot_remote_access.session.openedrows regularly.

