AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Продукт для провиженинга Linksys/Cisco home

Asterisk GUI 5 сообщений -
#1

Здравствуйте!

Долго выбирал куда написать - сюда или в "оборудование", решил сюда, ибо в последнем в основном "купи/продай". Но вопрос не в этом...

Я безуспешно пытался найти на просторах интернета какую-нибудь open source систему для автоматизации провиженинга телефонов Linksys/Cisco home. Вручную править файлы или настраивать каждый шлюз/телефон как-то неправильно, да и если их больше сотни - то это чревато ошибками. И в итоге сейчас рождается небольшой веб-проект по автоматизации всего этого дела. Пишу на python + web.py. Готовность где-то около 50% при полном отсутствии дизайна шаблонов (ну не дизайнер я...). После окончания и внедрения у заказчика проект предполагается выложить под какой-нибудь OS лицензией.
А вопросов собственно несколько:
1. Может я велосипед изобретаю, и просто не нашел готового подобного продукта? Если это так, ткните меня в него пожалуйста. Сразу прошу "коробочные" астериски не предлагать, использую самосбор.
2. Кому-нибудь кроме меня вообще это надо?
3. Если второй вопрос имеет положительный ответ, то может кто-нибудь помочь с дизайном шаблонов? Я планировал погрузиться в это после окончания написания логики.

Если будет положительный фидбек, расскажу про систему подробнее. Может быть, появятся замечания, меняющие логику...
#2

Интересно! Таких систем в свободном доступе не встречал.

Сам давно планирую такую написать для себя, но python я незнаю, могу только на php Smile

Единственное, что хотелось бы посоветовать - не ограничиваться только Cisco/Linksys телефонами хотя я и использую преимущественно именно их.

Вот кстати посмотрите как сделал один уважаемый человек: http://lynks.ru/news/novaya-sistema-nast ... x-embedded

Ключевая фишка - поддержка шаблонов конфигураций для различных аппаратов.

_________________
Gentoo Linux || Asterisk 11.2-cert3
Решения телефонии на базе Asterisk || http://it-need.ru
#3

Профайлы устройств у меня присутствуют. С устройствами разных брендов сложнее, поскольку у меня их просто нет в наличии. Имею по одной штуке PAP2T, SPA3102 и SPA921. На них и тренируюсь. С устройствами других брендов просто не знаю, умеют ли они принимать конфиурацию по HTTP из URL, объявленном в .cfg-файле, получаемом по TFTP. Если да, то проблем не должно быть. Вообще-то по ссылке любопытный проект. Изначально я не планировал сильно сращивать свой проект с астериском, только скачать файл users.conf для подсовывания его в астериск или прописать екстеншены в базу sippeers (поскольку пароли для екстеншенов у меня при массовом заведении генерируются автоматически). Сначала допишу то, что запланировал, а потом можно добавлять все что угодно. Система получается вполне гибкой для этого.
Да, наверное нужно будет ввести табличку activity, в которой будут отмечаться все заренные устройства, получившие конфигурацию. Будет практически как в том проекте.

И немного оффтопика. Тоже знаю PHP, но после питона писать на нем тяжело. Пишу для веба редко и только для внутрикорпоративного употребления. Недавно потребовалось написать на PHP одну страничку с формой - получилось совершенно некрасиво. На питоне получается красивей и читабельней. Для больших проектов есть замечательный фреймворк Django, но он IMHO тяжеловат для старта несмотря на кучу литературы по нему. А когда начал этот проект, поискал фреймворк попроще, и теперь просто прусь с web.py.
#4

Ну, в общем, заработал продукт. Пока без дизайна, но мой PAP2T успешно получил с него конфигурацию.
По скринам видно, что настройка состоит из 3-х слабозависимых частей:
1. Настройка устройств. Устройства проваливаются в базу при первом включении в сеть. Я не стал вводить возможность для прописывания их вручную, поскольку это достаточно долго, да и вероятность ошибки велика, даже если вводить сканером штрих-кода (тип-то все равно придется вводить вручную, я не стал усложнять базу таблицей типов устройств, хотя может и зря). При редактировании главное - это прописать устройству конкретный профиль, но об этом позднее.
2. Настройка екстеншенов. Долго пытался найти синоним этому слову (также как и слову CallerID). IMHO самое близкое значение - "номер", но это обсуждается... Итак, номера можно добавлять оптом (серию сразу) и в розницу, при редактировании привязывать к устройству, причем будут показаны уже занятые линии устройства. При выводе списка екстеншенов и устройств можно фильтровать "только подключенные" или "неподключенные" устройства.
3. Ну и профили, наконец. Для каждого типа устройства нужен свой профиль - набор настроек. Профиль можно загрузить из XML файла, генерируемого штатной прогой компилятора профайлов устройства. Затем профиль можно копировать, удалять в нем ненужные строки, итд. Пользователь и пароль из таблицы екстеншенов подставляются с помощью макроса, адреса серверов же я планировал вбивать в профиль явным образом.
Так что самое муторное - подготовить как минимум по одному профилю на тип устройства - удалить лишние записи, прописать куда надо макросы. Затем останется только привязать номера к устройствам, и все.
Пока писал этот пост, нашел еще недоработки... Иду править.
Прилагаю кучку скриншотов. Для выкладывания и использования продукт еще наглухо сырой, но если есть желающие - могу пока выставить свой домашний сервак на каком-нить верхнем порту на несколько дней познакомиться с интерфейсом и генерацией выходного XML.
Да, в принципе код получился достаточно простой и с некоторой доработкой пригоден и для провиженинга других вендоров. Придется тогда уж точно заводить таблицу с типами, и описывать шаблон вывода, но это все после....
Ну и больная тема - дизайн и UI. У меня даже таблица стилей позаимствована с какого-то сайта...
Да, естественно, замечания и предложения принимаются с благодарностью, так же как и советы по реализации дружественного интерфейса и дизайна.
В общем, как-то так.
#5

Есть какие-нибудь новости по проекту?

VelAndr @ Пт Май 04, 2012 00:16 писал(а):

1. Настройка устройств. Устройства проваливаются в базу при первом включении в сеть.

Вот это как организовано? Скан лога tftp сервера и добавление нового устройства в базу? А как тип устройства определяется?

_________________
Gentoo Linux || Asterisk 11.2-cert3
Решения телефонии на базе Asterisk || http://it-need.ru