0
votes

Our application must know the following properties of the SIM Card: a. Retrieve the SIM number (MSISDN) b. Does it support 2G? c. Can receive and send SMS? d. Can send and receive data? e. Can send and receive voice calls?

Most of the issues we are facing is becouse we cannot pro-actively query these parameters. It will be great to be able to do so thru our application (Android and iOS)

Application is distributed worldwide and should be agnostic of carriers.

Thanks so much for your input! Yaakov

1

1 Answers

0
votes

The SIM card does not store a subscribers MSISDN. Yes, according to the SIM standards their is provision for an "EF_MSISDN" file on the SIM however 90% of the operators do not populate this file. So how does the network know my MSISDN? Your phone uses the IMSI (International Mobile Subscriber Identity) stored on the SIM in file (EF_IMSI). The network maintains a "mapping" of IMSI to MSISDN within its HLR (Home Location Register). A SIM card does not send/receive SMSs it uses the capabilities of the device it is in. The same goes for sending and receiving data.

All of the parameters you are asking for would be device capabilities. This question should maybe be tagged under the android/ios development sections. The capability is there to query the device for its current/supported network connections, its ability to send/receive data and SMSs and possibly even the subscribers MSISDN.

Basically you will not get the information you want from the SIM card, as the information is not there.