This seems pretty cool, so it's free slow cell service in exchange for watching a video ad every hour, with optional prepaid plans for higher speeds/no ads. It does seem that your cellular is only active for an hour after you last watch an ad, which is unfortunate if you want to receive notifications throughout the day.
I wonder how this works, if your cellular gets deactivated, how do you inform the service that you've watched the ad? Particularly if all you have is an app with no access to low-level system APIs like USSD, texting etc. Is it just disabling your access except to a particular IP range and then enabling it back on receiving a HTTP request? Can routing in Telcos even work like that? Or is it DNS perhaps? That would see…
Why not?
I don’t know how this company actually has things setup, but I suspect you’re right — it’s all done with routing tables. DNS tends to cache too much, and I think DHCP would either be too chatty or also cache too much to be used as a gate keeper.
Instead, a firewall/routing approach would make more sense. It would technically be no more difficult than setting up port knocking. Instead of pinging a specific port, you’d watch a video. But other after that, you could just route traffic.
What I’d be more interested in knowing is where this filtering is taking place. It would be better done on the phone, to avoid null-routed data going over the network (and costing $/€/etc). So, I’m guessing that it is all done within the eSIM app itself. Maybe something like getting a (signed) token after viewing the video that extends a time limit/expiration for the eSIM itself. Then when the eSIM is expired, it can only communicate with one service — the ad host.