ARTM — Adaptive Radio Resource Control Timeout Management. A paper from six of us in LASU’s ECE department, accepted at IEEE NIGERCON 2026. Built with Python, SimPy and a Random Forest model.
If you’ve ever tried to make a call at a packed event in Lagos, you know what happens. Calls drop, texts hang, and data crawls. “Too many people” is the usual answer, but part of the problem is how the network treats phones that go quiet.
the timer nobody talks about
When your phone stops sending data, the tower doesn’t let go of it right away. It keeps radio resources reserved for a set time, then releases them. That wait is the RRC inactivity timeout, and in most networks it’s one fixed number.
In a crowd, that number hurts. Every idle phone holds a slice of the cell while everyone else waits their turn. Earlier work fixed this by cutting a constant 1 to 2 seconds off the timer during crowded events. That helps, but the cut is the same whether the crowd is just starting to build or already at its peak.
what ARTM does
It has two parts.
The first is a crowd density estimator. It reads three things the network already measures: how loaded the cell is with active connections, how hard devices are hitting the random access channel, and how saturated the control channel is. It also tracks how fast each one is changing. A Random Forest model turns all of that into one number between 0 and 1, where 0 is a quiet cell and 1 is a fully packed one.
The second is a timeout controller. It takes that number and sets the timeout with one line: timeout = 20s − (20s − 10s) × density.
A quiet cell keeps the normal 20 seconds. A fully packed cell drops to 10 seconds. Everything in between scales in a straight line. Both limits are values operators already use, so ARTM never produces a timeout nobody runs in practice, and it needs no new infrastructure.
how we tested it
There’s no public data from real crowded events in Nigeria, so we built a simulation in SimPy and calibrated it against published Nigerian GSM performance numbers. We ran six crowd shapes: steady low, gradual buildup, flash surge, sustained peak, surge then decay, and oscillating. Each one ran with 30 random seeds. The baseline was a fixed 18 second timeout, based on the constant cut from earlier work.
what came out
ARTM beat the baseline in all six scenarios.
Reconnection rate dropped by 22.9% to 40.6%. The best case was steady low at 40.6%, then gradual buildup at 34.7%. The toughest ones, flash surge and sustained peak, gave 23.8% and 22.9%.
Signaling overhead dropped by 11.2% to 24.7%, with the biggest drop again in steady low.
Resource utilization went up 7.0% in the sustained peak scenario.
The gains were biggest early in an event and while it was building, which is when a fixed timer wastes the most. At the peak they’re smaller but still there. Blocking rate barely moved, so the timeout alone doesn’t fix that.
what it doesn’t do yet
All the training data is simulated, because real event traces weren’t available. It models one sector of one cell, not several interacting. And it can’t tell whether a given phone is actually active or idle, which would cut down the remaining reconnections.
where it’s going
We presented ARTM at IEEE NIGERCON 2026 on 5-6 November. Next up: testing it on real traces from Nigerian operators, extending it to multiple sectors, adding a per-user activity classifier, and validating it at the protocol level in OMNeT++.



