Мы привыкли к тому, что сотовая связь и 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) значки в статус-баре выглядят так:

Рисунок 1 Строка состояния смартфона, в котором установлено две SIM-карты, и оба подключения поддерживают VoWifi
Рисунок 1 Строка состояния смартфона, в котором установлено две SIM-карты, и оба подключения поддерживают VoWifi

На рисунке выше обе SIM-карты зарегистрированы в сети оператора двумя способами: и через сотовую сеть (индикаторы уровня сигнала, один из которых со значком «R» – роуминг), и через VoWiFi (значки «VoWiFi»). Как правило, при наличии VoWiFi соединения меняется название сети оператора с «Оператор» на «Оператор-WiFi». В нашем случае названия не отображаются, так как в статус-баре недостаточно пространства.  Дополнительная индикация появляется также на кнопке вызова, при звонке и в списке вызовов:

Рисунок 2 Кнопка вызова с сим-карты 2, подключенной только через сотовую сеть
Рисунок 2 Кнопка вызова с сим-карты 2, подключенной только через сотовую сеть
Рисунок 3 Кнопка вызова с сим-карты 2, подключенной через VoWiFi
Рисунок 3 Кнопка вызова с сим-карты 2, подключенной через VoWiFi
Рисунок 4 Индикация VoWiFi во время звонка
Рисунок 4 Индикация VoWiFi во время звонка
Рисунок 5 Индикация VoWiFi отображается для вызовов, совершенных через VoWiFi
Рисунок 5 Индикация VoWiFi отображается для вызовов, совершенных через VoWiFi
Рисунок 6 Меню настроек VoWiFi
Рисунок 6 Меню настроек VoWiFi

Обычно соединение VoWiFi имеет приоритет над сотовой сетью. Но на некоторых устройствах можно выбрать, через какую технологию будет установлен вызов.  Если качество соединения нестабильное или если смартфон покинул зону покрытия Wi-Fi, звонок, установленный через VoWiFi, может автоматически переключиться на сотовую сеть.

Как правило, операторы тарифицируют звонки через VoWiFi по домашнему тарифу (Проверяйте условия тарифа у своего оператора!). Даже в международном роуминге звонки обычно тарифицируются по условиям домашнего региона. То есть, звонок из региона пребывания в домашний регион – как звонок внутри домашнего региона, а из региона пребывания в регион пребывания – как международный звонок. Однако, если при нахождении в роуминге звонок VoWiFi по какой-то причине переключится на сотовую сеть, то это будет тарифицироваться как звонок из роуминга. Если этого не заметить, счет за услуги связи может вас неприятно удивить. Поэтому следует внимательно следить за наличием значка «VoWiFi» в статус-баре смартфона и в приложении для набора номера во время звонка. Но есть простой способ обезопасить себя от лишних трат. Для этого нужно перевести устройство в режим «полёт», в котором отключаются все коммуникации, затем вручную включить соединение по Wi-Fi. После этого сим-карты зарегистрируются в сети операторов через VoWiFi, и вы снова окажетесь на связи по домашнему тарифу без риска переключения на сотовую сеть.

Рисунок 7 Строка состояния смартфона (включен авиарежим), в котором установлено две SIM-карты, и оба подключения поддерживают VoWiFi
Рисунок 7 Строка состояния смартфона (включен авиарежим), в котором установлено две SIM-карты, и оба подключения поддерживают 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 оператора сотовой связи.

Рисунок 8 Процесс установления IPsec-туннеля от смартфона до шлюза ePDG Оператора
Рисунок 8 Процесс установления IPsec-туннеля от смартфона до шлюза 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, выглядит следующим образом.

Рисунок 9 Схема маркировки QoS для трафика VoWiFi
Рисунок 9 Схема маркировки QoS для трафика VoWiFi

Технический экскурс

Зачем нужно транслировать значения 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).  

Рисунок 10 Значения QoS в направлении от клиента в процессе установки IPSec-соединения
Рисунок 10 Значения QoS в направлении от клиента в процессе установки IPSec-соединения

После того как туннель установлен, трафик ESP, содержащий исходящий голосовой трафик от клиента, маркируется немного иначе: Wi-Fi кадр имеет UP 6 (Voice, AC_VO), а содержащийся в нем IP пакет имеет DSCP 48, CS6 (Network Control).

Рисунок 11 Значения QoS в направлении от клиента  после того, как туннель IPsec установлен
Рисунок 11 Значения QoS в направлении от клиента  после того, как туннель IPsec установлен

