Asterisk установка на роутер asus web interface

Обновлено: 04.07.2024

и создать ссылку

Заходим в панель управления

Настройка Asterisk Manager API

Во первых необходимо создать пользователя для управления asterisk.
Для этого достаточно внести соответствующую запись в /etc/asterisk/manager.conf, в примере ниже добавлен пользователь 1cami с паролем PASSWORD1cami.
Важно также в секцию general добавить опции указанные в примере.

Обратите внимание на строки фильтра:

Они актуальны для Asterisk 13. Эта настройка крайне необходима.

Full Examples:

Phones:

This example demonstrates the power of both wizards and templates.

Of course, you can override ANYTHING in the wizard object or specify everything and not use templates at all.

Trunk to an ITSP requiring registration:

This is an example of trunks to 2 different ITSPs each of which has a primary andbackup server.

It also shows most of the endpoint and aor parameters being left at their defaults.

In this scenario, each wizard object takes the place of an endpoint, aor, auth,identify and 2 registrations.

Установка Asterisk 16 на Debian 10

Запускаем скрипт подготовки исходников asterisk к компиляции.

Успешное завершение подготовки будет ознаменовано следующим выводом в консоль.


На следующем этапе мы будем выбирать компоненты астериска для установки.


К тому, что установлено по-умолчанию, я добавляю:

  • На первой вкладке format_mp3.
  • В Core Sound Packages указываю русские звуки RU-WAV.
  • В Extras Sound Packages выбираю английский EN-WAV, русского, к сожалению, нет.

Продолжаю, после принятия настроек, нажатием на Save & Exit. Компилируем, добавляя ключ j4. В данном случае у меня 4 ядра на сервере, сборка будет происходить с участием всех ядер.


Теперь устанавливаем asterisk 16 и все его модули.


Формируем образцы файлов конфигурации, чтобы не писать их с нуля самим.

В завершении установки, создаем init скрипт.

Можно еще обновить кэш используемых динамических библиотек.

На этом непосредственно установка asterisk 16 закончена.

Use an abstraction layer

In other words: use one of the aforementioned libraries or write your own!

и создать ссылку

по прежнему находимся в директории

Заходим в панель управления

Адрес входа в панель может отличаться в разных дистрибутивах. !Внимательно смотрите в чем разница!


Однажды мне в руки попался FXO шлюз Cisco Linksys spa3102. Достался он мне почти на халяву и грех было его не утилизировать в своём домашнем техноцарстве. :)
Конечно, по началу я пошёл простейшим путём, просто установив у себя на домашнем компе 3cx server, который, кстати говоря, оказался очень простым в настройке и в то же время, вполне функциональным софтом для моих целей. Но меня очень смущали несколько вещей: Во-первых, мне очень не нравится ставить на свой рабочий комп какое-либо серверное п.о., потому что я на нём работаю и он на Windows, а это уже совсем не сервер. Во-вторых, меня очень сильно огорчило качество звука. Как бы я не игрался с кодеками, звук ужасно жевало, присутствовало эхо и ощутимые задержки. Да и вообще, хотелось бы, чтобы АТС обслуживал какой то небольшой девайс, который быстро грузится и жрёт не очень много электричества. Вот тут то у меня и возникла идея фикс, установить всё, что мне нужно на WiFi маршрутизатор.

Asus RT-N18U – это беспроводной роутер AC стандарта, на платформе Cortex A9 (ARMv7, 800 MHz) со 128 мегабайтовой флеш памятью и 256 мб оперативы. Железяка сравнительно мощная, что позволяет использовать её не только как роутер, но и как домашний сервер для самых различных целей, начиная от домашней файлопомойки и заканчивая вебсервером с MySQL и PHP. Изврат конечно, но наличие самой возможности не может не радовать. :)

Теперь, когда роутер готов к дальнейшей настройке, вам понадобится лишняя USB флешка, которую вы должны засунуть в роутер, и более никогда оттуда не вытаскивать, т.к. там мы будем размещать его программное расширение.

Подобрали флешку? Идём ставить Entware! (не путайте с Optware. На Optware мне попался очень глючный Asterisk с которым я бился 2 дня и из трёх версий, которые были в репазитарии, ни одну так и не смог нормально запустить. Segmentation fault и всё тут!)

