The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

libamc - библиотека для удаленного управления Asterisk из программ на языке C++

03.01.2013 01:02

Опубликована новая свободная библиотека libamc (AMC - Asterisk Manager Client) с реализацией C++ класса для удаленного управления АТС на базе Asterisk.

Ключевые особенности:

  • Небольшой размер, высокая производительность;
  • Код оптимизирован для применения в многопоточных приложениях, где достигает максимальной производительности;
  • Проработаны практически все функции Asterisk Manager, включая:
    • управление вызовами,
    • управление очередями,
    • телеконференции(meetme, confbridge),
    • функции администрирования и управление конфгурациями,
    • управление DAHDI-каналами;
  • Круг применения: от простых скриптов, изменяющих пароли пользователей, до построения комплексных SCADA-систем, позволяющих производить с одного терминала мониторинг и управление VoIP-структурой предприятия, состоящей из 1000+ серверов;
  • Лицензия BSD.


  1. Главная ссылка к новости (https://sourceforge.net/projec...)
Автор новости: KoD
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/35722-asterisk
Ключевые слова: asterisk, cpp, lib
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 17:30, 03/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто-то минусанул на sourceforge... Наверное, он просто не понял как этим пользоваться )
    Было бы очень приятно, если кто-либо из посетителей помог дописать поддержку IPv6 и нормальный скрипт configure.
     
     
  • 2.3, Andrey Mitrofanov (?), 17:48, 03/01/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > и нормальный скрипт configure.

    Авто-крэп? Не-не, никакой помощи от этих гнутых столманистов, то ли дело друзья проприертариев с правильными взглядами на лицензии: и мейкфайлы-то перепишут, и правильной системой сборки снабдят. Сейчес. Ждите.

     
     
  • 3.5, Аноним (-), 13:09, 04/01/2013 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ты знаешь, урюк, в СПО вообще-то приняты определенные стандарты кодирования и оформления софта. В частности, приличные конфигураторы и мейкфайлы. То, что некоторые рукосуи считают себя всячески выше стандартов и считают, что хватамбо бросить кость в виде исходников, говорит лишь о крайне кривой гнуторастической фимознутости головного моска.
     
     
  • 4.7, Crazy Alex (??), 17:43, 04/01/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть такая штука - ирония
     
  • 4.31, ннм (?), 22:10, 05/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Этот ваш "определенный стандарт кодирования" давно сдан в архив... Уважающие себя программисты пишут по свойм стандартам.


     
  • 2.4, Аноним (-), 22:15, 03/01/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Объясни, на кой ляд удаленное управление офисной АТС? Имени Кевина Митника?
     
     
  • 3.6, ram_scan (?), 17:27, 04/01/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скодерасить более-менее путнюю консоль управления. Совокупить настольный телефон доменным логин скриптом и сделать нормальное фоллоу ми. Маленьким операторам - сгородить центрекс и пристегнуть к биллингу. Да можно много чо городить.
     
  • 3.8, Crazy Alex (??), 17:45, 04/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Оно, при всей своей долбанутости, далеко не только офисное, особенно учитывая фичастость. Ну и в данном случае "удалённое управление" обозначает в основном управление через IPC. Хотя в некоторых конфигах можно и в пределах своей сети открыть.
     
     
  • 4.32, ннм (?), 22:18, 05/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и в данном случае "удалённое управление" обозначает в основном управление
    > через IPC.

    Ошибаетесь. Оно, как раз и означает управление через сеть.

     
  • 3.9, Аноним (1), 18:40, 04/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты сам не догадался на кой это ляд, то объяснить тебе - задача непосильная.
     
     
  • 4.10, Anonymous1 (?), 03:30, 05/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Если ты сам не догадался на кой это ляд, то объяснить тебе
    > - задача непосильная.

    Управление из консоли - уже и не управление? Даа, дожили... Или Вы Астериск на Винде держите, и непременно библиотеки для удаленного управления требуются?

     
     
  • 5.12, KoD (?), 14:12, 05/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А как вы себе представляете управление телеконференцией с консоли. Или, real-time мониториг? Или будете как дятел долбить по клавишам up+enter, up+enter....... ?
     
     
  • 6.15, Anonymous1 (?), 20:45, 06/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > А как вы себе представляете управление телеконференцией с консоли. Или, real-time мониториг?
    > Или будете как дятел долбить по клавишам up+enter, up+enter....... ?

    real-time мониториг, вообще говоря, при 50-150 одновременных соединениях и количестве (новых) соединений более 1 в секунду не делается... Делается квази-real-time мониториг, при записи логов в БД, а не в .csv файл...
    И можно спросить - а зачем с консоли управлять телеконференцией? Пользователи со своих аппаратов не могут создать конференцию или подключиться к уже созданной?

     
     
  • 7.18, KoD (?), 14:59, 07/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> А как вы себе представляете управление телеконференцией с консоли. Или, real-time мониториг?
    >> Или будете как дятел долбить по клавишам up+enter, up+enter....... ?
    > real-time мониториг, вообще говоря, при 50-150 одновременных соединениях и количестве
    > (новых) соединений более 1 в секунду не делается... Делается квази-real-time мониториг,
    > при записи логов в БД, а не в .csv файл...
    > И можно спросить - а зачем с консоли управлять телеконференцией? Пользователи со
    > своих аппаратов не могут создать конференцию или подключиться к уже созданной?

    Нет, не могут.

     
  • 5.13, KoD (?), 14:17, 05/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Если ты сам не догадался на кой это ляд, то объяснить тебе
    >> - задача непосильная.
    > Управление из консоли - уже и не управление? Даа, дожили... Или Вы
    > Астериск на Винде держите, и непременно библиотеки для удаленного управления требуются?

    Может вам в удовольствие будет менять пассы 3000 пользователей ручками с консоли? Сдается мне, что в Астериске вам знакомо лишь название, не более....

     
     
  • 6.14, Anonymous1 (?), 20:33, 06/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Скрипт просто напиши и в sip.conf или чтонужно.conf меняй пароли,по текстовику с логином и паролем для юзера, если к Ldap твой Астериск не прикручен... Хотя при 3000 пользователей уже ДОЛЖНО быть централизованное управление паролями, и изменение их там.  Я по жизни ни разу пароли юзеров из консоли в Астериске не менял... Там только sip reload... iax2 reload... dialplan reload от консоли и требуются...
     
     
  • 7.16, KoD (?), 14:51, 07/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Знаешь, у меня не было цели заставить тебя пользоваться этой программой. Факт, что у астериска есть возможность удаленного управления через Менеджер. Ты можешь пользоваться этим, можешь не пользоваться, мне, честно, безразлично..
     
  • 7.19, KoD (?), 15:17, 07/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Скрипт просто напиши и в sip.conf

    libamc как раз и позволяет написать этот скрипт, абсолютно без проблем..

     
     
  • 8.20, Anonymous1 (?), 15:45, 07/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А просто в shell нельзя такой скрипт написать, или очень сложно Мне, например, ... текст свёрнут, показать
     
     
  • 9.21, KoD (?), 16:16, 08/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вот, вы думаете, что я не догадываюсь насчет шелл скрипта Первый день за мони... текст свёрнут, показать
     
  • 5.33, ннм (?), 22:26, 05/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Управление из консоли - уже и не управление? Даа, дожили...

    Есть категория пользователей, для которых управление через консоль - непосильная задача. Приходиться писать для них ГУИ.


     
  • 2.11, Карбофос (ok), 13:39, 05/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >Кто-то минусанул на sourceforge... Наверное, он просто не понял как этим пользоваться )

    скорее всего даже и не скачивали исходники. озлобыши, они такие.
    >нормальный скрипт configure

    может испробовать cmake?

     
     
  • 3.17, KoD (?), 14:56, 07/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >>Кто-то минусанул на sourceforge... Наверное, он просто не понял как этим пользоваться )
    > скорее всего даже и не скачивали исходники. озлобыши, они такие.
    >>нормальный скрипт configure
    > может испробовать cmake?

    А можно подробнее? У меня на NetBSD встала проблема, что nbmake не меняет каталог по команде cd. В следствие этого не получается рекурсивно пройти по каталогам...
    Сmake решает эту проблему?

     

  • 1.2, Аноним (-), 17:31, 03/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Лицензия BSD

    Фии

     
  • 1.22, Григорий (??), 00:22, 14/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Давно ищу подобные библиотеки. Их единицы, а завершенных - практически ноль. Скачал исходники, посмотрел код. Никогда не встречал такого форматирования - выглядит, как произведение Маршака или код ассемблера.

    Мой стих
            трудом
                  громаду лет прорвёт
    и явится
            весомо,
                   грубо,
                         зримо,
    как в наши дни
                  вошёл водопровод,
    сработанный
               ещё рабами Рима.

    В строке в среднем не более 20-25 знаков. Может с непривычки, но читабельность никакая. Это не упрек, просто интересно, в связи с чем так отформатирован код? Ну, и комментарии, были бы очень кстати для помощи пользователям.

     
     
  • 2.23, borodux (ok), 00:57, 14/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Собрал, немного "вкурил". К форматированию не привык, но логика кода реально радует - ничего лишнего, просто напролом к цели полным ходом.

    PS: кстати, то был не Маршак, а Маяковский :)

     
     
  • 3.30, ннм (?), 22:00, 05/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Собрал, немного "вкурил". К форматированию не привык..

    Привыкайте.

     
  • 2.24, kod (??), 10:31, 18/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    > как в наши дни
    >            
    >   вошёл водопровод,
    > сработанный
    >            ещё
    > рабами Рима.
    > В строке в среднем не более 20-25 знаков. Может с непривычки, но
    > читабельность никакая. Это не упрек, просто интересно, в связи с чем
    > так отформатирован код? Ну, и комментарии, были бы очень кстати для
    > помощи пользователям.

    Код так форматирован в связи с тем, что писался под NetBSD в консоли без иксов на split screen в 2 окошках.

     
  • 2.25, borodux (ok), 11:36, 19/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, под Линуксом текут ресурсы на создание тредов. Например, из треда на основе функции afunc создается тред на функции efunc. Несмотря на то, что функция efunc завершается по мере необходимости, удается создать всего 379 тредов. Далее ни один тред не создается, код ошибки 11. Если в конец функции efunc перед return NULL добавить:

    pthread_detach(pthread_self());

    то ситуация исправляется.

     
     
  • 3.26, anonymous (??), 15:36, 19/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати, под Линуксом текут ресурсы на создание тредов. Например, из треда на
    > основе функции afunc создается тред на функции efunc. Несмотря на то,
    > что функция efunc завершается по мере необходимости, удается создать всего 379
    > тредов. Далее ни один тред не создается, код ошибки 11. Если
    > в конец функции efunc перед return NULL добавить:
    > pthread_detach(pthread_self());
    > то ситуация исправляется.

    Исправил. Благодарю.

     
     
  • 4.27, anonymous (??), 16:57, 19/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Кстати, под Линуксом текут ресурсы на создание тредов. Например, из треда на
    >> основе функции afunc создается тред на функции efunc. Несмотря на то,
    >> что функция efunc завершается по мере необходимости, удается создать всего 379
    >> тредов. Далее ни один тред не создается, код ошибки 11. Если
    >> в конец функции efunc перед return NULL добавить:
    >> pthread_detach(pthread_self());
    >> то ситуация исправляется.
    > Исправил. Благодарю.

    Поясню. А-функция читает поток от сервера и делит его на сообщения ограниченные \r\n\r\n, затем на каждое сообщение запускается отдельный тред с E-функцией, которая разбивает его на поля и складыват все в ассоциативный массив map<string, string>, затем передает управление определенному пользователем обработчику событий, который принимает данный массив в виде параметра.
    Такой алгоритм счел максимально быстрым для обработки асинхронных событий от сервера.

     
  • 2.29, Анонимъ (?), 12:14, 27/11/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Это не упрек, просто интересно, в связи с чем так отформатирован код?

    Код так отформатирован в связи с постоянной укуренностью.

     

  • 1.28, Анонимъ (?), 12:06, 27/11/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Внимание! Автор кодерасил этот крэп во время приступа хронической шизофрении.. Прочтение исходного кода черевато последствиями.
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру