Asterisk GUI. Первые шаги

    Почти всякий раз, когда речь заходит о выборе web-интерфейса к asterisk, в ход идут рекомендации «тяжелой артиллерии»: trixbox, elastix, freepbx. Asterisk GUI остается эдакой «темной лошадкой»: вроде и слышали о нем, вроде и скриншоты симпатишные, а реально работающих систем — с гулькин нос. Частично это объясняется новизной, необкатанностью продукта. Частично — отсутствием документации. Частично — иннертностью сообщества. Попытаемся сдвинуть дело с мертвой точки…
    В статье — пошаговые инструкции, как установить и настроить Asterisk с Asterisk GUI.


    Преимущества:


    • Разрабатывается digium, той же компанией, что разрабатывает и сам asterisk
    • Не требует наличия Apache, MySQL, PHP. Использует встроенный веб-сервер asterisk. Написан на html и javascript
    • Не зависит от наличия сторонних программ/библиотек. Не требует установки на каком-либо конкретном дистрибутиве. Все что нужно для установки — работающий asterisk

    Установка Asterisk и Asterisk GUI


    Приступим… Качаем исходный код из svn и собираем. Можно скопировать нижеприведеные комманды в консоль и откинуться на спинку кресла в ожидании.

    svn co svn.digium.com/svn/asterisk/branches/1.6.0 asterisk
    cd asterisk
    ./configure && make && make install && make samples && make config
    cd ..
    svn co svn.digium.com/svn/asterisk-gui/branches/2.0 asterisk-gui
    cd asterisk-gui
    ./configure && make && make install
    cd ..

    После того как процесс сборки завершился, отредактируем два конфигурационных файла:

    /etc/asterisk/manager.conf должен выглядеть примерно так:
    [general]
    enabled = yes
    webenabled = yes
    port = 5038
    bindaddr = 127.0.0.1
    [admin]
    secret = 123456
    read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
    write = system,call,agent,user,config,command,reporting,originate

    А /etc/asterisk/http.conf — так:
    [general]
    enabled = yes
    enablestatic = yes
    bindaddr = 0.0.0.0
    redirect = / /static/config/cfgbasic.html
    [post_mappings]
    backups = /var/lib/asterisk/gui_backups

    Запускаем asterisk:
    /etc/init.d/asterisk start

    На этом процесс установки завершен.

    Настройка Asterisk при помощи Asterisk GUI


    Рассмотрим простой случай. У нас в системе один пользователь (один VoIP-телефон). Есть SIP транк к провайдеру my.sip.trunk.com. Провайдер предоставил нам один пробный номер — 7692450. Наша задача — дать нашему единственному пользователю возможность звонить и принимать звонки.

    На рабочей машине запускаем браузер и вбиваем в адресной строке x.x.x.x:8088, где x.x.x.x — IP машины, на которой установлены Asterisk и Asterisk GUI. Вводим имя пользователя и пароль, и жмем кнопку login.

    image

    После непродолжительных сообщений о обновлениях конфигурационных файлов (система будет пытаться определить, установлено ли у нас какое-нибудь digium-железо) мы попадем на главную страничку.

    image

    Прежде всего сконфигурируем SIP-транк к провайдеру. Заходим в «Trunks», «VoIP Trunks» и жмем «New SIP/IAX Trunk». Заполняем поля в окошке по аналогии с тем, что на картинке.

    image

    Сконфигурируем правило для исходящих звонков: все исходящие звонки — отправлять в только что созданный транк. Идем в «Outgoing Calling Rules». Жмем «New Calling Rule» и заполняем поля в окошке.

    image

    Сконфигурируем план звонков (Dialplan). Dialplan — не что иное как группа правил для исходящих звонков. В нашем случае у нас всего одно правило. Итак, идем в «Dial Plans», жмем «New DialPlan». В окошке отмечаем галочкой созданное на предыдущем шаге правило.

    image

    Создаем пользователя. Идем в «Users». Жмем «Create New User». Определяем нашему пользователю имя (CallerID Name), номер для исходящих звонков (CallerID Number) и план звонков.

    image

    Осталось определить правило для входящих звонков. Тема эта довольно интересна сама по себе и тянет на отдельную статью. Дело в том, что входящий звонок можно загнать в интерактивное меню («to contact technical support — press 1, to contact sales department — press 2, to speak with an operator — press 0»), отправить сразу нескольким телефонам одновременно (пока кто-нибудь не снимет трубку), отправить в автоответчик, если никто не отвечает n секунд, переадресовать на мобильный… и много еще чего. Мы же скромно направим входящие звонки нашему единственному пользователю. Итак, идем в «Incomming Calling Rules», жмем «New Incomming Rule» и заполняем поля в окошке по аналогии с тем что на картинке.

    image

    Ну вот и все. Жмем кнопку «Apply Changes» в верхнем правом углу.
    Надеюсь, кому-нибудь эта статья будет полезна.
    Метки:
    • +5
    • 72,7k
    • 9
    Поделиться публикацией
    Комментарии 9
    • 0
      Спасибо огромное за статью, только на днях с разработчиками общались на тему создания автоответчика.
      А теперь и пример реализации есть, не будем тыкать пальцем в небо, а сразу попробуем Asterisk
      • 0
        Спасибо за статью, добавил в избранное.
        P.S. Asterisk на лептопе — круто ;-)
        • 0
          Может быть стоит перенести запись в тематический блог?
          • 0
            Офигенная статья!
            Спасибо!
            • 0
              Очень хорошая статья, спасибо! Был бы очень благодарен за примеры работы с API астериска. Программное создание SIP учетки, дозвон и обработку событий.
              • 0
                Да, было бы не плохо :) Сделать примеры bash, php скриптов :) Чтоб не мучиться каждый раз а тыкнул скрипт и заработало ну или для собственных панелек
                • 0
                  Спасибо за статью. Мне она оказалась очень полезна
                  • 0
                    Спасибо. Этот легкий вариант GUI неплох для настройки asterisk на роутере с dd-wrt.
                    • 0
                      Отличная статья, спасибо!
                      Только вот не могу разобраться куда прокси в интерфейсе указывать при создании транка:
                      nickname@sip.beeline.ru:password:7499952XXXX@sip.beeline.ru@msk.sip.beeline.ru:5060/7499952XXXX

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.