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
Необходимо реализовать авторизацию в web-интерфейсе. Скорее всего будет достаточным просто пары login/password без возможности управления несколькими пользователями.
При удалении устройства из списка не удаляются логи его работы из системы. Необходимо исправить проблему.
По результатам общения с технической поддержкой Grandstream и нескольких неудачных обновлений было принято решение об изменении логики отдачи прошивок.
Суть изменения в следующем:
Необходимо реализовать поддержку отображения логов обращения аппаратов к серверу.
При попытке подключения Grandstream HT802 обнаружилось, что коды конфига для авторизации на SIP сервере не соответствуют моделям GXPxxxx. Необходима правка кода.
Добавить ссылки на документацию на всех функциональных страницах GRCentral.
Необходимо облагородить функцию перезагрузки телефона через CTI.
Необходимо реализовать уведомление о новой версии при входе администратора в WebUI.
Необходимо убрать лишние редиректы в контроллере settings на под-разделы 'list'.
Например, при переходе по URL /settings/fw происходит переадресация на страницу /settings/fw/list
Необходимо реализовать генерацию телефонной книги в XML формате.
В случае, если у аппарата прошивка выше, чем есть в базе данных, то на аппарат устанавливается стартовая прошивка - не правильное поведение - необходимо устранить.
Отказаться от конфига grcentral.php и перенести настройки в базу. Вынести страницу настроек системы где-то в интерфейсе.
Так же, хотелось бы рулить штатными (необходимыми Codeigniter'у - файл config.php) настройками из панельки, минимизируя хождения по конфигам при настройке и эксплуатации.
Необходимо добавить флажок в список девайсов, сигнализирующий о том, что у определенного девайса есть собственные параметры, которые перезаписывают общие параметры, заданные данной модели устройств.
Необходимо добавить полный перевод интерфейса на английский язык.
Необходимо реализовать проверку IP адреса устройства на соответствие адреса в базе данных.
Сделать настройки:
При генерации конфигурационных файлов возникает ошибка, если к группе моделей не привязан шаблон параметров.
Необходимо перевести на AJAX как минимум модальное окно редактирования и создания устройства (подтягивать список моделей, список прошивок для закрепления только для этой модели).
Возможно, в каких-то еще окнах потребуется к моменту реализации данной issue.
Не удобно обновлять страницу информации об устройстве, чтобы просмотреть актуальные логи работы устройства.
Необходимо сделать динамичное обновление по открытию модального окна, а не при формировании страницы информации.
На данный момент устройство перезапускается сразу же по нажатию на кнопку "Перезагрузить" на странице устройства. Необходимо сделать подтверждение.
Необходимо реализовать возможность сброса всех системных настроек в режим "по-умолчанию".
В текущей документации необходимы следующие изменения:
Задача на далекое будущее:
Необходимо реализовать интеграцию телефонного справочника с LDAP.
Найдена небольшая недоработка. Если в GRCentral не настроен SIP аккаунт, а на телефоне он был настроен вручную или до подключения к GRCentral, то аккаунт не перезапишется. Необходимо исправить эту проблему. Например отправлять в конфиг принудительные коды отключения аккаунтов, если они не настроены в интерфейсе.
grcentral/webui/application/views/phones/phones_info.php
Lines 29 to 36 in 781997c
Необходимо в системных настройках реализовать возможность отключения помощи по разделам. Тот самый текст, который отображается над контентом на каждой странице.
Необходимо создать правильные .htaccess файлы для директорий и провести ревизию текущих для улучшения безопасности.
Необходимо рассмотреть возможность интеграции системы с другими вендорами, как например: Yealink, Fanvil.
На данный момент это является проблемой, т.к. нет аппаратов для тестирования.
В теории же, можно было бы реализовать.
Закидываю в период "v.0.XXX (Future)", т.е. в дальнюю коробку.
Необходимо внедрить функционал для управления рингтонами через web-интерфейс с автоматическим перекодированием в нужный формат.
Необходимо реализовать возможность указания отдельных параметров у конкретного телефона, которые имели бы приоритет над основным конфигом модели. Например, всем отключить функцию перевода звонка по кнопке, а одному-двум оставить.
Как вариант - в окне редактирования устройства сделать отдельное поле, обрабатываемое по тому же принципу, что у в основном конфиге.
На данный момент предполагается использование команды restart для удаленной перезагрузки аппарата. На данный момент необходимо решить откуда брать админский пароль для управления.
Необходимо реализовать очистку хранилища от уже неактуальных XML файлов. Сейчас при удалении устройства - файл остается лежать мертвым грузом.
Необходимо прикрутить красивый интерфейс на кнопку. Отображать кнопку только если зафиксированы изменения.
Необходимо продублировать документацию на английском языке.
Обнаружена ошибка, при которой девайс не может обновиться на новую версию отключенной закрепленной прошивки в случае, если "Предыдущая версия" отлична от версии девайса. GRCentral, в данном случае, отдает ошибку 404.
Уходим от понятия "телефон" и приходим к понятию "устройство". С сервером GRCentral могут работать не только телефоны, но и другие устройства Grandstream.
Необходимо реализовать мониторинг телефонов (ping) в сети.
Обновление документации:
Добавить новые страницы документации:
Так же, необходимо обновить все скриншоты интерфейса.
Необходимо реализовать API для доступа к информации, хранящейся в базе GRCentral:
Предполагается работа с помощью автоматически генерируемых ключей с возможностью ограничения работы только с определенного IP адреса, а так же ограничением сервисов, доступных по API для каждого ключа.
Подробная информация по всем запросам в wiki проекта: API
Предполагается реализовать возможность автоматического получения данных о выбранных пользователем моделях, группах моделей, шаблонах настроек, прошивок, названием кодов конфигов (что в настройках групп моделей) через центральный сервер разработчика. Данное ускорит стартовую настройку системы, а так же позволит уменьшить риск ошибок при настройке.
Возможно, центральным сервером будет репозиторий на github или отдельный сайт разработчика (что врятли, т.к. меньше доверия к приходящим данным).
Предполагается реализация данного функционала в ближайшее время, поэтому проставляю план на v.0.3.
Необходимо каким-то образом визуализировать онлайн статистику устройств, например красивым графиком или чем-то подобным, просто для наглядности.
Необходимо реализовать возможность выбора прошивки у аппарата, даже если прошивка отключена.
Для чего? Чтобы можно было обкатывать новые прошивки только на указанных аппаратах.
Что для этого нужно:
Отключенный девайс может получать обновления при условии выключенной настройки "Friedly update"
Необходимо проверять значения переменных "upload_max_filesize" и "post_max_size" в разделе загрузки прошивок и информировать пользователя в случае, если значения слишком малы.
Устройства Grandstream позволяют "стучаться" по определенным URL в случае выполнения каких-либо действий. Grandstream называет их - ActionURL. Настраиваются, как обычно в конфиг файле.
Теоретически, можно сделать поддержку таких "стучалок", но надо подумать - надо ли оно вообще.
Откладываю на "далекое будущее"...
Необходимо обновить компоненты WebUI до актуальных версий:
Необходимо реализовать редактирование устройства не только на странице списка, но и на странице информации.
Как вариант - чтобы не дублировать код, модальку и JS код вынести в отдельную вьюху и подключать непосредственно во вьюхе функции.
Необходим автоматический инсталлятор панели управления.
Необходимо реализовать переключатель в системных настройках на временное отключение возможности отдавать CFG и FW файлы устройствам, а так же на включение/отключение тестового режима для отладки системы.
Сделать возможность указания номера голосовой почты в настройках сервера.
В списке прошивок добавить отображение счетчика "на скольких аппаратах установлена данная версия"
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.