Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Проблемы с роумингом на UAP, UniFi Network
 
Господа, я столкнулся с весьма странным поведением UniFi AP. Мы установили 25 UniFi AP в большом розничном магазине, чтобы покрыть более 140 телефонов Samsung SMTw5100 WIP. Эти телефоны используют собственный протокол управления вызовами, но голосовой канал передаётся по RTP. Это устройства стандарта 802.11g с возможностью задавать порог "scanning start" и дельту для переключения между точками доступа.

Мы установили все UniFi AP и контроллер (Linux), версия 2.3.9. Проблемное поведение описывается так: Телефон1 и Телефон2 подключены к AP1. На AP можно с помощью tcpdump -i wifi0 увидеть RTP-трафик между двумя устройствами. Голосовая связь работает нормально, всё как положено.

Теперь, если AP2 находится на ТОМ ЖЕ канале, что и AP1, и Телефон2 подходит ближе к AP2, то мы видим, что телефон отправляет AP1 запрос на "disassociation", а затем происходит новое подключение к AP2. То есть Телефон2 перешёл на AP2 с почти незаметным прерыванием голоса:

May 25 00:30:05 AP1 daemon.info hostapd: ath1: STA 00:00:f0:05:be:43 IEEE 802.11: disassociated  
May 25 00:30:05 AP1 user.info syslog: wevent.wevent_main(): wevent: EVENT_STA_LEAVE ath1: 2  
May 25 00:30:05 AP2 daemon.info hostapd: ath1: STA 00:00:f0:05:be:43 IEEE 802.11: associated  
May 25 00:30:05 AP2 daemon.info hostapd: ath1: STA 00:00:f0:05:be:43 WPA: pairwise key handshake completed (RSN)  
May 25 00:30:05 AP2 user.info syslog: wevent.wevent_main(): wevent: EVENT_STA_JOIN ath1: 00:00:f0:05:be:43 / 2

Если проверить тот же эксперимент, когда AP2 работает на ДРУГОМ канале, то мы НЕ увидим запрос disassociation от телефона к AP1, НО будет запрос на ассоциацию с AP2 (то же может случиться и в первом случае, если телефон не дотягивается до AP1, чтобы послать disassociation из-за слабого сигнала). То есть телефон подключён к AP2, а AP1 об этом не знает. В результате голосовой поток с Телефон1 на Телефон2 остаётся внутри wifi0 и не выходит на eth0, чтобы попасть к AP2. Голос в обратную сторону идёт через eth0 нормально, что усугубляет ситуацию, поскольку таймер устаревания записи о Телефон2 на мосту br0 AP1 не истекает. Итог – пока AP1 не заметит отсутствие телефона и не разорвёт ассоциацию (что может занять до 6 минут!), связь с Телефоном2 к Телефону1 отсутствует.

Интересно, что такая же ситуация была между двумя Android-телефонами (GS3), которые пингуют друг друга.

Это нормально? Есть ли возможность настроить таймер устаревания моста или отключить его совсем? Может, есть способ, чтобы AP1 узнавал о новом подключении Телефона2 к AP2 и перенастраивал мост?

Мы также пробовали версию 3.1.1 при тех же каналах, но появилась новая проблема: телефоны уходят в офлайн спустя 3–5 минут бездействия (что указывает на проблемы с подключением к PBX, но мы пока не успели это отладить). В версии 2.x такого не было.

Если нужно, могу провести дополнительные тесты или предоставить заранее сконфигурированный WIP телефон.

Спасибо заранее,  
George
 
Я вообще не сталкивался с тем, чтобы наши телефоны теряли связь в режиме простоя. У нас работает несколько частот одновременно (1, 6 и 11), так что не уверен, насколько это влияет.
 
Я пробовал версию 3.1.1 (не было времени проверить 3.1.2), но столкнулся с другой проблемой, которой не было в серии 2.x: телефоны уходили офлайн примерно через 5 минут. Это означает, что UDP-сообщение heartbeat, которое телефоны отправляют, чтобы убедиться, что они всё ещё могут связаться с IP-АТС, где-то блокируется. Поскольку с версией 2.x такого не происходило, возможно, это какой-то настраиваемый параметр или баг. Спасибо, George.
 
У нас была точно такая же проблема на версии 2.3.9 с телефонами Ascom. Я только что обновился до 3.1.2 бета, и это решило проблему (мы НЕ используем функцию zero-handoff). В ветке 3.x теперь появилась возможность «AP к AP коммуникациям». Насколько я понял, даже если AP 1 не получает сообщение о разъединении, когда происходит последующая ассоциация с AP 2, он отправляет сообщение всем остальным AP с уведомлением: «MAC-адрес x теперь подключён ко мне», и AP 1 тогда сбрасывает свое устаревшее соединение. Вы должны увидеть плавный переход (у нас немного портится качество голоса при переключении, но это почти не заметно).
 
Если вы готовы попробовать БЕТА-версию, версия 3.1.2 поддерживает Zero-Handoff, которая должна помочь при переключении устройств между точками доступа. По форумам многие отмечают, что кому-то она хорошо помогает, а кому-то не очень. Возможно, это решит вашу проблему.
 
Это может быть связано, и вы как раз описали ту же ситуацию. Становится ещё интереснее, если вместо sip-телефонов использовать два мобильных устройства, обменивающихся пингами. Эффект тот же: если устройство не может отключиться от «старой» точки доступа, все остальные беспроводные устройства на этой точке не смогут его пропинговать, даже если устройство уже подключилось к новой точке доступа. Мы использовали как SGS3, так и ноутбуки в роли описанных устройств. Сниффер tcpdump на точке доступа показывает, что мост br0 всё ещё помнит MAC-адрес отсутствующего устройства и пытается отправлять туда пакеты, или, по крайней мере, я так понимаю суть проблемы. Спасибо, Джордж.
 
У меня нет телефонов, но я заметил, что когда клиенты подключаются к моему Wi-Fi, они появляются в списке гостей во время использования. Однако, когда они уходят из зоны действия и больше не подключены, они всё равно остаются в списке, как будто всё ещё здесь, примерно пару минут. Даже при обновлении каждые 5 секунд. Это похоже на проблему, с которой столкнулся этот парень? Я заметил, что если клиент переключается на другой UAP, информация обновляется быстро, но если просто отключается от последней точки доступа и не подключается ни к какой другой, они остаются в списке, как призраки. Я могу зайти и сделать повторное одобрение подключения — тогда они исчезают, но просто интересно.
 
Поднял. Есть кто? Спасибо, Джордж.
Страницы: 1
Читают тему (гостей: 1)