- Русские Блоги
- Android: процесс поиска мобильных терминалов, процесс выбора PLMN
- 1. Процесс поиска мобильного терминала
- 2. Обзор выбора PLMN
- 3. Понятие и определение
- HPLMN:
- RPLMN:
- EHPLMN:
- VPLMN:
- UPLMN:
- OPLMN:
- 4. Процесс выбора PLMN
- 1. С SIM-картой или без нее.
- 2. Есть процесс отбора RPLMN.
- 3. Отсутствие процесса выбора RPLMN
- Взаимодействие Android-устройств в локальной сети
- О чем это и для кого это?
- Какие возможные способы решения существуют?
- Настраиваем интернет 2G/3G/4G на Android
- Uplmn settings in android
Русские Блоги
Android: процесс поиска мобильных терминалов, процесс выбора PLMN
1. Процесс поиска мобильного терминала
Процесс поиска мобильного терминала разделен на три части:
1. Выбор PLMN
2. Выбор ячейки
3. Регистрация местоположения
На рисунке ниже показана логическая взаимосвязь платформы QUALCOMM.
2. Обзор выбора PLMN
Выбор PLMN делится на автоматический и ручной выбор.
При выборе вручную устройство перечисляет все доступные PLMN, включая F-PLMN и некоторые PLMN, которые предоставляют только услуги, которые устройство не поддерживает.
Для автоматического выбора выполните процесс выбора ниже (щелкните изображение, чтобы увеличить):
3. Понятие и определение
Чтобы понять последовательность действий на приведенном выше рисунке, нам необходимо понять следующие определения:
Полное название — Public Land Mobile Network, наземная мобильная сеть общего пользования, которая предоставляет услуги наземной мобильной связи для населения.
PLMN состоит из MCC (3 цифры) и MNC (2
3 цифры), то есть содержит код страны + код сети.
HPLMN:
То есть домашняя PLMN.Если MCC и MNC PLMN равны MCC и MNC в IMSI, то PLMN называется HPLMN. Мы знаем, что IMSI записан в SIM-карте. Мы можем сравнить MCCMNC в IMSI с ID-картой SIM-карты, и если MCCMNC PLMN также совпадает, это эквивалентно месту нахождения SIM-карты. Поэтому PLMN называется «домашней».
RPLMN:
То есть зарегистрированная PLMN, которая относится к PLMN, которую устройство зарегистрировало в последний раз. Это очень важная PLMN, которая хранится в памяти устройства. Это важно, потому что, поскольку регистрация была возможна в прошлый раз, скорее всего, она станет возможной и позже.
EHPLMN:
Эквивалент HPLMN, который эквивалентен HPLMN. Значение слова «эквивалентность» можно сравнить следующим образом: если ваша домашняя регистрация находится в Шанхае, но вы выходите замуж и покупаете дом в Пекине, считается ли Пекин вашим домом? Точно так же список EHPLMN сохраняется на SIM-карте,
Он сообщает устройству, что все в этом списке можно считать моим домом.
VPLMN:
Посетительская PLMN означает, что PLMN не является ни HPLMN, ни EHPLMN. «Посетитель» можно понимать как значение «гостевое проживание». Очевидно, что для SIM-карты VPLMN относится к «иностранным».
UPLMN:
Полное название — PLMN, управляемая пользователем, PLMN, управляемая пользователем.
OPLMN:
Полное название — PLMN, управляемая оператором.
Поняв вышеизложенные концепции, мы можем продолжить анализ процесса выбора PLMN.
4. Процесс выбора PLMN
Ниже мы берем RPLMN в качестве отправной точки и делим описанный выше процесс на четыре части:
1. С SIM-картой или без нее.
Предварительным условием для выбора PLMN является наличие SIM-карты. Если SIM-карта отсутствует, выбор PLMN не производится.
2. Есть процесс отбора RPLMN.
Если есть RPLMN, сначала выберите RPLMN и зарегистрируйтесь. По результату регистрации:
Успешная регистрация: выбор PLMN успешен и заканчивается;
Ошибка регистрации: выполните процесс выбора без RPLMN.
3. Отсутствие процесса выбора RPLMN
Выберите доступную и разрешенную PLMN в следующем порядке:
HPLMN или PLMN в списке EHPLMN;
последовательность UPLMN на SIM-карте;
последовательность OPLMN на SIM-карте;
Другие случайные последовательности PLMN с хорошим качеством сигнала;
Другая PLMN в порядке убывания качества сигнала;
Источник
Взаимодействие Android-устройств в локальной сети
Предположим, мы пишем игру для Android, которая подразумевает некое сетевое взаимодействие между устройствами. Причем наши устройства находятся в одной сети и мы хотим, чтобы взаимодействие между ними осуществлялось быстро, а значит вариант с обменом данными через интернет нам не подходит. Ах да, еще одна маленькая ложка дегтя — мы хотим охватить максимально возможную аудиторию, для чего нам необходимо поддерживать Android 2.3.
Что же нам делать? Давайте поговорим об этом, а заодно рассмотрим относительно новые возможности Android SDK для соединения двух и более устройств.
О чем это и для кого это?
Как-то раз, уйдя с предыдущего места работы и погрузившись в заслуженный отдых, я принялся писать сетевую игру, в которую могут играть люди, находящиеся в одной локальной сети. И сразу же столкнулся с тем, что для нормального функционирования подобной игры нам мало соорудить сетевое взаимодействие — нам нужно сделать нормальное и быстрое обнаружение устройств в сети. Собственно, в данной статье я поделюсь своим опытом в реализации решения для данной задачи.
Сразу оговорюсь, что статья предназначена в большей мере для тех, кто имеет опыт Android-разработки, написал несколько приложений и хочет расширить свой кругозор, а также улучшить профессиональные навыки.
Какие возможные способы решения существуют?
- Android Network Service Discovery. Простой и эффективный способ обнаружения устройств. На Android Developer есть пошаговое руководство по подключению NSD, есть пример NsdChat, который можно скачать там же. Но есть один существенный минус — данный метод поддерживается только начиная с API Level 16, то есть с Android 4.1 Jelly Bean;
- Второе решение, предлагаемое нам на сайте Android Developer — Wi-Fi Peer-to-Peer. Проблема этого метода та же самая — поддерживается он только начиная с API Level 16;
- Есть странное решение, которое предлагается некоторыми программистами на Stack Overflow — самостоятельно сканировать локальную сеть на предмет наличия сервера. То есть проходить по всем адресам сети. Это уже сейчас звучит как странный велосипед, а теперь представьте, что порт нашего сервера назначается автоматически. Таким образом, сканирование даже самую небольшой сети становится достаточно долгой и трудоемкой задачей;
- Наконец, мы можем обратить внимание на Java-библиотеки и написать что-нибудь с их использованием. Например, JmDNS.
Последний способ выглядит вполне адекватным и, кажется, может обеспечить нас требуемой скоростью и удобством обнаружения устройств в сети для конечного пользователя.
Я вооружился JmDNS и решил попробовать соорудить несколько классов, которые по максимуму упростят написание описанных выше приложений. Но для начала пришлось немного повырезать дубликаты .class-файлов из jar-пакета JmDNS (проблема описана здесь):
Далее я взял исходный код NsdChat с Android Developer и изменил его служебный класс, который отвечает за инициализацию сокетов и организацию сетевого взаимодействия. Также я написал wrapper для JmDNS
Здесь размещены 4 основные функции для работы Network Discovery:
- startServer для создания сервера и регистрации соответствующего сервиса в локальной сети;
- findServers для поиска серверов;
- reset для окончания работы с Network Discovery и последующего освобождения ресурсов;
- wifiLock для запроса блокировки Wi-Fi.
В завершении я написал универсальный класс ConnectionWrapper для полноценной организации обнаружения, а также обмена сообщениями в локальной сети. Таким образом, создание сервера в конечном приложении выглядит следующим образом:
А вот и mServerHandler, использующийся для приема и обработки сообщений:
Отправка сообщений еще проще:
И, наконец, метод для обнаружения и подключения к серверу:
Как видите, все очень просто. А главное, все это работает в любой версии Android для максимум двух устройств. Но сделать так, чтобы это работало для условно неограниченного числа устройств очень легко, и очевидное решение придет к вам почти сразу после детального изучения класса Connection. Пусть это будет в качестве домашнего задания.
Ах, да, весь код доступен для изучения и использования всеми желающими в моем репозитории на GitHub.. И, конечно, не исключаю то, что некоторые вещи можно сделать лучше и проще, поэтому не стесняйтесь форкать и делать pull request’ы.
Источник
Настраиваем интернет 2G/3G/4G на Android
Каждый, кто имеет устройство с ОС Android, хочет иметь доступ к интернету. Ведь иногда хочется убить время или просто найти что-нибудь интересное. Все устройства на Андроид, при первом подключение к современным сетям 2G и 3G, от оператора автоматически получают настройки для доступа к интернету. Но бывают и исключения. В каком случае? Например, если телефон был привезен из-за рубежа. Такое случается, все ищут причину в интернете и поэтому мы решили написать про это.
Для того чтобы настроить GPRS/3G на Android нужна перейти в «Настройки» — «Беспроводные сети» — «Мобильная сеть». Здесь, если вы случайно отключили автоматическое определение настроек, можно их снова включить. Как это сделать? Переходим в пункт «Операторы связи». Идет поиск операторов. После чего вы можете нажать пункт «Выбрать автоматически» или с предложенного списка выбрать вашего оператора.
Есть другой вариант настройки интернета: нужно просто позвонить в справочную службу вашего сотового оператора, и попросить автоматические настройки либо отправить смс на номер, который можно найти на сайте оператора.
Если после всего этого настройки не определились, тогда остается еще один вариант – ввод настроек вручную. Для этого нужно перейти в пункт «Точки доступа (APN)». Потом жмем «Меню» – «Новая точка доступа». И вводим данные точки доступа, которые можно найти на сайте оператора. Чаще всего есть такие поля для заполнения:
Имя — можно ввести любое.
APN (точка доступа):
для МТС: internet.mts.ru
для BeeLine: internet.beeline.ru (если вы используете сим-карту из USB-модема то APN нужно заменить на home.beeline.ru)
для Мегафон: internet
для Tele2: internet.tele2.ru
для Yota: internet.yota
для Vodafone: internet
для Lifecell: internet
для Киевстар: www.ab.kyivstar.net
для BeeLine: beeline
для Мегафон: вводить не нужно
для tele2: вводить не нужно
для Yota: вводить не нужно
Для всех мобильных операторов вводить не нужно
для BeeLine: beeline
для Мегафон: вводить не нужно
для tele2: вводить не нужно
для Yota: вводить не нужно
Для всех мобильных операторов вводить не нужно
Обратите внимание что у Украинских 3G/4G операторов могут быть имена и пароли выданные при заключении контракта.
Если вашего оператора нет в списке — настройки можно узнать на его сайте. В результате выполнения одного из вышеприведенных способа у вас должно получиться подключить Андроид к интернету. Если же не получилась — пишите в комментариях, постараемся помочь, чем сможем)
После ввода настроек убедитесь, что передача мобильных данных включена в настройках, а также удостоверьтесь что на счету есть деньги/мегабайты что бы мог работать интернет. Если интернет не хочет работать — попробуйте выключить и заново включить смартфон/планшет.
Для Билайна возможно потребуется выбрать авторизацию только CHAP, иначе может вобще никак не соединятся с мобильной сетью, особенно в случае девайса с зарубежного рынка.
Настройки — Мобильная сеть — APN — Beeline internet — Тип аутентификации: CHAP.
Источник
Uplmn settings in android
- VoLTE (по англ. Voice over LTE — голос по LTE) — технология передачи голоса по сети LTE, основанная на IP Multimedia Subsystem (IMS). Позволяет предоставлять голосовые услуги и доставлять их как поток данных по LTE. VoLTE имеет в три раза больше голосовую ёмкость и ёмкость данных, чем сети 3G UMTS и до шести раз больше, чем сети 2G GSM. Кроме того, она высвобождает пропускную способность, поскольку заголовки пакетов меньше, чем у неоптимизированной VoIP/LTE.
Wi-Fi Calling — технология, позволяющая совершать голосовые и видеовызовы, обмениваться текстовыми сообщениями по базовой сети сотового оператора через подключение к любой Wi-Fi-сети. Фактически таким образом решается проблема плохого качества голосовой услуги или ее полное отсутствие в помещениях, и при этом отсутствует необходимость развития мобильной сети в отдельных зданиях. Технологически Wi-Fi Calling (или Voice-over-Wi-Fi) – это продолжение услуги Voice-over-LTE (передача голосовых данных по сетям LTE), в основе которой – передача голоса по IP-протоколу. Принципиальное отличие Wi-Fi Calling от существующих сервисов IP-телефонии (Skype или множества приложений, таких как WhatsApp, Viber, Facebook Messenger и пр.) заключается в том, что вызов осуществляется по базовой сети мобильного оператора и является обыкновенным телефонным вызовом с мобильного номера абонента. Для работы VoWiFi должны пропускаться вот такие порты/протоколы: UDP/4500, UDP/500, ESP.
- Территория действия VoLTE в сети Билайн: Москва и Московская область, Санкт-Петербург и Ленинградская область, Калужская область, Смоленская область
Территория действия VoWIFI в сети Билайн: Москва и Московская область
Подключить VoLTE теперь можно через оператора по 0611.
Теперь и звонки в сети 4G! (Билайн)
Билайн запустил VoLTE в Москве и Санкт-Петербурге
Услуга VoLTE
Билайн официально запустил VoWIFI (NEW)
- Территория действия VoLTE и VoWiFi в сети МегаФон
Территория действия с разбивкой по филиалам (VoLTE & WFC)
Услуга подключается автоматически. Если этого не произошло, следует обратиться к оператору с просьбой подключить «IMS-сервисы».
Проверить подключение ims-сервисов и тех.пакета: *105*1*3*2*1# или *105*2*1*2*1#
Альтернативная операторская услуга передачи голоса: приложение eMotion)
VoLTE не совместима с услугами: Персональный гудок, МультиФон Бизнес, МАС, ВАТС, Звонок за счёт друга
Услуга подключается автоматически. Если этого не произошло, воспользуйтесь командой *111*6# для активации услуги «Интернет-звонки».
Для отключения услуги можно воспользоваться командой *111*6*01#.
Услуга «Интернет звонки» в части VoLTE и WiFi-Calling доступен и для абонентов МГТС
- Территория действияVoLTE в сети Tele2: Москва и Московская область
*219*1# — подключение
*219*0# — отключение
*219# — проверка статуса
Технология VoLTE (Tele2)
Альтернативная операторская услуга передачи голоса: WiFi-звонки | Обсуждение Android-приложения на 4PDA
- СБЕРМобайл
Оператор работает на базе Теле2. Поддерживается технология VoWiFi в Москве и Санкт-Петербурге
МГТС
Оператор работает на базе МТС. Поддерживаются технологии VoLTE/VoWiFi
Tinkoff Mobile
Оператор работает на базе Теле2. VoLTE не поддерживается. Фактов разработки поддержки VoLTE не обнаружено.
Территория действия VoLTE: Свердловская область
Для подключения набрать *111*6#
Ссылка на услугу
Источник