Долго выбирал куда написать - сюда или в "оборудование", решил сюда, ибо в последнем в основном "купи/продай". Но вопрос не в этом...
Я безуспешно пытался найти на просторах интернета какую-нибудь open source систему для автоматизации провиженинга телефонов Linksys/Cisco home. Вручную править файлы или настраивать каждый шлюз/телефон как-то неправильно, да и если их больше сотни - то это чревато ошибками. И в итоге сейчас рождается небольшой веб-проект по автоматизации всего этого дела. Пишу на python + web.py. Готовность где-то около 50% при полном отсутствии дизайна шаблонов (ну не дизайнер я...). После окончания и внедрения у заказчика проект предполагается выложить под какой-нибудь OS лицензией.
А вопросов собственно несколько:
1. Может я велосипед изобретаю, и просто не нашел готового подобного продукта? Если это так, ткните меня в него пожалуйста. Сразу прошу "коробочные" астериски не предлагать, использую самосбор.
2. Кому-нибудь кроме меня вообще это надо?
3. Если второй вопрос имеет положительный ответ, то может кто-нибудь помочь с дизайном шаблонов? Я планировал погрузиться в это после окончания написания логики.
Если будет положительный фидбек, расскажу про систему подробнее. Может быть, появятся замечания, меняющие логику...
Сам давно планирую такую написать для себя, но python я незнаю, могу только на php
Единственное, что хотелось бы посоветовать - не ограничиваться только Cisco/Linksys телефонами хотя я и использую преимущественно именно их.
Вот кстати посмотрите как сделал один уважаемый человек: http://lynks.ru/news/novaya-sistema-nast ... x-embedded
Ключевая фишка - поддержка шаблонов конфигураций для различных аппаратов.
_________________
Gentoo Linux || Asterisk 11.2-cert3
Решения телефонии на базе Asterisk || http://it-need.ru
Да, наверное нужно будет ввести табличку activity, в которой будут отмечаться все заренные устройства, получившие конфигурацию. Будет практически как в том проекте.
И немного оффтопика. Тоже знаю PHP, но после питона писать на нем тяжело. Пишу для веба редко и только для внутрикорпоративного употребления. Недавно потребовалось написать на PHP одну страничку с формой - получилось совершенно некрасиво. На питоне получается красивей и читабельней. Для больших проектов есть замечательный фреймворк Django, но он IMHO тяжеловат для старта несмотря на кучу литературы по нему. А когда начал этот проект, поискал фреймворк попроще, и теперь просто прусь с web.py.
По скринам видно, что настройка состоит из 3-х слабозависимых частей:
1. Настройка устройств. Устройства проваливаются в базу при первом включении в сеть. Я не стал вводить возможность для прописывания их вручную, поскольку это достаточно долго, да и вероятность ошибки велика, даже если вводить сканером штрих-кода (тип-то все равно придется вводить вручную, я не стал усложнять базу таблицей типов устройств, хотя может и зря). При редактировании главное - это прописать устройству конкретный профиль, но об этом позднее.
2. Настройка екстеншенов. Долго пытался найти синоним этому слову (также как и слову CallerID). IMHO самое близкое значение - "номер", но это обсуждается... Итак, номера можно добавлять оптом (серию сразу) и в розницу, при редактировании привязывать к устройству, причем будут показаны уже занятые линии устройства. При выводе списка екстеншенов и устройств можно фильтровать "только подключенные" или "неподключенные" устройства.
3. Ну и профили, наконец. Для каждого типа устройства нужен свой профиль - набор настроек. Профиль можно загрузить из XML файла, генерируемого штатной прогой компилятора профайлов устройства. Затем профиль можно копировать, удалять в нем ненужные строки, итд. Пользователь и пароль из таблицы екстеншенов подставляются с помощью макроса, адреса серверов же я планировал вбивать в профиль явным образом.
Так что самое муторное - подготовить как минимум по одному профилю на тип устройства - удалить лишние записи, прописать куда надо макросы. Затем останется только привязать номера к устройствам, и все.
Пока писал этот пост, нашел еще недоработки... Иду править.
Прилагаю кучку скриншотов. Для выкладывания и использования продукт еще наглухо сырой, но если есть желающие - могу пока выставить свой домашний сервак на каком-нить верхнем порту на несколько дней познакомиться с интерфейсом и генерацией выходного XML.
Да, в принципе код получился достаточно простой и с некоторой доработкой пригоден и для провиженинга других вендоров. Придется тогда уж точно заводить таблицу с типами, и описывать шаблон вывода, но это все после....
Ну и больная тема - дизайн и UI. У меня даже таблица стилей позаимствована с какого-то сайта...
Да, естественно, замечания и предложения принимаются с благодарностью, так же как и советы по реализации дружественного интерфейса и дизайна.
В общем, как-то так.
| VelAndr @ Пт Май 04, 2012 00:16 писал(а): |
| 1. Настройка устройств. Устройства проваливаются в базу при первом включении в сеть. |
Вот это как организовано? Скан лога tftp сервера и добавление нового устройства в базу? А как тип устройства определяется?
_________________
Gentoo Linux || Asterisk 11.2-cert3
Решения телефонии на базе Asterisk || http://it-need.ru