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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ryo CDR интерфейс просмотра статистики звонков.

База знаний Интеграция с CRM

Неотъемлемой частью любой телефонии является возможность просмотра статистики звонков, с возможностью фильтрации по определенным параметрам и прослушивание записей разговоров. В рамках данной статьи будет рассмотрена установка и использование альтернативного CDR Viewer https://github.com/antirek/ryocdr.

Возможности:

Просмотр CDR, с фильтрацией по времени, номеру телефона, статусу(отвечен, не отвечен, занято)
Встроенный HTML5/flash плеер для прослушивания записей звонков.


Все описанные действия в статье необходимо выполнять от имени суперпользователя (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.

Для корректной работы Ryo CDR требуется наличие установленной версии 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, приступим к установке Ryo CDR. Выполним ряд команд вида:

# cd /usr/src/
# wget https://github.com/antirek/ryocdr/archive/v0.0.11.tar.gz
# tar -xzf v0.0.11.tar.gz
# cd ryocdr-0.0.11
# npm install -g bower
# npm install
# bower install –allow-root
# npm run build

Скачивание Ryo CDR

Установка зависимости Bower

Установка необходимых пакетов с помощью Bower

Успешное завершение установки  пакетов с помощью Bower

Запуск сборки проекта Ryo CDR.

5. Произведем настройку Ryo CDR для корректного доступа к базе данных Asterisk и к записям разговоров:

# cd /usr/src/ryocdr-0.0.11
# nano config.js

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

module.exports = {
  tz:"+0300",
  port: 9030,
  recordspath:"/var/spool/asterisk/monitor/",
  db: {
    client: "mysql",
    connection: {
      host: "127.0.0.1",
      user: "freepbxuser",
      password: "password",
      database: "asteriskcdrdb",
      charset:"utf8"
    }
  },
  cdr: {
    table: "cdr"
  },
  auth: true,
  username: 'admin',
  password: 'password'
};

где  port — порт для доступа к WEB интерфейсу Ryo CDR
recordspath — дирректория расположения записей разговоров
 host — адрес расположения базы данных MySQL Asterisk
 user — имя пользователя для доступа к  базе данных MySQL Asterisk
 password — пароль  пользователя для доступа к  базе данных MySQL Asterisk
 database — имя  базы данных MySQL Asterisk где храниться статистика звонков

В отдельной ветке выделены  username — имя пользователя для доступа к WEB интерфейсу Ryo CDR
 password — пароль пользователя для доступа к WEB интерфейсу Ryo CDR

При установленном FreePBX 13, имя пользователя и пароль для доступа  к  базе данных MySQL Asterisk можно узнать из файла /etc/freepbx.conf

Правка конфигурационного файла

6. Выполним тестовый запуск Ryo CDR:

# node app.js

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

Тестовый запуск Ryo CDR

7. Для возможности автозапуска и управлением Ryo CDR сервером как службой, создадим сервис:

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

  

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

#!/bin/sh
### BEGIN INIT INFO
# Provides:          ryoCDR
# 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 ryoCDR
### 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/ryocdr-0.0.11/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/ryoCDR
# chkconfig ryoCDR on
# service ryoCDR start

Установка PM2 для управления NodeJS приложениями

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

Назначение прав и запуск RyoCDR

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

Авторизация в Ryo CDR

WEB панель Ryo CDR

Возможные проблемы и методы их устранения:

10. Порой возникает ошибка невозможности установки пакетов NodeJS, данную проблему можно решить простым обновлением npm:


# npm i -g npm to update

Сообщение подсказка

Обновление npm

 

 

 

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