Движущиеся в обратном направлении (от ePDG к смартфону) IP-пакеты приходят в локальную сеть с маркировкой по умолчанию (CS0, Default). И, соответственно, наша тестовая точка доступа маркирует трафик, отправляемый в радиоэфир, как AC_BE (Best Effort).

Рисунок 12 Значения QoS в направлении к клиенту после того, как туннель IPsec установлен
Рисунок 12 Значения QoS в направлении к клиенту после того, как туннель IPsec установлен

Отсюда следует два вывода о нашей тестовой конфигурации:

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
31.173.34.209

 

Билайн

epdg.epc.mnc099.mcc250.pub.3gppnetwork.org

85.249.19.248

 

Теле2

epdg.epc.mnc020.mcc250.pub.3gppnetwork.org

217.169.82.242
217.169.82.241
176.59.95.161
176.59.95.160
176.59.159.191
176.59.63.79
176.59.63.78

 

Упрощенно схема маркировки QoS после применения правила перемаркировки в инфраструктуре Wi-Fi будет выглядеть следующим образом:

Рисунок 13 Схема маркировки QoS для трафика VoWiFi с включенным правилом перемаркировки
Рисунок 13 Схема маркировки QoS для трафика VoWiFi с включенным правилом перемаркировки

Под 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 оператора.

Рисунок 14 Значения QoS в направлении к клиенту после включения правила перемаркировки
Рисунок 14 Значения QoS в направлении к клиенту после включения правила перемаркировки

Для того чтобы проверить, как это повлияло на качество соединения VoWiFi, мы запустили сессию Iperf на двух дополнительных клиентских устройствах, подключенных к той же точке доступа. Это обеспечило максимальную загрузку беспроводного канала связи, к которому подключен VoWiFi-клиент. В условиях высокой утилизации мы сделали несколько VoWiFi вызовов и субъективно оценили их качество. После проведения нескольких тестов отключали правило перемаркировки и повторно проводили тесты. Тесты показали, что отсутствие маркировки QoS трафика от точки доступа к клиенту не оказывает критичного влияния на качество голосового вызова. Речь собеседника не искажается и не пропадает. Однако правильная маркировка обеспечивает малую задержку: если правило было отключено, задержка увеличивалась примерно до секунды (приблизительная оценка на слух). При включенной перемаркировке тест Iperf не оказывал влияния на задержку при VoWiFi вызове.

Из любопытства мы сделали ещё и тесты для Whatsapp и Telegram в тех же условиях. Результаты получились аналогичными: при повышенной загрузке канала Wi-Fi увеличивалась задержка при разговоре, но разборчивость голоса не ухудшалась. Однако в случае с мессенджерами клиентские устройства не маркируют трафик при помощи QoS, а качество голоса немного уступает звонкам через VoWiFi.

Выводы

VoWiFi – удобное дополнение, которое позволяет звонить привычным способом в помещении с отсутствием сотовой связи, а также сэкономить деньги в роуминге. С точки зрения Wi-Fi, технология использует механизмы качества обслуживания QoS, хотя иногда и остается возможность для небольших улучшений.

Напоследок напомним, что на итоговое качество телефонии в Wi-Fi сетях влияет множество факторов. Для домашней сети самое главное - выбрать не сильно загруженный и свободный от помех канал (желательно в диапазоне 5 ГГц). Для корпоративных сетей важно качественное проектирование беспроводной инфраструктуры, которое учитывает требования телефонии (уровень сигнала, наложение зон покрытия и т.д.).

Проектируйте и настраивайте свои беспроводные сети правильно, и тогда VoWiFi будет стабильной и удобной альтернативой сотовой сети.


В качестве дополнения, ниже приведены ссылки на инструкции от российских операторов сотовой связи по активации услуги VoWiFi и настройке смартфонов.

МТС:

Мегафон:

Билайн:

Теле2:

Комментарии (40)


  1. imjustwatching
    00.00.0000 00:00

    Интересная статья, пользуюсь регулярно данной фичей на МТС, никогда не задумывался о том что там под капотом у данной на вид очень простой технологии. Но в роуминге лучше звонить по wa/tg имхо


    1. borman712
      00.00.0000 00:00
      +1

      Ну это как посмотреть. Если друзьям и родным, то да, звонков через мессенджеры более чем хватает. Но вот недавно был в роуминге и у банка сработала антифрод-система на мои "махинации" со счётом, они мне позвонили и вот оно, то самое, ради чего всё затевалось)


  1. Pavel7
    00.00.0000 00:00

    Есть устройства, которые поддерживают VoWiFi, но, для определённых операторов, VoWiFi, из коробки, не работает (при том, что оператор сети его тоже поддерживает). Получается база MCC/MNC кодов хранится локально на устройстве и отсутствие в ней кодов конкретного оператора ломает VoWiFi для этого оператора?


    1. Sir3x
      00.00.0000 00:00

      Да, так и есть. Крупные производители телефонов (Appleç Samsung) даже вначале сертефицируют сеть оператора для своих устройст и только потом добавляют ее поддержку в прошивку.


    1. CTI Автор
      00.00.0000 00:00

      Технически, устройство берет MCC/MNC с SIM карты.  Они являются частью идентификатора IMSI, который нужен для идентификации абонента в сотовой сети. Это прописано в стандарте.  Поэтому у устройства всегда есть MCC/MNC для используемого оператора.

      Для того чтобы разобраться, на каком этапе ломается процесс регистрации VoWiFi, нужно собрать дополнительные данные:

      ·        Отправляет ли устройство DNS-Request с FQDN с этими MCC/MNC?

      ·        Получает ли ответ?

      ·        Инициирует ли устройство создание IPsec туннеля до ePDG шлюза?

      ·        Получает ли ответ?

      ·        Как происходит обмен трафиком с оператором с которым VoWiF работает успешно?

      И так далее.


    1. 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" />


      1. LazyZeroed
        00.00.0000 00:00

        А возможен ли MiTM этого IPsec трафика?

        По конфигу мне непонятно


  1. JohnSelfiedarum
    00.00.0000 00:00
    -4

    VoWiFi - это способ заставить платить дважды: и за WiFi, и за голос - оператору...


    1. dartraiden
      00.00.0000 00:00
      +4

      Нет, это способ связи, например, если на вашей стороне только Wi-Fi, а на другой стороне только голос (человек с кнопочным телефоном или человек со смартфоном, не подключённым к интернету — например, у меня не подключён мобильный интернет, и когда я где-то, где нет домашнего или бесплатного Wi-Fi, то со мной можно связаться только через мобильный звонок).


      А за Wi-Fi большинство людей и не платят. А платят за проводной интернет дома, который затем роутер раздаёт совершенно бесплатно.


    1. Kirikekeks
      00.00.0000 00:00
      -2

      Смотрите, логика простая. Там где есть wifi там я могу связаться со 100% своих контактов, без опсоса, бесплатно. А с этой функцией за деньги и с опсосом. Это же "я понесу чемодан, а ты - меня" в чистом виде. Поэтому я рад Вашим -4. Всего дебилов на хабре немного, и те возможно наоборот, лоббисты. И все таки жаль, когда худенький, маленький Гена, которому в детстве читали сказку про лису, готов тащить гигантских Чебурашек, под песню "Битый не битого везет".


  1. edo1h
    00.00.0000 00:00
    +4

    любопытного в тему vowifi:
    пишут, что если mac dns-сервера не совпадает с mac шлюза (что бывает редко, но не невозможно: dns-сервер должен отличаться от шлюза, и быть в той же сети, что клиент), то на квалкоммах vowifi не будет работать.


    взято отсюда


    1. adeep
      00.00.0000 00:00

      вы как-то странно смогли переврать цитату с превращением ip в mac: "... Если в Wi-Fi сети default gateway и DNS server имеют разные IP-адреса, то VoWiFi работать не будет. Это такой замшелый баг в Qualcomm-овских чипах, который уже два года как никто не хочет исправлять. Смешно."


      1. 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-сервер был виден с маком отличным от мака шлюза.


  1. ipswitch
    00.00.0000 00:00
    +6

    Есть несколько "наивных" вопросов, которые хотелось бы прояснить. Если Вас не затруднит...

    1. Какова роль именно SIM-карты оператора для этой технологии? Используется ли какой-то ключ шифрования из неё, или в определённой ячейке хранится особый идентификатор? Если знать цифры MSIDN и MCC/MNC нужной сети - что ещё нужно из реквизитов чтобы "залогиниться"?

    2. "...мобильное устройство определяет IP-адрес ePDG-шлюза сотового оператора, обслуживающего SIM-карту. Для этого используетcя FQDN (доменное имя) специального вида, регламентированное стандартами 3GPP. "

      Кому принадлежит домен *3gppnetwork.org и почему все операторы ломятся именно на него, а не на какой-нибудь условный vowifihub.mts.ru (от балды)?
      Получается очевидная точка отказа, как и в случае c A-GPS, когда Qualcomm может решить больше не отдавать альманахи определённым диапазонам IP, странам, провайдерам.

    3. Где прописан этот адрес, куда телефон должен ломиться для идентификации? Конфигурационный файл? Прошивка? Ячейка SIM-карты?

    4. Всё же, что ещё необходимо для авторизации телефона у оператора через WiFi при отсутствии сигнала сотовой сети?
      Реально ли зная MSIDN, MCC, MNC и адрес, куда нужно ломиться, написать например клиентское приложение для VoWiFi под Win32 по типу SIP-клиента, и "выйти в онлайн" со своего мобильного номера, к примеру с ноутбука на Ethernet (окей, можно с WiFi вместо Ethernet если это принципиально)?

    5. Есть ли какой-то тайм-аут авторизации, после которого абонента "разлогинит" и потребуется повторная проверка чтобы заветный значок "в сети с использованием WiFi" появился?

    6. Сперва небольшая предыстория.
      В некоторых ранних флагманах HTC и Samsung был встроенный SIP-клиент. Ещё до того, как это стало мэйнстримом. Понятное дело что его можно было использовать за границей, самостоятельно вписав туда сервер, логин и пароль, не обязательно от своего сотового оператора, а вообще от любого SIP-провайдера. Но самый шик был именно в сочетании со своим сотовым оператором. В РФ до сих пор можно извлечь логин и пароль на SIP у оператора "МегаФон", т.е. услуга "МультиФОН" ещё работает, а не только своё фирменное приложение. У МТСа извлечь реквизиты от SIP было нельзя, как и у Теле2, а их говённое приложение ещё требовало SIM-карту в слоте для работы.
      Так вот, вопрос - в тех флагманах была возможность получать реквизиты для SIP-клиента откуда-нибудь. Своего рода реализация Auto-Provision, только не от DHCP, а то ли с SIM-карты, то ли от ОПСоСа.
      Вопрос - является ли процесс авторизации в VoWiFi чем-то сродни этому?


    1. event1
      00.00.0000 00:00

      Какова роль именно SIM-карты оператора для этой технологии?

      Используется для аутентификации. SIM-AKA называется. Деталей не знаю, но интуиция подсказывает, что должно быть похоже на аутентификацию в мобильной сети.


      1. vrangel
        00.00.0000 00:00

        Не уверен, но. SIM-AKA это для так называемого Carrier WiFi, когда ключи с сим карты используются для аутентификации при подключении к WiFi. При VoWiFi этап подключения к WiFi не рассматривается, подразумевается, что устройство уже как-то подключилось. И данные с sim используются для аутентификации при установлении туннеля до ePDG.


        1. event1
          00.00.0000 00:00

          Оно там как-то в EAP заворачивается и IKE аутентифицирует. Для strongswan даже плагин специальный есть eap-aka-3gpp.


    1. Abyss777
      00.00.0000 00:00

      1. Авторизация в IMS осуществляется по протоколу Diameter задействуя функционал симкарты. Не знаю, просто ключи или какие-то криптопреобразования.

        2. Я выше уже описал, что адрес может быть любой, какой захочет оператор, другой вопрос, что это адрес нужно как-то сообщить всем вендорам телефонов.
        Есть некий профиль по умолчанию, в котором прописан алгоритм из статьи. Операторы могут использовать его, а могут задать свой адрес.

        3. В настройках телефона

        4. В общем случае нужна симка, в моменты тестирования операторы могли снижать требования и к шифрованию IPSec и к авторизации. (я расшифровывал в своё время WireShark трафик VoLTE одного оператора в период тестирования) наверное и авторизация была упрощенная. Но я думаю у них Реглятор не примет такое, да и уязвимости были...

        5. Есть, задаётся в настройках (профиле)

        6. Нет


      1. edo1h
        00.00.0000 00:00

        я расшифровывал в своё время WireShark трафик VoLTE одного оператора в период тестирования

        Интересны детали


        1. Abyss777
          00.00.0000 00:00
          +2

          Там были Null encrypted ESP payloads никакие ключи не вводил.

          Трафик захватывал с помощью https://github.com/fgsect/scat


    1. Stazz
      00.00.0000 00:00

      1. Для авторизации используется imsi и ключи, хранящиеся на симкарте.

      2. Этот домен принадлежит 3gpp. Но физически через него ничего не ходит, трафик идет сразу на ip ePDG

      3. Адрес нигде не хранится и поменять его нельзя. Он формируется в соответсии со стандартом с использованием MCC и MNC прописанных в симкарте

      4. Нереально. Для подключения устанавливается IPsec туннель с аутентификацией через IKEv2 с использованием крипты с симкарты.

      5. Какойто таймаут определенно есть. После каждого обрыва Ipsec идет повторная аутентификация.


      1. Abyss777
        00.00.0000 00:00

        Адрес нигде не хранится и поменять его нельзя Он формируется в соответсии со стандартом с использованием MCC и MNC прописанных в симкарте

        Я же выше приводил путь где лежит этот адрес на телефонах Samsung и что он может быть любым.


        1. Stazz
          00.00.0000 00:00

          На Xiaomi вот сейчас смотрю, такого файла нет, видимо в EFS лежит.

          Кстати, дамп EFS средствами самого телефона можно как то посмотреть?


          1. Abyss777
            00.00.0000 00:00
            +1

            Это не из EFS а из самого android. На самсунге стек IMS программный.

            Я не знаю таких инструментов.


    1. vrangel
      00.00.0000 00:00

      Я только вчера начал плотно читать про технологию, как понял это я:

      Есть 2 этапа. Первый: Устройство устанавливает шифрованный канал до ePDG. Насколько я понял, авторизация происходит с помощью предустановленного сертификата. Второй: Устройство регистрируется в системе IMS. Вот этот этап полностью SIP подобный.


  1. Abyss777
    00.00.0000 00:00

    Насколько я помню прыжок возможен только VoWiFI -> VoLTE -> 3G/2G

    А еще многие операторы требуют местоположение отправлять им. У некоторых операторов VoWiFi работает только внутри страны, а за извне берут денег :)


  1. 1Fedor
    00.00.0000 00:00

    Оператор Билайн, iPhone 13 Pro Max, дошел до "Вызовы по Wi-Fi" там можно включить или выключить, никаких VoWiFi нет, что-то не так?


    1. Vigogne
      00.00.0000 00:00

      А это скажи эпплам спасибо, за то, что не могут отдать выбор приоритета пользователю, а сами решили, что звонки через мобильную сеть более приоритетны :)
      https://www.reddit.com/r/ios/comments/p4fymd/is_there_any_way_to_prioritize_wifi_over_cellular/


  1. AlexGluck
    00.00.0000 00:00

    А что там с смсками?


    1. 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 есть видеозвонки


      1. vrangel
        00.00.0000 00:00

        Это что за конфиг?


        1. Abyss777
          00.00.0000 00:00

          Маленький кусочек imsprofile.json из приложения imsservice.apk из телефона Samsung.


  1. evn
    00.00.0000 00:00

    На устройствах микротик достаточно

    ip -> firewall -> service ports -> set sip ports=500,4500,5060,5061,5080,5081,5082


    1. vviz
      00.00.0000 00:00

      А для чего достаточно?


      1. evn
        00.00.0000 00:00
        +2

        для создания комментария под комментарием.


  1. keenx
    00.00.0000 00:00

    В смартфонах Samsung одна из сим-карт может быть подключенной к своему оператору через мобильный интернет второй сим-карты, на которой активен интернет. Значок будет такой же, как у VoWiFi


    1. edo1h
      00.00.0000 00:00

      Думаю, что если получится подключить к смартфону сетевую карту (через usb, например), то vowifi тоже будет работать.


      1. Abyss777
        00.00.0000 00:00

        мимо


    1. Abyss777
      00.00.0000 00:00

      В Настройках написано, что только если симка находится вне действия сети.
      Самый интересный вопрос будет ли это работать в роуминге. Второй вставляешь местную симку и с первой звонишь через передачу данных второй.

      Мне как-то сложно найти место где у меня не работает первый оператор и работает второй...


    1. Abyss777
      00.00.0000 00:00

      Теоретически да, но зависит от реализации.
      У меня если зарегистрироваться в wowifi через wifi и подключиться по проводу, то какбы работает, но достоверно проверить невозможно, потому что как только я отключаю wifi то сразу пропадает значок. А сразу через провод он не регистрируется в wowifi.