1) Заходим в панель томато и сразу же в раздел USB and NAS > USB Support.

Тут мы должны включить поддержку USB. Врубаем поддержку всех версий USB, которые только можно включить.

В поле «Run after mounting» размещаем следующий скрипт:

Он будет инициализировать сервисы (демоны) Entware после того, как раздел будет смотрирован.

В поле «Run before unmounting»:

Этот скрипт безопасно (скорее всего) остановит сервисы, при извлечении usb носителя или перезагрузке устройства.

3) Далее, идём в раздел Administration→Scripts, выбираем таб «init» и вбиваем туда строку, которая будет монтировать нашу флешку в раздел /opt при загрузке, если на ней будет обнаружен раздел с меткой ENTWARE

echo ”LABEL=ENTWARE /opt ext3 rw,noatime 1 1” >> /etc/fstab

4) Теперь нам нужно отформатировать накопитель. Флешка уже воткнута? Ок. Логинимся на ssh к роутеру любым удобным клиентом и выясняем имя нашего накопителя, набрав команду mount

В последней строке листинга мы видим имя устройства /dev/sda1, которое нас и интересует.

5)Форматируем раздел sda1 в ext3.

Не забудьте забрать с флешки нужную инфу, т.к. она будет уничтожена!

Оставляем всё предложенное в процессе форматирования по умолчанию, жмём пару раз enter и дожидаемся окончания процесса…

6) Всё готово? Ну тогда выполняем пару строк в консоли, дабы не перезагружать. При следующей загрузке они выполнятся автоматически, т.к. это уже прописано в скрипте инициализации.

7) (на всякий случай)
Проверяем, всё ли смонтировалось как надо:

Последняя строка говорит о том, что раздел /opt на месте и можно начать установку Entware.

8) Скачиваем и запускаем скрипт установки:

9) Если установка прошла удачно, то перезаходим на ssh и начинаем работать с новым пакетным менеджером opkg. Для начала, обновим список пакетов:

Установка ASTERISK

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

1) Ставим Asterisk и его детальки:

2) Тут у нас возникает один небольшой косяк… Дело в том, что по какой то непонятной причине, пакет с вебмордой asterisk-gui в Entware отсутствует. Он есть в Optware, но к сожалению оба репозитария одновременно использовать, судя по всему, не получится. Да и не нужно.
Качаем пакет с вебмордой к себе на комп вот отсюда и распаковываем его любым архиватором. В пакете мы можем увидеть дерево каталогов, куда всё и должно было поставиться на живой системе. Так вот, воссоздаём точно такое же дерево в разделе /opt, и кладём туда содержимое архива: то есть саму вебморду. Кроме того, в файле control можно найти зависимости пакета, которые мы легко можем поставить вручную:

opkg install procps coreutils grep tar

переходим к настройке веб доступа к астериску:

1) Заходим в папку с файлами конфигурации

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

[general]
enabled = yes
enablestatic = yes
bindaddr = 192.168.1.1 ; Адрес роутера. Можно указать 0.0.0.0 и тогда панель будет доступна на всех интерфейсах.
bindport = 8088; Порт.
prefix = asterisk; префикс в URL. Он будет светиться в адресе панели.

Сохраняем и закрываем конфиг.

3) Открываем manager.conf и правим следующие строки:

[general]
enabled = yes
webenabled = yes

port = 5038
bindaddr = 0.0.0.0

;[mark]
;secret = password
[admin]
secret = mypassword

read = all
write = all,originate

4) Запускаем астериск:

Скрипт запуска может называться как то иначе, но он там всё равно есть.

5) Если всё ок, то можно зайти в веб панель управления asterisk по адресу:

Логин admin, пароль mypassword, если не поменяли в конфиге. А стоило бы поменять. :)

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

7) Зайдите в раздел Dial Plans панели и создайте новый план со всеми имеющимися правами. Теперь заходим в раздел Users и создаём как минимум троих. Двое из них — это юзеры, через которых будет работать наш FXO шлюз. Допустим их ID 6000 и 6002.

