Мы привыкли к тому, что сотовая связь и Wi‑Fi существуют отдельно друг от друга. Но иногда бывает так — мы попадаем внутрь помещения, где точно нет сотовой связи, но есть Wi‑Fi. При этом сохраняется возможность звонить по телефону. Как это работает?
Практическая составляющая
VoWiFi (Voice over Wi-Fi) – технология, позволяющая пользователям сотовой связи совершать голосовые вызовы в зонах, где сотового покрытия нет, но есть покрытие Wi-Fi. Для ее работы нужно следующее:
поддержка технологии со стороны оператора;
поддержка технологии мобильным устройством;
наличие стабильного интернет-соединения по Wi-Fi.
Большинство российских сотовых операторов поддерживают VoWiFi. В конце статьи есть ссылки на инструкции по включению этой технологии, а также списки поддерживаемых устройств. Производители указывают поддержку данной технологии в характеристиках устройства.
Если вы планируете менять свой смартфон, то лучше выбирать устройство как с поддержкой VoWiFi, так и с поддержкой стандартов 802.11ax/ac диапазона 5ГГц. Во-первых, дозвониться до вас смогут, даже если вы «не в сети». А во-вторых, диапазон 2,4 ГГц чрезвычайно зашумлен, и в нем почти всегда есть проблемы с интерференцией, из-за чего Wi-Fi часто «плохо работает», в отличие от более «свободного» диапазона 5 ГГц.
Когда смартфон регистрируется в сети через VoWiFi, в статус-баре появляется соответствующая индикация. В зависимости от модели вашего смартфона, индикация и значки могут выглядеть по-разному. В нашем случае (смартфон Huawei) значки в статус-баре выглядят так:
На рисунке выше обе SIM-карты зарегистрированы в сети оператора двумя способами: и через сотовую сеть (индикаторы уровня сигнала, один из которых со значком «R» – роуминг), и через VoWiFi (значки «VoWiFi»). Как правило, при наличии VoWiFi соединения меняется название сети оператора с «Оператор» на «Оператор-WiFi». В нашем случае названия не отображаются, так как в статус-баре недостаточно пространства. Дополнительная индикация появляется также на кнопке вызова, при звонке и в списке вызовов:
Обычно соединение VoWiFi имеет приоритет над сотовой сетью. Но на некоторых устройствах можно выбрать, через какую технологию будет установлен вызов. Если качество соединения нестабильное или если смартфон покинул зону покрытия Wi-Fi, звонок, установленный через VoWiFi, может автоматически переключиться на сотовую сеть.
Как правило, операторы тарифицируют звонки через VoWiFi по домашнему тарифу (Проверяйте условия тарифа у своего оператора!). Даже в международном роуминге звонки обычно тарифицируются по условиям домашнего региона. То есть, звонок из региона пребывания в домашний регион – как звонок внутри домашнего региона, а из региона пребывания в регион пребывания – как международный звонок. Однако, если при нахождении в роуминге звонок VoWiFi по какой-то причине переключится на сотовую сеть, то это будет тарифицироваться как звонок из роуминга. Если этого не заметить, счет за услуги связи может вас неприятно удивить. Поэтому следует внимательно следить за наличием значка «VoWiFi» в статус-баре смартфона и в приложении для набора номера во время звонка. Но есть простой способ обезопасить себя от лишних трат. Для этого нужно перевести устройство в режим «полёт», в котором отключаются все коммуникации, затем вручную включить соединение по Wi-Fi. После этого сим-карты зарегистрируются в сети операторов через VoWiFi, и вы снова окажетесь на связи по домашнему тарифу без риска переключения на сотовую сеть.
В данном примере значок самолета означает, что включен режим «полёт», и сотовая сеть для обеих сим-карт отключена. Названия сетей для примера указаны как SIM1 и SIM2, в вашем случае они будут отличаться. Индикаторы «VoWiFi» свидетельствуют о том, что обе SIM-карты подключены к сети операторов через Wi-Fi, и переключения на сотовую сеть точно не произойдет.
Иногда для связи в роуминге приобретают сим-карты местных операторов с выходом в интернет. Если просто вставить во второй слот для сим-карт местную симку с выходом в интернет, VoWiFi для вашего домашнего оператора работать не будет. Для этого требуется именно соединение по Wi-Fi. Если поблизости нет точки беспроводного доступа, можно раздавать интернет с местной сим-карты с другого смартфона, тогда вы всегда будете на связи по домашнему тарифу.
А теперь перейдем к технической составляющей
Рассмотрим более подробно трафик VoWiFi с точки зрения сети Wi-Fi. Для тестов мы создали открытую сеть Wi-Fi без шифрования и сделали захват радиоэфира при помощи Wireshark при подключении к ней мобильного устройства.
ПРЕДУПРЕЖДЕНИЕ: На всякий случай напомню, что с точки зрения информационной безопасности в реальной жизни крайне нежелательно использовать открытые сети! Используйте ключ (PSK) или другие методы защиты.
ePDG (Evolved Packet Data Gateway) шлюз – элемент инфраструктуры сотового оператора, позволяющий мобильному устройству(смартфону) устанавливать связь с сетью оператора при подключении через незащищенные каналы связи, включая интернет. Для обеспечения безопасности трафик между мобильным устройством и ePDG инкапсулируется в туннель IPSec и шифруется. После ассоциации с Wi-Fi-сетью и получения IP-адреса мобильное устройство определяет IP-адрес ePDG-шлюза сотового оператора, обслуживающего SIM-карту. Для этого используетcя FQDN (доменное имя) специального вида, регламентированное стандартами 3GPP. Каждый сотовый оператор имеет уникальный идентификатор PLMN-Id (Public Land Mobile Network - identifier). Данный идентификатор включает в себя код страны (Mobile Country Code, MCC) и код сети оператора (Mobile Network Code, MNC). Эти коды уникальны, и для каждого оператора FQDN ePDG шлюза будет иметь вид:
epdg.epc.mnc<MNC>.mcc<MCC>.pub.3gppnetwork.org
По ссылкам приведены перечни MCC разных стран и MNC операторов РФ, а в конце статьи приведены доменные имена и IP-адреса ePDG-шлюзов крупнейших операторов РФ. DNS-ответ на запрос адреса такого формата содержит один или несколько IP-адресов шлюза ePDG. При наличии в смартфоне SIM-карт нескольких операторов, поддерживающих VoWiFi, DNS-запросы отправляются для каждого оператора.
Следующим шагом мобильное устройство инициирует создание IPSec-туннеля до шлюза по адресу, полученному из DNS-ответа. Ниже приведен скриншот из Wireshark, где показан пример установления IPSec-туннеля между смартфоном и ePDG. Хост 192.a.b.c – это смартфон (VoWiFi клиент), а хост 213.d.e.f это шлюз ePDG оператора сотовой связи.
В этом процессе используются стандартные протоколы технологии IPSec: ISAKMP (UDP, порт 500) и ESP (UDP, порт 4500). ISAKMP обеспечивает защиту и шифрование для аутентификации и настройки шифрованного туннеля ESP. ESP служит туннелем для шифрования VoWiFi трафика между оператором и клиентским устройством.
Как обеспечивается качество VoWiFi соединения?
Разберемся, как реализовано качество обслуживания (QoS, Quality of Service) в нашей тестовой конфигурации. В вашей сети результаты могут отличаться, поскольку оборудование и провайдеры разные.
Голосовой трафик при передаче помещается в IP-пакет, а пакет в свою очередь помещается в кадр стандарта IEEE 802.11. В IP-пакете за качество обслуживания отвечает поле DSCP (Differentiated Services Code Point), а в кадре 802.11 – поле QoS Control. В этом поле содержится значение User Priority (UP), определяющее приоритет фрейма по шкале от 0 до 7. UP сгруппированы попарно в четыре Access Category (AC): Voice (AC_VO), Video (AC_VI), Best Effort (AC_BE) и Background (AC_BK). По умолчанию фреймы имеют UP 0 и AC_BE.
Таблица 1 Соотношение значений UP категориям AC
User Priority |
Access Category |
Тип трафика |
7 |
AC_VO |
Voice |
6 |
AC_VO |
Voice |
5 |
AC_VI |
Video |
4 |
AC_VI |
Video |
3 |
AC_BE |
Best Effort |
0 |
AC_BE |
Best Effort |
2 |
AC_BK |
Background |
1 |
AC_BK |
Background |
Голосовой трафик передается внутри IPSec-туннеля, который работает в туннельном режиме. Оригинальный IP-пакет полностью инкапсулируется в пакет ESP и шифруется. Тот в свою очередь инкапсулируется в новый IP-заголовок (внешний), который и будет использован при передаче по сети. Поэтому мы рассматриваем маркировку QoS именно внешнего заголовка IP.
Упрощенно трафик нашего вызова, начиная с DNS-запроса и заканчивая передачей голоса внутри IPSec-туннеля, с точки зрения маркировки QoS, выглядит следующим образом.
Технический экскурс
Зачем нужно транслировать значения QoS с сетевого уровня на канальный? Это нужно для того, чтобы на канальном уровне пакет обрабатывался с тем же приоритетом, что и на сетевом уровне. Семейство стандартов IEEE 802.11 (Wi-Fi) регламентируют требования, относящиеся к уровням MAC и PHY. Однако перенос значений QoS на вышестоящие уровни OSI в них подробно не рассматривается. В результате этого разные вендоры реализовывали разные подходы к переносу значений QoS 802.11e (WMM) в IP DSCP, и обратно. Это привело к несоответствиям в различных реализациях QoS. На текущий момент действует рекомендация IETF RFC 8325, описывающая подход к переносу значений DSCP-UP. Из данного документа следует, что DSCP EF следует маркировать как AC_VO, а в нашей конфигурации клиентское устройство маркирует трафик как AC_VI. Однако в нашем случае кадры 802.11 с голосовым трафиком маркируются корректным AC_VO (voice), хотя при этом IP пакеты внутри этих кадров имеют DSCP CS6, Network Control. В этом есть противоречие, поскольку голосовой трафик, завернутый в IPsec-туннель, не является трафиком Network Control ни для проводной ни для беспроводной среды передачи, поэтому такая маркировка DSCP не корректна. Данное наблюдение справедливо для конкретного устройства, которое мы использовали для тестов, и в вашей конфигурации сети данные могут отличаться.
Трафик от смартфона (ip 192.a.b.c) до шлюза ePDG другого оператора сотовой связи (ip 217.d.e.f) в процессе установки IPsec соединения (ISAKMP) имеет следующую маркировку QoS: Wi-Fi кадр имеет UP 5 (Video, AC_VI), а содержащийся в нем IP-пакет имеет DSCP 46, Expedited Forwarding (EF).
После того как туннель установлен, трафик ESP, содержащий исходящий голосовой трафик от клиента, маркируется немного иначе: Wi-Fi кадр имеет UP 6 (Voice, AC_VO), а содержащийся в нем IP пакет имеет DSCP 48, CS6 (Network Control).
Движущиеся в обратном направлении (от ePDG к смартфону) IP-пакеты приходят в локальную сеть с маркировкой по умолчанию (CS0, Default). И, соответственно, наша тестовая точка доступа маркирует трафик, отправляемый в радиоэфир, как AC_BE (Best Effort).
Отсюда следует два вывода о нашей тестовой конфигурации:
1) Трафик IPsec до ePDG в направлении от VoWiFi клиента к точке доступа Wi-Fi маркируется как DSCP (EF и CS6), так и UP (AC_VI и AC_VO), и передается в беспроводной среде Wi-Fi в приоритетном порядке.
2) В нашей конфигурации голосовой трафик от точки доступа Wi-Fi к VoWiFi клиенту не имеет приоритетной маркировки DSCP и UP, и передается с приоритетом «Best Effort» наравне с низкоприоритетным трафиком. Это вызвано отсутствием маркировки DSCP трафика, поступающего от ePDG через канал интернет. Беспроводная инфраструктура, под которой мы понимаем не только точки доступа, но и контроллер, при его наличии, могла бы устанавливать соответствие между маркировкой DSCP IP пакетов и маркировкой 802.11e Access Category Wi-Fi фреймов. Однако DSCP из проводной среды равен CS0 и при переносе в беспроводную среду тоже не имеет приоритет (AC_BE).
На основании опыта, в такой конфигурации VoWiFi работает без искажений. Но мы сделали несколько тестов, чтобы определить, влияет ли на качество VoWiFi-соединения отсутствие маркировки трафика от точки доступа к клиенту. Для этого необходимо сравнить качество вызова без маркировки и с маркировкой.
Чтобы обеспечить приоритетную передачу VoWiFi трафика к клиенту, мы настроим маркировку трафика от ePDG самостоятельно. Для этого по FQDN операторов определим их IP адреса и для них создадим пользовательское правило перемаркировки DSCP с Default/Best Effort (0) на EF (46). На основании DSCP при передаче пакета в радиоэфир ему будет присвоен соответствующий UP с AC_VO, что обеспечит приоритет трафику VoWiFi в направлении от точки доступа к клиентскому устройству. Ниже в таблице приведены адреса ePDG шлюзов крупнейших российских телеком-операторов, их адреса можно использовать для создания соответствующих правил. Данные актуальны на январь 2023 года, однако адреса ePDG операторов могут изменяться со временем.
Оператор |
FQDN |
IPv4 адреса |
IPv6 адреса |
МТС |
epdg.epc.mnc001.mcc250.pub.3gppnetwork.org |
213.87.142.77 |
2a00:1fa4:0:e::1 |
Мегафон |
epdg.epc.mnc002.mcc250.pub.3gppnetwork.org |
85.26.231.145 |
|
Билайн |
epdg.epc.mnc099.mcc250.pub.3gppnetwork.org |
85.249.19.248 |
|
Теле2 |
epdg.epc.mnc020.mcc250.pub.3gppnetwork.org |
217.169.82.242 |
|
Упрощенно схема маркировки QoS после применения правила перемаркировки в инфраструктуре Wi-Fi будет выглядеть следующим образом:
Под Wi-Fi инфраструктурой понимается совокупность всех элементов сети, обеспечивающих обработку беспроводного трафика, включая VoWiFi. В нашей тестовой среде это одно оборудование, у вас может быть другое. Соответственно, и настройки QoS тоже можно сделать по-разному. Например, на Cisco AirOS WLC для VoWiFi трафика есть AVC стандартный классификатор «wifi-calling», и приоритет DSCP/UP можно задать с помощью AVC профилей. У CommScope SmartZone можно вручную создать политику “Wi-Fi Calling” для конкретных операторов и FQDN / IP их ePDG, и настроить приоритезацию QoS. На Mikrotik изменение значения DSCP трафика ePDG и присвоить приоритет UP можно с помощью правил Mangle. Перемаркировку можно настроить и на проводном оборудовании, например, на межсетевом экране. Поэтому мы покажем только основную концепцию, не углубляясь в детальное описание настроек.
В нашей конфигурации мы создали правило перемаркировки трафика от ePDG к клиенту, принудительно присваивая DSCP 46 (Expedited Forwarding), и на его основании фреймы Wi-Fi стали получать UP AC_VO (Voice). Ниже приведен скриншот из Wireshark, где IP адрес «192.a.b.c» – адрес VoWiFi клиента, а «213.d.e.f» адрес ePDG оператора.
Для того чтобы проверить, как это повлияло на качество соединения VoWiFi, мы запустили сессию Iperf на двух дополнительных клиентских устройствах, подключенных к той же точке доступа. Это обеспечило максимальную загрузку беспроводного канала связи, к которому подключен VoWiFi-клиент. В условиях высокой утилизации мы сделали несколько VoWiFi вызовов и субъективно оценили их качество. После проведения нескольких тестов отключали правило перемаркировки и повторно проводили тесты. Тесты показали, что отсутствие маркировки QoS трафика от точки доступа к клиенту не оказывает критичного влияния на качество голосового вызова. Речь собеседника не искажается и не пропадает. Однако правильная маркировка обеспечивает малую задержку: если правило было отключено, задержка увеличивалась примерно до секунды (приблизительная оценка на слух). При включенной перемаркировке тест Iperf не оказывал влияния на задержку при VoWiFi вызове.
Из любопытства мы сделали ещё и тесты для Whatsapp и Telegram в тех же условиях. Результаты получились аналогичными: при повышенной загрузке канала Wi-Fi увеличивалась задержка при разговоре, но разборчивость голоса не ухудшалась. Однако в случае с мессенджерами клиентские устройства не маркируют трафик при помощи QoS, а качество голоса немного уступает звонкам через VoWiFi.
Выводы
VoWiFi – удобное дополнение, которое позволяет звонить привычным способом в помещении с отсутствием сотовой связи, а также сэкономить деньги в роуминге. С точки зрения Wi-Fi, технология использует механизмы качества обслуживания QoS, хотя иногда и остается возможность для небольших улучшений.
Напоследок напомним, что на итоговое качество телефонии в Wi-Fi сетях влияет множество факторов. Для домашней сети самое главное - выбрать не сильно загруженный и свободный от помех канал (желательно в диапазоне 5 ГГц). Для корпоративных сетей важно качественное проектирование беспроводной инфраструктуры, которое учитывает требования телефонии (уровень сигнала, наложение зон покрытия и т.д.).
Проектируйте и настраивайте свои беспроводные сети правильно, и тогда VoWiFi будет стабильной и удобной альтернативой сотовой сети.
В качестве дополнения, ниже приведены ссылки на инструкции от российских операторов сотовой связи по активации услуги VoWiFi и настройке смартфонов.
МТС:
Мегафон:
Билайн:
Теле2:
Комментарии (40)
Pavel7
00.00.0000 00:00Есть устройства, которые поддерживают VoWiFi, но, для определённых операторов, VoWiFi, из коробки, не работает (при том, что оператор сети его тоже поддерживает). Получается база MCC/MNC кодов хранится локально на устройстве и отсутствие в ней кодов конкретного оператора ломает VoWiFi для этого оператора?
Sir3x
00.00.0000 00:00Да, так и есть. Крупные производители телефонов (Appleç Samsung) даже вначале сертефицируют сеть оператора для своих устройст и только потом добавляют ее поддержку в прошивку.
CTI Автор
00.00.0000 00:00Технически, устройство берет MCC/MNC с SIM карты. Они являются частью идентификатора IMSI, который нужен для идентификации абонента в сотовой сети. Это прописано в стандарте. Поэтому у устройства всегда есть MCC/MNC для используемого оператора.
Для того чтобы разобраться, на каком этапе ломается процесс регистрации VoWiFi, нужно собрать дополнительные данные:
· Отправляет ли устройство DNS-Request с FQDN с этими MCC/MNC?
· Получает ли ответ?
· Инициирует ли устройство создание IPsec туннеля до ePDG шлюза?
· Получает ли ответ?
· Как происходит обмен трафиком с оператором с которым VoWiF работает успешно?
И так далее.
Abyss777
00.00.0000 00:00+1В статье не указано, что должны быть обязательные настройки под каждого оператора!
В телефонах Samsung и LG например стек программный и файлики можно в андроиде поковырять.
На Qualcomm например все настройки лежат в EFS и теоретически их тоже можно поковырять.
Но в большинстве китайских телефонов EFS никогда не получит обновлении, сейчас это наверное не актуально, потому что период запуска прошел, и всё что выпускается пару-тройку лет уже имеет настройки под российских операторов.
Кстати не обязательно `epdg.epc.mncХХХ.mccХХХ.pub.3gppnetwork.org` а вообще любой адрес, какой оператор сообщил вендору.
Пример из /etc/epdg_apns.conf
```<!-- United States : AT&T : ATT --> <settings mnoname="ATT_US" smartwifirssia="-74" smartwifirssib="-80" smartwifirssiroveinvoice="-74" smartwifirsrp1="-108" smartwifirsrp3="-90" smartwifisnrrovein="20" smartwifisnrroveout="-30" smartwifigsmeciorovein="-11" threshold5grovein="90" threshold5groveout="108" threshold4grovein="90" threshold4groveout="108" threshold3grovein="73" threshold3groveout="93" threshold2grovein="85" threshold2groveout="30" hodelaytimer="1" epdgserverip="epdg.epc.att.net" pcscfv4vendorattr="20" pcscfv6vendorattr="21" certi_path="ca.crt" roaming_handover_support="0" wfc_call_menu="1" wfc_setting_menu="1" wfc_quicksetting_menu="1" />
```
А еще там задаются параметры IPSec<apn mnoname="ATT_US" connname="imsApn" apnname="ims" subnettype="IPV4V6" ownidentity="023430123456701@nai.epc.mnc030.mcc310.3gppnetwork.org" remoteidentity="ims" ipsecintegrity="IPSEC_INTEGRITY_HMAC_SHA_256_128" ipsecgroup="IPSEC_GROUP_MODP_2048" ikeintegrity="IKE_INTEGRITY_HMAC_SHA_256_128" ikegroup="IKE_GROUP_MODP_2048" vendorattribute="P-CSCF-V4V6" periodicdpdtimer="300" mtu="1300" />
JohnSelfiedarum
00.00.0000 00:00-4VoWiFi - это способ заставить платить дважды: и за WiFi, и за голос - оператору...
dartraiden
00.00.0000 00:00+4Нет, это способ связи, например, если на вашей стороне только Wi-Fi, а на другой стороне только голос (человек с кнопочным телефоном или человек со смартфоном, не подключённым к интернету — например, у меня не подключён мобильный интернет, и когда я где-то, где нет домашнего или бесплатного Wi-Fi, то со мной можно связаться только через мобильный звонок).
А за Wi-Fi большинство людей и не платят. А платят за проводной интернет дома, который затем роутер раздаёт совершенно бесплатно.
Kirikekeks
00.00.0000 00:00-2Смотрите, логика простая. Там где есть wifi там я могу связаться со 100% своих контактов, без опсоса, бесплатно. А с этой функцией за деньги и с опсосом. Это же "я понесу чемодан, а ты - меня" в чистом виде. Поэтому я рад Вашим -4. Всего дебилов на хабре немного, и те возможно наоборот, лоббисты. И все таки жаль, когда худенький, маленький Гена, которому в детстве читали сказку про лису, готов тащить гигантских Чебурашек, под песню "Битый не битого везет".
edo1h
00.00.0000 00:00+4любопытного в тему vowifi:
пишут, что если mac dns-сервера не совпадает с mac шлюза (что бывает редко, но не невозможно: dns-сервер должен отличаться от шлюза, и быть в той же сети, что клиент), то на квалкоммах vowifi не будет работать.взято отсюда
adeep
00.00.0000 00:00вы как-то странно смогли переврать цитату с превращением ip в mac: "... Если в Wi-Fi сети default gateway и DNS server имеют разные IP-адреса, то VoWiFi работать не будет. Это такой замшелый баг в Qualcomm-овских чипах, который уже два года как никто не хочет исправлять. Смешно."
edo1h
00.00.0000 00:00+2так я специально оставил ссылку на англоязычный источник:
Configure a Network (at least IPv4, IPv6 presence does not matter) 192.168.1.0/24 with the Gateway at 192.168.1.1, DNS server at 192.168.1.2 (these need to be on different machines / have different MAC addresses). The Gateway hands out IPv4 addresses in the 192.168.1.0/24 with the DNS server at 192.168.1.2 propagated to clients.написано именно то, что в том случае, если dns-сервер за роутером (или совпадает с роутером), баг проявляться не будет.
для его проявления нужно, чтобы телефону dns-сервер был виден с маком отличным от мака шлюза.
ipswitch
00.00.0000 00:00+6Есть несколько "наивных" вопросов, которые хотелось бы прояснить. Если Вас не затруднит...
Какова роль именно SIM-карты оператора для этой технологии? Используется ли какой-то ключ шифрования из неё, или в определённой ячейке хранится особый идентификатор? Если знать цифры MSIDN и MCC/MNC нужной сети - что ещё нужно из реквизитов чтобы "залогиниться"?
"...мобильное устройство определяет IP-адрес ePDG-шлюза сотового оператора, обслуживающего SIM-карту. Для этого используетcя FQDN (доменное имя) специального вида, регламентированное стандартами 3GPP. "
Кому принадлежит домен *3gppnetwork.org и почему все операторы ломятся именно на него, а не на какой-нибудь условный vowifihub.mts.ru (от балды)?
Получается очевидная точка отказа, как и в случае c A-GPS, когда Qualcomm может решить больше не отдавать альманахи определённым диапазонам IP, странам, провайдерам.Где прописан этот адрес, куда телефон должен ломиться для идентификации? Конфигурационный файл? Прошивка? Ячейка SIM-карты?
Всё же, что ещё необходимо для авторизации телефона у оператора через WiFi при отсутствии сигнала сотовой сети?
Реально ли зная MSIDN, MCC, MNC и адрес, куда нужно ломиться, написать например клиентское приложение для VoWiFi под Win32 по типу SIP-клиента, и "выйти в онлайн" со своего мобильного номера, к примеру с ноутбука на Ethernet (окей, можно с WiFi вместо Ethernet если это принципиально)?Есть ли какой-то тайм-аут авторизации, после которого абонента "разлогинит" и потребуется повторная проверка чтобы заветный значок "в сети с использованием WiFi" появился?
Сперва небольшая предыстория.
В некоторых ранних флагманах HTC и Samsung был встроенный SIP-клиент. Ещё до того, как это стало мэйнстримом. Понятное дело что его можно было использовать за границей, самостоятельно вписав туда сервер, логин и пароль, не обязательно от своего сотового оператора, а вообще от любого SIP-провайдера. Но самый шик был именно в сочетании со своим сотовым оператором. В РФ до сих пор можно извлечь логин и пароль на SIP у оператора "МегаФон", т.е. услуга "МультиФОН" ещё работает, а не только своё фирменное приложение. У МТСа извлечь реквизиты от SIP было нельзя, как и у Теле2, а их говённое приложение ещё требовало SIM-карту в слоте для работы.
Так вот, вопрос - в тех флагманах была возможность получать реквизиты для SIP-клиента откуда-нибудь. Своего рода реализация Auto-Provision, только не от DHCP, а то ли с SIM-карты, то ли от ОПСоСа.
Вопрос - является ли процесс авторизации в VoWiFi чем-то сродни этому?
event1
00.00.0000 00:00Какова роль именно SIM-карты оператора для этой технологии?
Используется для аутентификации. SIM-AKA называется. Деталей не знаю, но интуиция подсказывает, что должно быть похоже на аутентификацию в мобильной сети.
vrangel
00.00.0000 00:00Не уверен, но. SIM-AKA это для так называемого Carrier WiFi, когда ключи с сим карты используются для аутентификации при подключении к WiFi. При VoWiFi этап подключения к WiFi не рассматривается, подразумевается, что устройство уже как-то подключилось. И данные с sim используются для аутентификации при установлении туннеля до ePDG.
event1
00.00.0000 00:00Оно там как-то в EAP заворачивается и IKE аутентифицирует. Для strongswan даже плагин специальный есть eap-aka-3gpp.
Abyss777
00.00.0000 00:00Авторизация в IMS осуществляется по протоколу Diameter задействуя функционал симкарты. Не знаю, просто ключи или какие-то криптопреобразования.
2. Я выше уже описал, что адрес может быть любой, какой захочет оператор, другой вопрос, что это адрес нужно как-то сообщить всем вендорам телефонов.
Есть некий профиль по умолчанию, в котором прописан алгоритм из статьи. Операторы могут использовать его, а могут задать свой адрес.
3. В настройках телефона
4. В общем случае нужна симка, в моменты тестирования операторы могли снижать требования и к шифрованию IPSec и к авторизации. (я расшифровывал в своё время WireShark трафик VoLTE одного оператора в период тестирования) наверное и авторизация была упрощенная. Но я думаю у них Реглятор не примет такое, да и уязвимости были...
5. Есть, задаётся в настройках (профиле)
6. Нет
edo1h
00.00.0000 00:00я расшифровывал в своё время WireShark трафик VoLTE одного оператора в период тестирования
Интересны детали
Abyss777
00.00.0000 00:00+2Там были Null encrypted ESP payloads никакие ключи не вводил.
Трафик захватывал с помощью https://github.com/fgsect/scat
Stazz
00.00.0000 00:00Для авторизации используется imsi и ключи, хранящиеся на симкарте.
Этот домен принадлежит 3gpp. Но физически через него ничего не ходит, трафик идет сразу на ip ePDG
Адрес нигде не хранится и поменять его нельзя. Он формируется в соответсии со стандартом с использованием MCC и MNC прописанных в симкарте
Нереально. Для подключения устанавливается IPsec туннель с аутентификацией через IKEv2 с использованием крипты с симкарты.
Какойто таймаут определенно есть. После каждого обрыва Ipsec идет повторная аутентификация.
Abyss777
00.00.0000 00:00Адрес нигде не хранится и поменять его нельзя Он формируется в соответсии со стандартом с использованием MCC и MNC прописанных в симкарте
Я же выше приводил путь где лежит этот адрес на телефонах Samsung и что он может быть любым.
vrangel
00.00.0000 00:00Я только вчера начал плотно читать про технологию, как понял это я:
Есть 2 этапа. Первый: Устройство устанавливает шифрованный канал до ePDG. Насколько я понял, авторизация происходит с помощью предустановленного сертификата. Второй: Устройство регистрируется в системе IMS. Вот этот этап полностью SIP подобный.
Abyss777
00.00.0000 00:00Насколько я помню прыжок возможен только VoWiFI -> VoLTE -> 3G/2G
А еще многие операторы требуют местоположение отправлять им. У некоторых операторов VoWiFi работает только внутри страны, а за извне берут денег :)
1Fedor
00.00.0000 00:00Оператор Билайн, iPhone 13 Pro Max, дошел до "Вызовы по Wi-Fi" там можно включить или выключить, никаких VoWiFi нет, что-то не так?
Vigogne
00.00.0000 00:00А это скажи эпплам спасибо, за то, что не могут отдать выбор приоритета пользователю, а сами решили, что звонки через мобильную сеть более приоритетны :)
https://www.reddit.com/r/ios/comments/p4fymd/is_there_any_way_to_prioritize_wifi_over_cellular/
AlexGluck
00.00.0000 00:00А что там с смсками?
Abyss777
00.00.0000 00:00"name": "MTS IMS", "network": [ { "type": "lte,wifi", "services": [ "mmtel", "mmtel-video", "smsip" ], "enabled": true, "dereg_timeout": 8000 } "name": "Sberbank RUSSIA IMS", "network": [ { "type": "wifi", "services": [ "mmtel", "smsip" ], "enabled": true } ] "name": "TELE2 Russia IMS" "network": [ { "type": "lte,wifi", "services": [ "mmtel", "mmtel-video", "smsip" ], "enabled": true } ] "name": "Beeline VoLTE", "network": [ { "type": "lte,wifi", "services": [ "mmtel", "smsip" ], "enabled": true } ] "name": "Megafon VoLTE", "network": [ { "type": "lte,wifi", "services": [ "mmtel", "smsip" ], "enabled": true, "dereg_timeout": 8000 } ] "name": "Letai Tattelecom IMS", "network": [ { "type": "lte,wifi", "services": [ "mmtel" ], "enabled": true } ] "name": "Motiv IMS", "network": [ { "type": "lte,wifi", "services": [ "mmtel", "smsip" ], "enabled": true } ]
Как видите у всех кроме Летая есть.
А еще можно заметить что у МТС и Теле2 есть видеозвонки
keenx
00.00.0000 00:00В смартфонах Samsung одна из сим-карт может быть подключенной к своему оператору через мобильный интернет второй сим-карты, на которой активен интернет. Значок будет такой же, как у VoWiFi
Abyss777
00.00.0000 00:00В Настройках написано, что только если симка находится вне действия сети.
Самый интересный вопрос будет ли это работать в роуминге. Второй вставляешь местную симку и с первой звонишь через передачу данных второй.
Мне как-то сложно найти место где у меня не работает первый оператор и работает второй...
Abyss777
00.00.0000 00:00Теоретически да, но зависит от реализации.
У меня если зарегистрироваться в wowifi через wifi и подключиться по проводу, то какбы работает, но достоверно проверить невозможно, потому что как только я отключаю wifi то сразу пропадает значок. А сразу через провод он не регистрируется в wowifi.
imjustwatching
Интересная статья, пользуюсь регулярно данной фичей на МТС, никогда не задумывался о том что там под капотом у данной на вид очень простой технологии. Но в роуминге лучше звонить по wa/tg имхо
borman712
Ну это как посмотреть. Если друзьям и родным, то да, звонков через мессенджеры более чем хватает. Но вот недавно был в роуминге и у банка сработала антифрод-система на мои "махинации" со счётом, они мне позвонили и вот оно, то самое, ради чего всё затевалось)