Опубликована новая свободная библиотека libamc (https://sourceforge.net/projects/libamc) (AMC - Asterisk Manager Client) с реализацией C++ класса для удаленного управления АТС на базе Asterisk.
Ключевые особенности:- Небольшой размер, высокая производительность;
- Код оптимизирован для применения в многопоточных приложениях, где достигает максимальной производительности;
- Проработаны практически все функции Asterisk Manager, включая:- управление вызовами,
- управление очередями,
- телеконференции(meetme, confbridge),
- функции администрирования и управление конфгурациями,
- управление DAHDI-каналами;- Круг применения: от простых скриптов, изменяющих пароли пользователей, до построения комплексных SCADA-систем, позволяющих производить с одного терминала мониторинг и управление VoIP-структурой предприятия, состоящей из 1000+ серверов;
- Лицензия BSD.URL: https://sourceforge.net/projects/libamc
Новость: http://www.opennet.me/opennews/art.shtml?num=35722
Кто-то минусанул на sourceforge... Наверное, он просто не понял как этим пользоваться )
Было бы очень приятно, если кто-либо из посетителей помог дописать поддержку IPv6 и нормальный скрипт configure.
> и нормальный скрипт configure.Авто-крэп? Не-не, никакой помощи от этих гнутых столманистов, то ли дело друзья проприертариев с правильными взглядами на лицензии: и мейкфайлы-то перепишут, и правильной системой сборки снабдят. Сейчес. Ждите.
Ты знаешь, урюк, в СПО вообще-то приняты определенные стандарты кодирования и оформления софта. В частности, приличные конфигураторы и мейкфайлы. То, что некоторые рукосуи считают себя всячески выше стандартов и считают, что хватамбо бросить кость в виде исходников, говорит лишь о крайне кривой гнуторастической фимознутости головного моска.
Есть такая штука - ирония
Этот ваш "определенный стандарт кодирования" давно сдан в архив... Уважающие себя программисты пишут по свойм стандартам.
Объясни, на кой ляд удаленное управление офисной АТС? Имени Кевина Митника?
Скодерасить более-менее путнюю консоль управления. Совокупить настольный телефон доменным логин скриптом и сделать нормальное фоллоу ми. Маленьким операторам - сгородить центрекс и пристегнуть к биллингу. Да можно много чо городить.
Оно, при всей своей долбанутости, далеко не только офисное, особенно учитывая фичастость. Ну и в данном случае "удалённое управление" обозначает в основном управление через IPC. Хотя в некоторых конфигах можно и в пределах своей сети открыть.
> Ну и в данном случае "удалённое управление" обозначает в основном управление
> через IPC.Ошибаетесь. Оно, как раз и означает управление через сеть.
Если ты сам не догадался на кой это ляд, то объяснить тебе - задача непосильная.
> Если ты сам не догадался на кой это ляд, то объяснить тебе
> - задача непосильная.Управление из консоли - уже и не управление? Даа, дожили... Или Вы Астериск на Винде держите, и непременно библиотеки для удаленного управления требуются?
А как вы себе представляете управление телеконференцией с консоли. Или, real-time мониториг? Или будете как дятел долбить по клавишам up+enter, up+enter....... ?
> А как вы себе представляете управление телеконференцией с консоли. Или, real-time мониториг?
> Или будете как дятел долбить по клавишам up+enter, up+enter....... ?real-time мониториг, вообще говоря, при 50-150 одновременных соединениях и количестве (новых) соединений более 1 в секунду не делается... Делается квази-real-time мониториг, при записи логов в БД, а не в .csv файл...
И можно спросить - а зачем с консоли управлять телеконференцией? Пользователи со своих аппаратов не могут создать конференцию или подключиться к уже созданной?
>> А как вы себе представляете управление телеконференцией с консоли. Или, real-time мониториг?
>> Или будете как дятел долбить по клавишам up+enter, up+enter....... ?
> real-time мониториг, вообще говоря, при 50-150 одновременных соединениях и количестве
> (новых) соединений более 1 в секунду не делается... Делается квази-real-time мониториг,
> при записи логов в БД, а не в .csv файл...
> И можно спросить - а зачем с консоли управлять телеконференцией? Пользователи со
> своих аппаратов не могут создать конференцию или подключиться к уже созданной?Нет, не могут.
>> Если ты сам не догадался на кой это ляд, то объяснить тебе
>> - задача непосильная.
> Управление из консоли - уже и не управление? Даа, дожили... Или Вы
> Астериск на Винде держите, и непременно библиотеки для удаленного управления требуются?Может вам в удовольствие будет менять пассы 3000 пользователей ручками с консоли? Сдается мне, что в Астериске вам знакомо лишь название, не более....
Скрипт просто напиши и в sip.conf или чтонужно.conf меняй пароли,по текстовику с логином и паролем для юзера, если к Ldap твой Астериск не прикручен... Хотя при 3000 пользователей уже ДОЛЖНО быть централизованное управление паролями, и изменение их там. Я по жизни ни разу пароли юзеров из консоли в Астериске не менял... Там только sip reload... iax2 reload... dialplan reload от консоли и требуются...
Знаешь, у меня не было цели заставить тебя пользоваться этой программой. Факт, что у астериска есть возможность удаленного управления через Менеджер. Ты можешь пользоваться этим, можешь не пользоваться, мне, честно, безразлично..
> Скрипт просто напиши и в sip.conflibamc как раз и позволяет написать этот скрипт, абсолютно без проблем..
А просто в shell нельзя такой скрипт написать, или очень сложно? Мне, например, чисто идеологически неохота открывать доступ к различным менеджерам, которые в конечном счете делают то же самое, что я делаю в обычном shell`е - меняют something.conf. Максимальный профит от такого менеджера - это то, что он (вероятно) заодно и something.reload после изменения соответствующего конфига сделает... Недостаток - менеджер более уязвим в плане безопасности - доступ к дополнительным службам и минимум одному порту.На мой взгляд, недостаток перевешивает профит... Естественно, Вы имеете полное право считать иначе, поскольку обьективных критериев тут нет.
Вот, вы думаете, что я не догадываюсь насчет шелл скрипта??? Первый день за монитором....
Менеджер открывает большие возможности по управлению АТС (именно АТС)... Конечно, я не спорю, что многие проблемы можно решить скриптами, а о многих проблемах, вы даже не догадываетесь, судя по бараньей упёртости, с которой не хотите принимать AMI. Что же касается вопросов безопасности, то (насколько мне известен Менеджер) считаю, что не все так и плохо.
Кстати, Максимальный профит вы получите от того, что внимательно прочтете МАН по AMI, тогда многие вопросы отпадут сами собой.
Пруф - http://asteriskpbx.ru/display/Asterisk/Asterisk+Managment+In...)
> Управление из консоли - уже и не управление? Даа, дожили...Есть категория пользователей, для которых управление через консоль - непосильная задача. Приходиться писать для них ГУИ.
>Кто-то минусанул на sourceforge... Наверное, он просто не понял как этим пользоваться )скорее всего даже и не скачивали исходники. озлобыши, они такие.
>нормальный скрипт configureможет испробовать cmake?
>>Кто-то минусанул на sourceforge... Наверное, он просто не понял как этим пользоваться )
> скорее всего даже и не скачивали исходники. озлобыши, они такие.
>>нормальный скрипт configure
> может испробовать cmake?А можно подробнее? У меня на NetBSD встала проблема, что nbmake не меняет каталог по команде cd. В следствие этого не получается рекурсивно пройти по каталогам...
Сmake решает эту проблему?
>Лицензия BSDФии
Давно ищу подобные библиотеки. Их единицы, а завершенных - практически ноль. Скачал исходники, посмотрел код. Никогда не встречал такого форматирования - выглядит, как произведение Маршака или код ассемблера.Мой стих
трудом
громаду лет прорвёт
и явится
весомо,
грубо,
зримо,
как в наши дни
вошёл водопровод,
сработанный
ещё рабами Рима.В строке в среднем не более 20-25 знаков. Может с непривычки, но читабельность никакая. Это не упрек, просто интересно, в связи с чем так отформатирован код? Ну, и комментарии, были бы очень кстати для помощи пользователям.
Собрал, немного "вкурил". К форматированию не привык, но логика кода реально радует - ничего лишнего, просто напролом к цели полным ходом.PS: кстати, то был не Маршак, а Маяковский :)
> Собрал, немного "вкурил". К форматированию не привык..Привыкайте.
>[оверквотинг удален]
> как в наши дни
>
> вошёл водопровод,
> сработанный
> ещё
> рабами Рима.
> В строке в среднем не более 20-25 знаков. Может с непривычки, но
> читабельность никакая. Это не упрек, просто интересно, в связи с чем
> так отформатирован код? Ну, и комментарии, были бы очень кстати для
> помощи пользователям.Код так форматирован в связи с тем, что писался под NetBSD в консоли без иксов на split screen в 2 окошках.
Кстати, под Линуксом текут ресурсы на создание тредов. Например, из треда на основе функции afunc создается тред на функции efunc. Несмотря на то, что функция efunc завершается по мере необходимости, удается создать всего 379 тредов. Далее ни один тред не создается, код ошибки 11. Если в конец функции efunc перед return NULL добавить:pthread_detach(pthread_self());
то ситуация исправляется.
> Кстати, под Линуксом текут ресурсы на создание тредов. Например, из треда на
> основе функции afunc создается тред на функции efunc. Несмотря на то,
> что функция efunc завершается по мере необходимости, удается создать всего 379
> тредов. Далее ни один тред не создается, код ошибки 11. Если
> в конец функции efunc перед return NULL добавить:
> pthread_detach(pthread_self());
> то ситуация исправляется.Исправил. Благодарю.
>> Кстати, под Линуксом текут ресурсы на создание тредов. Например, из треда на
>> основе функции afunc создается тред на функции efunc. Несмотря на то,
>> что функция efunc завершается по мере необходимости, удается создать всего 379
>> тредов. Далее ни один тред не создается, код ошибки 11. Если
>> в конец функции efunc перед return NULL добавить:
>> pthread_detach(pthread_self());
>> то ситуация исправляется.
> Исправил. Благодарю.Поясню. А-функция читает поток от сервера и делит его на сообщения ограниченные \r\n\r\n, затем на каждое сообщение запускается отдельный тред с E-функцией, которая разбивает его на поля и складыват все в ассоциативный массив map<string, string>, затем передает управление определенному пользователем обработчику событий, который принимает данный массив в виде параметра.
Такой алгоритм счел максимально быстрым для обработки асинхронных событий от сервера.
> Это не упрек, просто интересно, в связи с чем так отформатирован код?Код так отформатирован в связи с постоянной укуренностью.
Внимание! Автор кодерасил этот крэп во время приступа хронической шизофрении.. Прочтение исходного кода черевато последствиями.