Теперь очередь юзера 6001. Этого мы создаём для себя. Схема приблизительно та же. Можно сразу же прикрутить его к смартфону на андроиде прямо в стандартной звонилке, или к любому софтофону или к VoIP трубке, если такая имеется.
Ну и наконец юзер 6002. Этот юзер для PSTN линии. То есть, через него будет роутаться аналоговая линия, воткнутая в шлюз. Этому юзеру не нужно назначать DialPlan, т. к. он у нас совсем для других целей. Всё остальное так же: выключаем IAX, ставим пароль.

Настройка шлюза Linksys

Тут начинается самое весёлое! От одного только взгляда на обилие настроек этого устройства становится немного не по себе. :) Но без паники! Большинство этих настроек трогать пока не нужно.

Если у вас чистый не настроенный девайс, пропустите этот шаг.

Если же, по каким-то причинам вы не помните пароль, или давно установленный адрес утройства, или так накрутили настройки, что лучше всё начать с нуля — просто сбросьте его на заводские установки.

Делается это так:

2) Устанавливаем пароль. Voice -> System -> Admin Password и User Password. После нажатия кнопки Submit all Changes, устройство спросит пароль. Логины «admin» или «user».

3) Настраиваем сеть.
Заходим в настройки Router — WAN Setup, указываем:
Connection type: Static IP
Static IP: 192.168.1.91 (выбираете IP адрес устройства)
Netmask: 255.255.255.0 (маска сети)
Gateway: 192.168.1.1 (IP шлюза)
Enable WAN Web Server: Yes (чтоб иметь доступ к веб интерфейсу)
Жмем «Submit all changes»

4) Переключаем кабель из LAN в WAN, перезаходим в панельку с новонастроенным адресом.

5) Далее пойдут скриншоты, т. к. настроек очень много и я уже не помню, что именно я трогал. :) Сверяемся со скриншотами и настраиваем так же. Если на скринах что-то отсутствует, значит там просто ничего не нужно менять.

reg

Вот тут важно знать: настройки Caller ID Method и Caller ID FSK Standard влияют на определение номера. Под мою АТС подошли вот эти настройки.

sip

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

Секция Line 1:

l1.1

Тут должно быть так, как на картинке. Пароль ставите тот же, что для пользователя 6000 в астериске.

l1.2

Секция PSTN:

p.1

Прописываем юзера 6002 и его пароль.

p.2

в Dial Plan 8 можно прописать свой рельный номер городской линии, к примеру. Или что-нибудь от балды. Если определение CallerID не сработает, то передастся именно этот номер.

p.3

Обратите особое внимание на секцию International Control. Тут настраиваются физические параметры линии. Об этом лучше на всякий случай почитать более подробно в интернете, но чаще всего подходят вот такие настройки. Кстати, от Ring Validation Time и двух параметров ниже зависит, будет ли нормально определяться CallerID. До последнего момента не мог понять, почему не определяются номера, пока не нашёл эту информацию.

Допиливаем конфиги Asterisk

Теперь, когда аппаратная часть готова к запуску, осталось лишь объяснить астериску, как обрабатывать звонки (входящие и исходящие) со шлюза.

1) Открываем из папки /opt/etc/asterisk/ файл extensions.conf и добавляем туда экстеншаны для обработки исходящих звонков с сип абонентов в город через шлюз:

[CallingRule_gorod]
exten = _NXXXXXX,1,Dial(SIP/6002/$,60)
exten => _NXXXXXX,n,Hangup
exten = _0XXXXXXXXX,1,Dial(SIP/6002/$,60)
exten => _0XXXXXXXXX,n,Hangup

N = 3 | X=7 | . = любые символы | цифры = цифры. Подробнее можно почитать о паттернах в документации к астериску.

В данном случае у нас шаблон с именем gorod говорит о том, что нужно обрабатывать _NXXXXXX, тобишь, семизначные номера, у которых первая цифра не меньше двойки (дабы не дать абоненту позвонить по межгороду и т. д. Так вот, в данном случае обрабатываются два типа набора номера с двумя разными шаблонами. Единичка после паттерна говорит о приоритете строки правила, буковка n о том, что оно NEXT, то есть следующее за предыдущим. Далее, в правиле указано, что при наборе номера с таким паттерном звонок будет переназначен на SIP номер 6002, который у нас настроен на PSTN линии. Следующая часть «/$» отвечает за то, чтобы после соединения с номером 6002 ему было приказано набрать номер, на который нужно было дозвониться в город. При желании, можно изменять фактически набираемый номер (к примеру, можно обрабатывать коды, или прилепить туда цифру для выхода в сеть МГТС, если к примеру, линия не прямая).
Число 60 указывает на время, в которое ожидается принятие звонка. Если звонок принят не был, то по таймауту сработает следующее правило exten => _NXXXXXX,n,Hangup, которое, как видно из содержимого просто «положит трубку».

2) Теперь находим контекст [public] в том же конфиге. Этот контекст назначен по-умолчанию для обработки всех входящих (incoming) вызовов. В том числе и с линии PSTN. Но если для внутренних входящих правила уже созданы по-умолчанию, то PSTN у нас пока никак не обрабатывается, а значит ходит мимо. :)

Добавляем следующие строчки прямо в начало контекста:

exten => _XXXXXX.,1,Dial(SIP/6001,60)
exten => _XXXXXX.,n,Hangup()

Тут паттерн принимает всё, у чего номер длиннее 6 цифр (точка в конце даёт паттерну wildcard, так сказать.)
В моей сети кроме городских номеров других таких быть не может, по этому такой грубый паттерн мне вполне подойдёт. Правило перекидывает звонок прямо на мой мобильник, на котором настроен номер 6001. Тут можно навыдумывать кучу разных вещей, прикрутить IVR или автоответчик, но об этом я тут рассказывать не буду. :)

3) сохраняем этот конфиг.
4) заходим опять на ssh роутера и набираем там следующее:

Откроется консоль астериска, в которой нужно выполнить команду

Таким образом мы перезагружаем конфигурацию астериска. И она, обновлённая, попадает в том числе в gui.

5) Заходим опять в панельку астериска и в разделе Dial Plans редактируем созданный нами план. Тут теперь нужно отметить галочку на нашем правиле для исходящих звонком, чтобы их обработка была включена для пользователей, к которым этот план применяется.

Имейте в виду, что если в настройке PSTN выключить опцию PSTN Ring Thru Line 1 (а line – это по сути аналоговая трубка, являющаяся SIP клиентом, благодаря FXS порту) то звонок на line 1 с PSTN можно перебросить через те же самые шаблоны в конфигурации asterisk.

Сегодня я наконец заставил всё это работать вместе. Следующим шагом будет наладка работы кодеков, поскольку от них зависит качество голоса, помехи и задержка звука.

Обязательно проследите, чтобы у юзера для PSTN не было в конфиге собственного CallerID, иначе он будет передавать его, вместо того, что определилось при входящем звонке!

Рекомендую после настройки в панельке уже ничего не менять, поскольку она может навредить существующей конфигурации.

Asterisk GUI является web-интерфейсом к серверу Asterisk. Чем интересна данная утилита и что выделяет ее на фоне других известных панелей управления, таких как freepbx, trixbox, elastix? Во-первых, разработчиком данной панели является Digium, та же компания, что разрабатывает и поддерживает сам Asterisk. Asterisk GUI так же как и Asterisk, распространяется под лицензией GNU и является приложением […]

Asterisk GUI не поддерживается разработчиками с 2011 года. Не смотря на стабильную работу, использование данной веб-панели может быть небезопасным. Компания Voxlink рекомендует для аналогичных целей использовать веб-панель FreePBX. Но если Вы желаете попробовать оригинальную панель от разработчиков Asterisk, то эта статья расскажет Вам о том, как ее установить.

Asterisk GUI является web-интерфейсом к серверу Asterisk. Чем интересна данная утилита и что выделяет ее на фоне других известных панелей управления, таких как freepbx, trixbox, elastix?

Во-первых, разработчиком данной панели является Digium, та же компания, что разрабатывает и поддерживает сам Asterisk. Asterisk GUI так же как и Asterisk, распространяется под лицензией GNU и является приложением с открытым исходным кодом.

В-третьих, Asterisk GUI не требует наличия каких-либо сторонних библиотек и может быть установлена на любом дистрибутиве Linux/UNIX.

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

Для начала работы нам необходим установленный и работающий сервер Asterisk. Информацию по его установке можно найти здесь.

Создаем директорию для исходных кодов и клонируем в нее SVN:

Выполним компиляцию и установку исходников:

Перед запуском Asterisk GUI необходимо отредактировать два конфигурационных файла Asterisk и привести их к следующему виду:

Затем выполняем проверку конфигурации:

Everything looks good!
Good luck!

Заглавная страница веб-панели Asterisk-GUI

Заглавная страница веб-панели Asterisk-GUI

Обзор панели управления AsterGUI

Рассмотрим типовые операции, доступ к которым предоставляет панель Asterisk GUI:

  1. Добавление транков.
    Добавление транков происходит через раздел меню “Trunks”, затем панель предлагает выбрать тип транка (предварительно проверив доступные устройства в системе), после чего всплывающее меню позволяет ввести конфигурацию транка по стандартным шаблонам.

Добавление транка на примере SIP

Добавление транка на примере SIP

2. Настройка исходящей маршрутизации.
Создание правил исходящей маршрутизации происходит через всплывающее меню, разделенное на подпункты для настройки используемого экстеншена, транка и создания самого правила.

Настройка правил маршрутизации

Настройка правил маршрутизации

3. Создание и редактирование диалплана.
Меню создания диалплана позволят определить необходимый контекст, экстеншн, создать правило обработки звонка.

Конфигурирование диалплана

Конфигурирование диалплана

Добавление экстеншенов

Добавление экстеншенов

Настройка исходящей маршрутизации

Настройка исходящей маршрутизации

Выводы:

AsteriskGUI является довольно удобной панелью управления сервером Asterisk. К ее плюсам можно отнести простую установку, стабильность, легковесность и отсутствие зависимостей от каких-либо сторонних библиотек или программных компонентов. Минусами этого продукта является отсутствие документации и довольно скудный функционал.

Вы не авторизованы. Пожалуйста войдите на сайт, или зарегистрируйтесь!

Автор: vector

Автор: vector

Автор: vector

Автор: ylisot

Установка Asterisk с веб интерфейсом FreePBX и модемом Huawey E1550 на Ubuntu 10.10

1. Устанавливаем необходимые пакеты:

sudo apt-get update
sudo apt-get install php5-mysql libapache2-mod-php5 mysql-server libmysqlclient15-dev php-db php5-gd php-pear sox curl g++ libncurses-dev libxml2-dev subversion libspandsp-dev

2. Скачиваем исходники Asterisk и FreePBX, и устанавливаем:

tar xvzf asterisk-1.8.2.4.tar.gz

tar xvzf asterisk-addons-1.6.2.3.tar.gz

tar xvzf freepbx-2.8.1.tar.gz

cd /tmp/ asterisk-1.8.2.4

make install
make config
make samples

perl -p -i.bak -e 's/CFLAGS.*D_GNU_SOURCE/CFLAGS+=-D_GNU_SOURCE\nCFLAGS+=-DMYSQL_LOGUNIQUEID/' Makefile
./configure
make
make install

adduser asterisk --disabled-password --gecos "Asterisk PBX"
adduser www-data asterisk

3. Конфигурируем FreePBX для работы с Asterisk:

Запускаем Астериск перед установкой Freepbx

Меняем только требуемые параметры (остальные оставляем по умолчанию):

Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
[passw0rd] Pass

4. Дополнительно настраиваем FreePBX для правильной работы:

5. Делаем автостарт веб интерфейса:

запихал в файл /etc/init.d/asterisk

в конец секции start

(у меня почему-то после всех настроек поломался запуск Астериска через amportal, а так все работает).

6. Обновляем имеющиеся модули:

Module admin -> Check for updates online -> Download all -> Upgrade all -> Process

Установка Asterisk с веб интерфейсом FreePBX и модемом Huawey E1550 на Ubuntu 10.10

(повторить несколько раз, пока все не обновится).

Если будут проблемы с каким-либо модулем - удалите его в этой менюшке, и установите заново - так исправляются многие глюки с ошибками в БД (из-за нехватки полей например).

7. Подключаем модем E1550:

Модем необходимо предварительно разлочить и обновить прошивку - для активации голосовых возможностей.

Теперь самый интересный момент:

Существует как минимум 3 разновидности модуля CHAN_DATACARD:

У меня голосовая связь в обе стороны заработала только с последним.

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

Читайте также: