lumian / grcentral Goto Github PK
View Code? Open in Web Editor NEWGRCentral - Система управления VoIP устройствами Grandstream в удобном Web интерфейсе.
Home Page: https://hionline.ru/#grcentral
License: MIT License
GRCentral - Система управления VoIP устройствами Grandstream в удобном Web интерфейсе.
Home Page: https://hionline.ru/#grcentral
License: MIT License
Необходимо реализовать переключатель в системных настройках на временное отключение возможности отдавать CFG и FW файлы устройствам, а так же на включение/отключение тестового режима для отладки системы.
На данный момент предполагается использование команды restart для удаленной перезагрузки аппарата. На данный момент необходимо решить откуда брать админский пароль для управления.
Устройства Grandstream позволяют "стучаться" по определенным URL в случае выполнения каких-либо действий. Grandstream называет их - ActionURL. Настраиваются, как обычно в конфиг файле.
Теоретически, можно сделать поддержку таких "стучалок", но надо подумать - надо ли оно вообще.
Откладываю на "далекое будущее"...
По результатам общения с технической поддержкой Grandstream и нескольких неудачных обновлений было принято решение об изменении логики отдачи прошивок.
Суть изменения в следующем:
При удалении устройства из списка не удаляются логи его работы из системы. Необходимо исправить проблему.
Предполагается реализовать возможность автоматического получения данных о выбранных пользователем моделях, группах моделей, шаблонах настроек, прошивок, названием кодов конфигов (что в настройках групп моделей) через центральный сервер разработчика. Данное ускорит стартовую настройку системы, а так же позволит уменьшить риск ошибок при настройке.
Возможно, центральным сервером будет репозиторий на github или отдельный сайт разработчика (что врятли, т.к. меньше доверия к приходящим данным).
Предполагается реализация данного функционала в ближайшее время, поэтому проставляю план на v.0.3.
На данный момент устройство перезапускается сразу же по нажатию на кнопку "Перезагрузить" на странице устройства. Необходимо сделать подтверждение.
Необходимо перевести на AJAX как минимум модальное окно редактирования и создания устройства (подтягивать список моделей, список прошивок для закрепления только для этой модели).
Возможно, в каких-то еще окнах потребуется к моменту реализации данной issue.
Необходимо продублировать документацию на английском языке.
Необходимо создать правильные .htaccess файлы для директорий и провести ревизию текущих для улучшения безопасности.
В случае, если у аппарата прошивка выше, чем есть в базе данных, то на аппарат устанавливается стартовая прошивка - не правильное поведение - необходимо устранить.
В текущей документации необходимы следующие изменения:
При попытке подключения Grandstream HT802 обнаружилось, что коды конфига для авторизации на SIP сервере не соответствуют моделям GXPxxxx. Необходима правка кода.
Отключенный девайс может получать обновления при условии выключенной настройки "Friedly update"
Необходимо реализовать поддержку отображения логов обращения аппаратов к серверу.
Необходимо реализовать проверку IP адреса устройства на соответствие адреса в базе данных.
Сделать настройки:
Необходимо реализовать API для доступа к информации, хранящейся в базе GRCentral:
Предполагается работа с помощью автоматически генерируемых ключей с возможностью ограничения работы только с определенного IP адреса, а так же ограничением сервисов, доступных по API для каждого ключа.
Подробная информация по всем запросам в wiki проекта: API
grcentral/webui/application/views/phones/phones_info.php
Lines 29 to 36 in 781997c
Уходим от понятия "телефон" и приходим к понятию "устройство". С сервером GRCentral могут работать не только телефоны, но и другие устройства Grandstream.
Необходимо каким-то образом визуализировать онлайн статистику устройств, например красивым графиком или чем-то подобным, просто для наглядности.
Необходимо проверять значения переменных "upload_max_filesize" и "post_max_size" в разделе загрузки прошивок и информировать пользователя в случае, если значения слишком малы.
Необходимо прикрутить красивый интерфейс на кнопку. Отображать кнопку только если зафиксированы изменения.
Необходимо реализовать авторизацию в web-интерфейсе. Скорее всего будет достаточным просто пары login/password без возможности управления несколькими пользователями.
Необходимо добавить флажок в список девайсов, сигнализирующий о том, что у определенного девайса есть собственные параметры, которые перезаписывают общие параметры, заданные данной модели устройств.
Найдена небольшая недоработка. Если в GRCentral не настроен SIP аккаунт, а на телефоне он был настроен вручную или до подключения к GRCentral, то аккаунт не перезапишется. Необходимо исправить эту проблему. Например отправлять в конфиг принудительные коды отключения аккаунтов, если они не настроены в интерфейсе.
Необходимо реализовать возможность выбора прошивки у аппарата, даже если прошивка отключена.
Для чего? Чтобы можно было обкатывать новые прошивки только на указанных аппаратах.
Что для этого нужно:
Необходимо внедрить функционал для управления рингтонами через web-интерфейс с автоматическим перекодированием в нужный формат.
Необходимо в системных настройках реализовать возможность отключения помощи по разделам. Тот самый текст, который отображается над контентом на каждой странице.
Необходимо реализовать редактирование устройства не только на странице списка, но и на странице информации.
Как вариант - чтобы не дублировать код, модальку и JS код вынести в отдельную вьюху и подключать непосредственно во вьюхе функции.
Необходимо реализовать очистку хранилища от уже неактуальных XML файлов. Сейчас при удалении устройства - файл остается лежать мертвым грузом.
Отказаться от конфига grcentral.php и перенести настройки в базу. Вынести страницу настроек системы где-то в интерфейсе.
Так же, хотелось бы рулить штатными (необходимыми Codeigniter'у - файл config.php) настройками из панельки, минимизируя хождения по конфигам при настройке и эксплуатации.
Необходимо реализовать возможность указания отдельных параметров у конкретного телефона, которые имели бы приоритет над основным конфигом модели. Например, всем отключить функцию перевода звонка по кнопке, а одному-двум оставить.
Как вариант - в окне редактирования устройства сделать отдельное поле, обрабатываемое по тому же принципу, что у в основном конфиге.
Необходимо облагородить функцию перезагрузки телефона через CTI.
Сделать возможность указания номера голосовой почты в настройках сервера.
В списке прошивок добавить отображение счетчика "на скольких аппаратах установлена данная версия"
Необходимо добавить полный перевод интерфейса на английский язык.
Не удобно обновлять страницу информации об устройстве, чтобы просмотреть актуальные логи работы устройства.
Необходимо сделать динамичное обновление по открытию модального окна, а не при формировании страницы информации.
Задача на далекое будущее:
Необходимо реализовать интеграцию телефонного справочника с LDAP.
Необходимо рассмотреть возможность интеграции системы с другими вендорами, как например: Yealink, Fanvil.
На данный момент это является проблемой, т.к. нет аппаратов для тестирования.
В теории же, можно было бы реализовать.
Закидываю в период "v.0.XXX (Future)", т.е. в дальнюю коробку.
Необходим автоматический инсталлятор панели управления.
Необходимо реализовать возможность сброса всех системных настроек в режим "по-умолчанию".
Необходимо реализовать уведомление о новой версии при входе администратора в WebUI.
Необходимо обновить компоненты WebUI до актуальных версий:
Обнаружена ошибка, при которой девайс не может обновиться на новую версию отключенной закрепленной прошивки в случае, если "Предыдущая версия" отлична от версии девайса. GRCentral, в данном случае, отдает ошибку 404.
Обновление документации:
Добавить новые страницы документации:
Так же, необходимо обновить все скриншоты интерфейса.
При генерации конфигурационных файлов возникает ошибка, если к группе моделей не привязан шаблон параметров.
Необходимо реализовать генерацию телефонной книги в XML формате.
Добавить ссылки на документацию на всех функциональных страницах GRCentral.
Необходимо убрать лишние редиректы в контроллере settings на под-разделы 'list'.
Например, при переходе по URL /settings/fw происходит переадресация на страницу /settings/fw/list
Необходимо реализовать мониторинг телефонов (ping) в сети.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.