Курсы по использованию Asterisk

IP-телефония — технология будущего. Обучитесь работе с IP-АТС Asterisk для того чтобы внедрить и профессионально использовать при решении коммуникационных задач.

Работайте с Asterisk профессионально!

Многоуровневая защита IP-АТС Asterisk

Телефонные станции очень часто становятся объектами хакерских атак. Узнайте, каким образом необходимо строить многоуровневую защиту для Вашей IP-АТС.

Не оставьте хакерам шансов. Защитите свой Asterisk от атак.

Используйте Веб-Интерфейс для удобства настройки

Панель управление FreePBX позволяет легко и удобно управлять всей системой. Научитесь эффективно использовать FreePBX для решения своих задач.

Управление станцией и статистика в окне браузера.

Научитесь работать с Asterisk из консоли

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

Научитесь «тонкой» настройке Asterisk

Цель курсов - максимум практики.

Обучение нацелено на практическую работу с IP-оборудованием: платы потоков E1, VoIP-телефонные аппараты, голосовые шлюзы FXS и прочее.

Обучение на реальном оборудовании — залог успеха.

Панель отправки факсимильных сообщений

База знаний Настройка Asterisk

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

Все описанные действия в статье необходимо выполнять от имени суперпользователя (root). Установка и настройка производилась на предустановленной системе CentOS 6.8 + Asterisk 11.23.1 + FreePBX 13.

Инструкция:

1. Выполним подключение по SSH к роутеру для выполнения дальнейшей настройки. В зависимости от используемой системы(Windows, Linux, MacOS), подключение по SSH можно выполнить с использованием различного дополнительного программного обеспечения(Putty), либо системного терминала.

Подключение по SSH через Putty
Авторизация на сервере.

Внимание, при авторизации на сервере, пароль в консоли не отображается.

SSH консоль подключения.

2. Проверим наличие и установленную версию Node JS:


#  node -v

Проверка версии Node JS.

Для корректной работы панели для отправки факсов требуется наличие установленной версии Node JS не ниже 8.0

3. После проверки наличия и установленной версии NodeJS, если версия ниже требуемой или NodeJS отсутствует, то переходим к следующему шагу установки, в случае наличия необходимой версии можено сразу перейти к пункту .

# yum groupinstall 'Development Tools'
# wget -O install_nodejs.sh https://rpm.nodesource.com/setup_8.x
# chmod +x install_nodejs.sh
# ./install_nodejs.sh

Установка необходимых зависимостей.
Скачивание скрипта установки.

Выполнение установки репозиториев NodeJS

В случае установки NodeJS на FreePBX в скрипте install_nodejs.sh необходимо отредактировать 57 строку и привести её к следующему виду: DISTRO_PKG="centos-release-6-8.el6.centos.12.3.x86_64"

 

# yum install nodejs

Установка NodeJS из подключенного репозитория.

Проверка установленной версии.

4. При наличии корректной версии NodeJS, приступим к установке панели для отправки факсимильных сообщений. Выполним ряд команд вида:

# cd /usr/src/
# git clone https://github.com/Infactum/faxserver.git
# cd faxserver/
# npm install
# bower instal –allow-root


Сборка панели отправки факсимильных сообщений


Установка пакетов через Bower

5. Прежде чем приступать к конфигурированию панели отправки факсимильных сообщений, необходимо создать AMI пользователя в Asterisk, для этого перейдём в WEB панель управления FreePBX через интернет обозреватель(Opera, Firefox, Google Chrome, Yandex Browser….) по ссылке вида: http://IP_адрес_сервера_Asterisk/ В примере ссылка имеет вид: http://192.168.170.163/

WEB панель FreePBX

5. Пройдём авторизацию во FreePBX, нажмём «FreePBX Administration», введем «username и password» и нажмём «Continue»

Авторизация во FreePBX.

6. Перейдём к созданию AMI пользователя. Для этого перейдём в меню «Settings»→»Asterisk Manager Users»→ «Add Manager»→ «Submit»→ «Apply Config», где основные поля для заполнения:

Manager name — имя AMI пользователя(логин)
Manager secret — пароль AMI пользователя
Deny — запрещённые подсети для обращения по AMI
Permit — разрешенные подсети для обращения по AMI

Переход в меню «Settings»→»Asterisk Manager Users»


Добавление менеджера

Заполнение основных параметров AMI пользователя


Применение внесенных изменений

Установка слабого пароля для AMI пользователя и установка 0.0.0.0/0 подсети в качестве разрешенной может привести к несанкционированному доступу к серверу телефонии.

 

7. Произведем настройку панели отправки факсимильных сообщений:

