MSISDN: это данные SIM-карты? Почему все предоставленные функции (от Blackberry и Android) для получения MSISDN не надежны?
У меня есть несколько вопросов о MSISDN. Я понимаю:
- MSISDN в основном номер телефона
- Это не IMSI
Что мне нужно знать дальше:
Номер MSISDN записывается (сохраняется) на SIM-карте? Если да, все ли провайдеры проверяют наличие информации MSISDN на SIM-карте? Если это не так, поясним, что ни один из программных кодов не может получить номер MSISDN?
Некоторые люди предлагают загрузить MSISDN, как показано ниже. Но оба кода возвращают ноль, если "Мой номер телефона" не установлен в устройстве. С другой стороны, он вернет "Мой номер телефона", если он установлен. Таким образом, вопрос: "Мой номер телефона" равен MSISDN?
TelephonyManager.getLine1Number();
-> для AndroidPhone.getDevicePhoneNumber(true);
-> для ежевикиКак и в коде выше, данные возвращаемой строки извлекаются с самого устройства или с SIM-карты?
3 ответа
У меня есть некоторое понимание этого вопроса для вас.
- MSISDN может храниться на SIM-карте, однако большинство сетевых провайдеров (все провайдеры в Южной Африке) не хранят MSISDN на SIM-карте. Для этого есть несколько причин, наиболее заметное из которых:
- Динамическое распределение MSISDN. Предоплаченным SIM-картам иногда выделяется MSISDN при первом их использовании. Это означает, что в сети имеется пул доступных номеров MSISDN, и они выделяются при каждом подключении новой предоплаченной SIM-карты. Это означает, что когда SIM-карты поставляются, они еще не имеют MSISDN, а это означает, что вы не можете сохранить MSISDN до отправки SIM-карт. Некоторые сети "истекают" выделения MSISDN после периода бездействия, особенно когда их доступные номера заканчиваются, и возвращают эти номера в доступный пул.
- Переносимость номеров мобильных телефонов. В некоторых странах мобильные абоненты могут сохранять свои MSISDN, но менять сети. Это означает, что MSISDN будет перемещен с SIM-карты для одной сети на SIM-карту для другой сети.
Таким образом, пользователь часто заканчивает запись MSISDN на SIM-карте пустой. Пользователь по-прежнему может сохранять MSISDN на SIM-карте, но это также позволяет ему сохранять любое произвольное число, и не гарантируется, что оно будет установлено или даже будет фактическим номером телефона абонента.
2. Те звонки, о которых вы спрашивали о получении номера, который хранится на SIM-карте. Если номер не установлен, вы не получите его, а если у пользователя установлен неправильный номер, то у вас будут неверные данные.
3. Правильно, эта строка извлекается из самой SIM-карты.
Единственный полунадежный способ обнаружения MSISDN, который у меня есть, - через WAP/WEB, когда оператор мобильной связи включает MSISDN в заголовки (вы можете сделать некоторую хитрость при просмотре веб-страниц, чтобы увидеть, какие заголовки проходят через них) - однако вы видите их только в сети поддерживает его, и если пользователь находится на мобильных данных - т.е. он не будет работать, если пользователь находится на WiFi.
Другой механизм, о котором я могу подумать (единственный гарантированный механизм, о котором я могу думать), - это сеанс USSD, поскольку вы всегда получаете правильный MSISDN от оператора, но я не нашел способа программно открыть сеанс USSD и прочитать его. ответ (по крайней мере, в Android). У меня есть служба USSD, единственным выходом которой является MSISDN, но, к сожалению, она мне еще не пригодилась.
Так как никто не ответил в последний час с момента публикации вашего вопроса, вот что я знаю (хотя я не эксперт в этой области, просто имею некоторый опыт):
- MSISDN - номер телефона; количество людей могут позвонить вам.
- Его нельзя "сжечь" на сим-карте, так как вы можете поменять сим-карту (обновить или сменить на другого оператора) и оставить свой номер телефона = MSISDN. Я думаю, что у операторов есть таблица соответствия, которая преобразует идентификатор SIM-карты в MSISDN и обратно при выполнении вызова / передачи данных. MSISDN может храниться на карте.
Следует учитывать, что MSISDN имеет тип BIGINT. Поэтому вывод его делает преобразование типа заранее, как это