zamojski / TowerCollector

The OpenCellID and MLS contributor's app.
Mozilla Public License 2.0
217 stars 27 forks source link

timed eSIM cycling - take two #220

Open nebukadnezar opened 6 months ago

nebukadnezar commented 6 months ago

Hello again - it just occurred to me that there must be a way to do this. I'm using two providers who have Apps that install their eSIMs programmatically and activate them (and switch them active by doing so). So there must be a way to do this through an official API. Both Airalo and Telstra in Australia have Apps that do this.

Could you please take another (deeper) look at possible ways how this could be supported?

Thanks!

zamojski commented 6 months ago

Looking at Android documentation it seems to require carrier privileges so it's not available to regular developers. https://source.android.com/docs/core/connect/esim-overview#carrier-privileges

I don't have a eSIM phone and don't plan to buy one myself this year, so I cannot confirm it myself.

Still I don't understand why would you like to use eSIM cycling as Tower Collector supports reading cell towers of multiple SIM cards via official Android API.

Related #219

nebukadnezar commented 5 months ago

Thank you, I really appreciate you taking the time to look into this. What you found I guess makes sense.

The reason for wanting this feature is simple: We have 3 providers of physical infrastructure in Australia. With 3 eSIMs and swapping two of them in 30s intervals you can map the entire mobile infrastructure around you with a single device in a single go. This weekend for instance I'm going to be driving about a 2000km (in a Tesla charged with renewable energy) around locations where we sample mobile tower cell IDs using srsRAN (receive only as those are radio sensitive areas) to help understand peculiar propagation effects where despite being in a radio quiet area we often detect mobile towers, some from very far away. But those close by I don't have data on (because nobody probably ever drove through that area with a cell mapper enabled).

rgrind commented 5 months ago

Get a cheap "test phone" for your 3rd SIM.

On Thu, Feb 29, 2024 at 11:33 AM Balthasar Indermuehle < @.***> wrote:

Thank you, I really appreciate you taking the time to look into this. What you found I guess makes sense.

The reason for wanting this feature is simple: We have 3 providers of physical infrastructure in Australia. With 3 eSIMs and swapping two of them in 30s intervals you can map the entire mobile infrastructure around you with a single device in a single go. This weekend for instance I'm going to be driving about a 2000km around locations where we sample mobile tower cell IDs using srsRAN (receive only as those are radio sensitive areas) to help understand peculiar propagation effects where despite being in a radio quiet area we often detect mobile towers, some from very far away. But those close by I don't have data on (because nobody probably ever drove through that area with a cell mapper enabled).

— Reply to this email directly, view it on GitHub https://github.com/zamojski/TowerCollector/issues/220#issuecomment-1971824969, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZ6KP6G6YJ6PHQLXZ73RBGLYV6BA7AVCNFSM6AAAAABD46DVM6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZRHAZDIOJWHE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

nebukadnezar commented 5 months ago

That's exactly what I just decided to do. :)

zamojski commented 5 months ago

@nebukadnezar So your phone doesn't report cell information for more than one eSIM cards at the time? Or maybe it works only with 2 of them?

nebukadnezar commented 5 months ago

The Pixel does - it's MEP capable and can run two eSIMs simultaneously. Works a treat! The Samsung S23 can't do MEP and thus only reports a single carrier at a time. Just uploaded 36000 cell measurements from today (total from both phones).

For my own use btw you might be interested to know I'm reading the exported sqlite db directly. I'm not sure why the export function for the database is separate from the CSV etc. export functions?

zamojski commented 5 months ago

For my own use btw you might be interested to know I'm reading the exported sqlite db directly. I'm not sure why the export function for the database is separate from the CSV etc. export functions?

The database export is a function you can use to migrate to a new phone or just backup your data and statistics. It's not intended to be used by "regular" users as the data structures can change at any time.