4

I'm trying to write an app for my own purpose/testing (I'm living at the French/Swiss border and I'd like my own app for mobile network management).

I'm looking for a basic functionality (well, seems basic to my eyes...), something like connectToMobileNetwork(NetworkId).

I've googled a lot the last days, and the most serious related topic I found are those:

Android: How do I get GSM signal strength for all available network operators

how to get a list of available gsm networks?

Which are at least 5 years old... And speaks only about visualizing network, not connecting.

Is it only possible?


Edit: i found those two even more interesting posts as well:

Change mobile network mode (gsm, wcdma, auto)

Change the Network Operator with an Android App

It looks like that I'll have to work with hidden/not public api, that may be modified by any device manufacturer...

No one ever tried that here?

Quentin Morrier
  • 675
  • 5
  • 14

1 Answers1

0

It will be a theoretic approach because solution requires

  • SIM vendor profile parameters
  • OTA secret keys
  • SIM Toolkit Applet
  • Global Platform/ GSM 03.48 APDU generator

It can be done using SIM Applet which implements STK proactive commands. SIM Applet can periodically asks for Network Management Reports from terminal using PROVIDE LOCAL INFORMATION and gets the signal strength as part of NMR. If signal strength is lower than service quality level, applet updates preferred PLMN list and sends REFRESH command to force terminal to attach another network which is the at the first position in refreshed PLMN list.

It is possible to update preferred PLMN list with OTA remote file management using STK proactive commands.

Kemal Atik
  • 307
  • 3
  • 12