# cd /usr/src/faxserver
# nano config/config.json

Приведем конфигурационный файл к следующему виду:

{
    "logLevel": "warn",
    "port": 8080,
    "language": "ru",
    "FAX": {
        "uploadDir": "/tmp/upload",
        "storageDir": "/tmp/faxout",
        "gsCommand": "gs",
        "maxParallelism": 3,
        "maxRetry": 3,
        "retryInterval": 300,
        "delayedProcessingInterval": 5
    },
    "AMI": {
        "host": "127.0.0.1",
        "port": 5038,
        "username": "fax",
        "secret": "password"
    }
}

где  port - порт доступа к web панели отправки факсимильных сообщений
 host - адрес сервера Asterisk
 username - имя AMI пользователя(логин)
 secret -  пароль AMI пользователя

Настройка панели отправки факсимильных сообщений

8. Для возможности автозапуска и управлением панелью отправки факсимильных сообщений сервером как службой, создадим сервис:

# npm install pm2 -g
# nano /etc/init.d/faxserver

Приведём данный файл к виду:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          faxserver
# Required-Start:    $network $syslog $named
# Required-Stop:     $network $syslog $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop faxserver
### END INIT INFO
set -e
if [ -z "$1" ] ; then
    echo "Usage: $0 [start|stop|restart]"
    exit 0
fi
if [ "$1" = "start" ] ; then
    pm2 start /usr/src/faxserver/app.js
elif [ "$1" = "stop" ] ; then
    pm2 stop app
elif [ "$1" = "restart" ] ; then
    $0 stop
    sleep 5
    $0 start
fi
# chmod 777 /etc/init.d/faxserver
# chkconfig faxserver on
# service faxserver start

Создание службы faxserver

Запуск службы faxserver

 

9. Для возможности отправки факсимильных сообщений в диалплан Asterisk необходимо внести коррективы:

# nano /etc/asterisk/extensions_custom.conf

Добавим следующие контексты:

[OutgoingFaxInit]
exten => _X.,1,NoOp()
 same => n,Set(GROUP()=faxout)
 same => n,Set(DB(fax_group_count/${UUID})=${GROUP_COUNT(faxout)})
 same => n,GotoIf($[${DB(fax_group_count/${UUID})}<=${MAX_PARALLELISM}]?call) same => n,UserEvent(Fax,uuid: ${UUID},Status: CALL SUSPENDED)
 same => n,HangUp()
 same => n(call),Dial(Local/${EXTEN}@OutgoingCalls)
 same => n,HangUp()
exten => router,1,NoOp()
 same => n,Set(__UUID=${UUID})
 same => n,Set(__DATA=${DATA})
 same => n,Dial(Local/fax@OutgoingFax)
 same => n,HangUp()
exten => failed,1,NoOp()
 same => n,GotoIf($[${DB_DELETE(fax_group_count/${UUID})}<=${MAX_PARALLELISM}]?:end)
 same => n,UserEvent(Fax,uuid: ${UUID},Status: CALL PICKUP FAILED)
 same => n(end),HangUp()

[OutgoingFax]
exten => fax,1,NoOp()
 same => n,UserEvent(Fax,uuid: ${UUID},Status: CALL PICKUP SUCCESS);
 same => n,Set(DB(fax_sendstatus/${UUID})=0)
 same => n,Playback(autofax)
 same => n,Set(FAXOPT(headerinfo)=Company)
 same => n,Set(FAXOPT(localstationid)=XXX-XX-XX)
 same => n,Set(DB(fax_sendstatus/${UUID})=1)
 same => n,SendFax(${DATA})
 same => n,HangUp()
exten => h,1,NoOp()
 same => n,GotoIf($[${DB_DELETE(fax_sendstatus/${UUID})}]?sendstatus)
 same => n,UserEvent(Fax,uuid: ${UUID},Status: FAX SEND FAILED)
 same => n,Goto(end)
 same => n(sendstatus),UserEvent(Fax,uuid: ${UUID},Status: FAX SEND ${FAXOPT(status)})
 same => n(end),NoOp()

Правка диалплана Asterisk

10. На данном шаге установка завершена и можно перейти в WEB панель для отправки факсимильных сообщений. Для этого в интернет обозревателе(Opera, Google Chrome, Firefox, Yandex Browser….) перейдём по адресу вида http://IP_сервера:9030 в нашем примере ссылка имеет вид http://192.168.170.182:8080. После перехода необходимо пройти авторизацию в соответствии с указанными данными в конфигурационном файле(п.7).

 

asterisk, установка, настройка, инструкция, Подключение, Call-файл, FreePBX, call, centOS, GitHub