Как стать автором
Обновить

Комментарии 14

Не прибудет. Качество связи voip хоть по lte, хоть через wifi все еще ужасное, крехтение, пердение и все такое, на другом конце постоянно будут спрашивать что у вас со связью. В режиме ожидание сьедает батарею в лет, пуши порой не проходят (ios) и легко пропустить звонок.
Качество связи voip хоть по lte, хоть через wifi все еще ужасное, крехтение, пердение и все такое

Это вопросы к тем, кто сегодня использует PCMU/PCMA там где можно обойтись без этого (без выхода в ТФоП), а уж если приходится звонить в ТФоП, то можно реализовать через AMR-WB, качество конечно еще такое, но уже лучше.

Для остальных случаев в opus «кряхтений» нет.
1. AMR-WB — проприетарный;
2. Его поддерживает малое количество операторов, малое количество оборудования, софтфонов. В Asterisk «из коробки» его так же нет, нужно патчить перед сборкой.
3. Opus хороший практически в любых случаях.
Пользуюсь SIP VoIP с 2012 года. В сети LTE и Wifi связь стабильно отличная. Батарея «в лет» не разряжается, хотя push не использую.
Просто нужно использовать не древнее оборудование и устаревшие кодеки, и стабильный интернет (достаточно 80-100 кбит/сек, но с низким jitter).
wifi calling у того же МТС нормально использует пакеты трафика.
Или приложение МТС Коннект — ему вайфай не нужен, любой интернет сгодится.

У мегафона точно что-то аналогичное было.

"ему вайфай не нужен, любой интернет сгодится".
Нет, не любой. В коде МТС Коннект есть ошибка, из-за которой он некоторые типы подключений не учитывает, и выводит сообщение о низкой скорости соединения и не хочет звонить, хотя speedtest на этом соединении может показывать несколько сотен мегабит.
У меня это сообщение выводилось в разных случаях, и при включении reverse tethering через приложение Tetrd, при подключении по Ethernet или Bluetooth. Какой-то другой пользователь писал, что у него даже в мобильной сети такое сообщение вылезало.
Я писал в поддержку, но пока это не поправлено даже в бета версии.

Если у нас нет старых аппаратов поддержкой только SIP, то почему бы не использовать протокол IAX2?
Сколько лет можно кушать кактус героически решать проблемы NAT-а?

А как load balancing делать? С SIP можно иметь разные пути голоса и сигнализации, а IAX2 не может такого. Ну и дополнительно нет расширений, доп заголовков и приколочено гвоздями к Asterisk

Даже если текущая реализация протокола не умеет делать этого, то можно в самом приложении делать хотя бы round-robin.
Да хоть в приложении запрашивать свободный сервер.

Главное, что проблема с NAT решается.
Вот тут и начинаются проблемы. Так мы приложение начинаем заставлять решать проблемы которые решать оно не должно. С SIP можно взять Kamailio/OpenSIPS и внутри использовать любую логику распределения звонков, работы с NAT и фильтрации по правилам не пропуская весь RTP через эту ноду. Опять-же если использовать keepalived, то можно еще и в случае чего зарезервировать балансер не прерывая звонки.

В случае IAX2 мы получаем RTP и сигнализацию в одном UDP потоке (да, решать надо в 2 раза меньше проблем с NAT), но мы не можем ни добавить кастомный заголовок, ни использовать никакой балансер кроме Asterisk.
Да и проблемы с NAT и SIP/RTP на мой взгляд сильно преувеличены, сейчас есть уже стандартные способы решения их.

Поставил маме VoIP, чтобы не платить за минуты. Но немного по-другому по сравнению с тем, что в статье описано. Используется IPv6 и соединения между абонентами напрямую, без register-сервера. Так как IP-адреса в сети динамические (понятно, какого оператора, так как с IPv6 у нас пока оператор только один), приходится запускать сервис динамического DNS. Хотелось бы иметь поддержку динамического DNS на стороне оператора, было бы совсем замечательно (вот в белорусском МТС есть такая услуга).
И практически никаких проблем, качество связи по 4G очень хорошее, и батарею не ест (запрос на обновление адреса может посылаться только при переподключении к сети, и не надо держать соединение, хотя Linphone пытается это делать, но трафик на это маленький). Раз есть IPv6, то не нужен NAT. Можно звонить и с телефона, и с компьютера. Поддерживается e2e шифрование. Жаль только, что сообщения в Linphone поддерживаются весьма ограниченно.
В настройках телефона приходится указывать для приложений Linphone и обновлялки DNS исключения энергосбережения.
Недостатки схемы — не очень высокое распространение IPv6 пока, и невысокая безопасность при публичном использовании (зная IPv6 адрес абонента, легко его заDOSить, хотя это можно решить VPN'ом с файрволом). Хотя можно заDOSить и обычный SIP, если у абонента лимитный трафик и сервер позволяет передавать медиа напрямую: позвонили, узнали IP и порт, и давай слать по нему гигабайты незапрошенных данных. Может быть, это от типа NAT зависит.
Это тоже, наверное, должно решаться оператором, скорость поступления пакетов на установку соединения должна как-то лимитироваться, и они не должны включаться в тарификацию. Отослал клиент ответ — соединение считается установленным, ограничение снимается, тарификация считается.

А у кого из операторов IPv6?

у МТС конечно же

Зарегистрируйтесь на Хабре, чтобы оставить комментарий