Системами телефонии asterisk. Виды работ по настройке телефонии производимые нашими специалистами

Asterisk, установка которого будет рассмотрена в данном материале, представляет собой программное обеспечение для организации так называемой офисной телефонной станции или IP-АТС (англ. Private Branch eXchange, PBX). Оно объединяет все телефоны в офисе в одну информационную сеть, на базе которой работают разнообразные службы голосовой связи. Asterisk работает на Linux, BSD, OS X и на Windows с использованием эмулятора.

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

В данном материале мы рассмотрим процесс установки Asterisk на ОС Linux, в частности на популярных дистрибутивах CentOS и Debian, а также базовые процедуры настройки сервера голосовой почты.

Установка сервера Asterisk из исходников

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

Перед установкой сервера IP-телефонии в системе должен быть обеспечен ряд условий. Asterisk должен устанавливаться на систему, работающую на ядре версии не ниже 2.6, при этом в системе должны присутствовать файлы заголовков, чтобы программа успешно скомпилировалась. Asterisk написан на языке C, поэтому для сборки в системе должен быть установлен компилятор gcc с сопутствующими библиотеками, такими как termcap и openssl. Для сборки дополнений Asterisk также требуются предустановленные библиотеки и клиент mysql, а также соответствующие им файлы заголовков.

Когда система подготовлена для установки, вам будет необходимо перейти в раздел Download на официальном сайте и загрузить с него следующие архивы:

  1. asterisk.
  2. asterisk-sounds.
  3. asterisk-addons.
  4. zaptel.
  5. libpri.

Файлы необходимо скопировать на сервер, который будет осуществлять функции офисной АТС. Разместите их в папке /usr/src/.

После этого запустите на Перейдите в каталог с архивами и распакуйте каждый из них командой:

tar-xzf<имя_архива>tar.gz

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

cd<имя_папки>

И выполните в каждой папке нижеуказанные команды.

1. Подготовка к сборке:

2. Сборка:

3. Установка:

Если вышеприведенные команды завершатся с успешным результатом, вы соберете и установите Asterisk на своем сервере.

Процедура установки из исходников одинакова для всех дистрибутивов Linux, но не всем привычна. Как правило, большинство пользователей предпочитает методы установки, предлагаемые конкретным дистрибутивом.

В связи с этим, рассмотрим процедуры инсталляции Asterisk на двух популярных платформах для создания офисных АТС: CentOS и Debian GNU/Linux.

Установка Asterisk на CentOS

В рамках данного примера мы будем устанавливать Asterisk 13. Мы выполним установку Asterisk на CentOS 7.

Предполагается, что инсталляция будет выполняться в текстовом консольном режиме от имени суперпользователя (root).

Для начала необходимо установить все необходимые пререквизиты. Убедитесь, что в системе присутствуют все пакеты, указанные ниже. Их достаточно много:

В результате в системе будут присутствовать все зависимости, требующиеся для успешной сборки сервера телефонии Asterisk.

Следующим шагом должно стать отключение SELinux. Система безопасности Security-Enhanced Linux в CentOS включена по умолчанию и очень часто препятствует нормальному функционированию Asterisk. Поэтому для успешной настройки и работы сервера ее необходимо отключить.

Проверим статус активности системы SELinux следующей командой:

Если система сообщает, что SELinux включен, выполним процедуру отключения. Для этого необходимо внести изменения в конфигурационный файл в папке /etc/selinux, установив соответствующий флаг.

sed -i "s/\(^SELINUX=\).*/\SELINUX=DISABLED/" config

timedatectl set-timezone <имя_зоны> (например, America/Los_Angeles)

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

​timedatectl status

После этого потребуется перезагрузить систему, чтобы активировать изменения. Для этого используйте команду reboot .

Теперь непосредственно перейдем к установке Asterisk.

Фактически, установка Asterisk на CentOS сводится к той же самой сборке из исходников, с которой мы познакомились в предыдущем разделе. Здесь же мы рассмотрим процесс сборки с учетом особенностей конкретного дистрибутива Linux, а именно CentOS 7.

Для начала загрузим и установим сам сервер IP-телефонии.

Скачаем из раздела Downloads на официальном сайте продукта архив с Asterisk 13 и сохраним его в папку /usr/src. Распакуем архив командой:

tar zxvf <имя_архива>

Перейдем в папку с распакованным архивом и выполним команды, приведенные ниже.

./configure --libdir=/usr/lib64 --with-pjproject-bundled

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

make menuselect.makeopts

После настройки опций компиляции выполните следующую последовательность действий:

1. Создайте отдельную учетную запись пользователя для сервера IP-телефонии.

adduser asterisk -s /sbin/nologin -c "Asterisk User"

2. Соберите и установите сервер.

make && make install

3. Задайте права доступа к Asterisk для вновь созданного пользователя.

chown -R asterisk. /var/lib/asterisk

В результате базовый сервер Asterisk будет собран и установлен.

Помимо самого Asterisk, аналогичным способом на CentOS можно установить полезные дополнения к серверу. Об этом читайте ниже.

FreePBX

FreePBX - это полнофункциональный графический Web-интерфейс, предназначенный для настройки и управления офисной АТС. Установка Asterisk с FreePBX осуществляется в нижеприведенной последовательности.

Запустим базу данных:

systemctl start mariadb

Скачаем с сайта GitHub в папку /usr/src исходный код FreePBX:

git clone -b release/13.0 https://github.com/FreePBX/framework.git freepbx

./start_asterisk start

И ряд команд для настройки FreePBX:

DAHDI

DAHDI - это драйвер, обеспечивающий взаимодействие Asterisk с различным телефонным оборудованием. Он отвечает за работу плат интерфейсов телефонии, устанавливаемых непосредственно в сервер, на котором работает Asterisk. Процедура установки DAHDI описана ниже.

Скачайте в каталог /usr/src архив с драйвером, распакуйте его и перейдите в разархивированную папку. В ней выполните команды:

PJSIP

PJSIP - это библиотека, написанная на С, которая отвечает за поддержку различных протоколов IP-телефонии. С версии Asterisk 13.8 включительно библиотека PJSIP может устанавливаться отдельно. Впрочем, если Asterisk компилируется с флагом --with-pjproject-bundled (что мы и сделали в предыдущем разделе), библиотека PJSIP будет установлена непосредственно при компиляции сервера.

Для того, чтобы установить PJSIP отдельно, требуется произвести следующую процедуру.

Скачайте с сайта pjsip.org в каталог /usr/src архив с драйвером, распакуйте его и перейдите в разархивированную папку. В ней выполните команды:

Пост-инсталляционные процедуры

По завершению установки Asterisk необходимо выполнить ряд дополнительных действий. Данные процедуры являются обязательными.

1. Установить защиту для сервера базы данных:

mysql_secure_installation

Для выполнения процедуры просто ответьте Y на все вопросы.

2. Изменить настройки веб-сервера:

3. Открыть доступ к службам и портам, необходимым для работы Asterisk:

firewall-cmd --permanent --zone=public --add-service={http,https} --add-port=5060-5061/tcp --add-port=5060-5061/udp --add-port=10000-20000/udp

4. Настроить автозагрузку базы данных:

systemctl enable mariadb

5. Настроить загрузку веб-сервера при запуске системы:

systemctl enable httpd

6. Настроить автозапуск FreePBX при загрузке системы:

nano /etc/systemd/system/freepbx.service

systemctl enable freepbx

7. Настроить соединение с базой данных через ODBC. Если установлен устаревший модуль cdr_mysql.so, этот пункт опционален, но все же рекомендуется:

nano /etc/odbc.ini

Для того, чтобы проверить связь по ODBC, используйте следующую команду:

isql -v asteriskcdrdb

8. Перезагрузите систему, чтобы применить сделанные изменения:

Установка Asterisk 13 на Debian

В данном разделе мы рассмотрим процедуру установки на другой популярной платформе - Debian. Хорошая новость для пользователей: она относительно проста, несмотря на то, что также включает в себя сборку из исходников. В качестве примера мы выполним установку Asterisk на Debian 8.

Установка производится от имени суперпользователя (root). Откройте терминал, получите соответствующие права, после чего можно приступить к инсталляции.

Сначала загрузите Asterisk 13 с официального сайт и распакуйте загруженный архив. Перейдите в папку с распакованными исходниками.

Теперь установим необходимые зависимости. Самая важная - компилятор gcc - в Debian уже есть. Поэтому просто загрузим оставшиеся:

После того, как все зависимости загружены и установлены, выполните в папке с распакованным архивом Asterisk следующую команду:

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

Перед компиляцией Asterisk есть возможность включить или отключить отдельные модули:

Будет открыто консольное приложение со списком модулей. Перемещаясь клавишами вниз и вверх по списку, вы можете включать и отключать их. Некоторые дополнительные модули требуют установки зависимостей. Это можно сделать при помощи apt-get.

Теперь приступим к компиляции Asterisk. Введите в консоли уже знакомые команды:

1. Сборка исходников:

2. Установка в системные каталоги:

Когда выполнение компиляции завершится без ошибок, нужно запустить команду:

На этом завершается установка. Asterisk успешно проинсталлирован на ваше сервер. Следующая команда вызовет консоль управления Asterisk:

asterisk -vvvvvvgc

Настройка Asterisk

Теперь рассмотрим базовые процедуры настройки сервера телефонии Asterisk. Они принципиально одинаковы для всех дистрибутивов Linux.

Для начала нужно добавить следующий текст в файл sip.conf:

Тем самым мы создадим пять учетных записей, которые могут использоваться любым клиентом SIP (Cisco SIP Phone, xlite, ATA и тому подобные). Все пользователи будут зарегистрированы в Asterisk. Если данная конфигурация не работает, попробуйте отключить сетевой экран до завершения настройки программного обеспечения.

Создание первого номерного плана

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

Откройте файл extension.conf в папке /etc/asterisk и добавьте в него строку:

exten=> _XXXX,1,Dial(SIP/${EXTEN})

Теперь все сконфигурированные клиенты SIP смогут принимать и отправлять звонки. Благодаря простоте настройки диалплана, Asterisk и является одной из самых дружелюбных платформ IP-телефонии. Не так уж и много навыков требуется, чтобы поднять офисную АТС.

Создание первого транка SIP

Asterisk может выполнять исходящие и входящие вызовы. Для исходящих вызовов нам требуется провайдер, который будет перенаправлять вызовы в нашу систему, а также публичный IP-адрес.

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

Для создания транка добавьте следующий код в файл sip.conf:

После этого нужно будет внести в extension.conf еще одну строку:

exten => _XXXXXXX.,1,Dial(SIP/trunk1/${EXTEN})

Это позволит установить связь с провайдером для осуществления исходящих вызовов.

Заключение

Настройка полноценной офисной АТС на базе Asterisk, установка которого была рассмотрена в данной статье, включает в себя гораздо больше процедур, чем описано выше. Подробная информация о сервере телефонии и его возможности представлена к официальной документации по Asterisk.

Установка, настройка ip телефонии, Asterisk: общая информация

В большинстве стран мира в настоящее время наблюдается тенденция замещения стационарных проводных линий различными средствами айпи-телефонии. Таким образом, многие офисы стремятся уйти от проблем, связанных с монтажом кабеля и пр. Обусловлено это тем, что интернет-телефония быстро подключается (телефонные номера заказчики получают уже через сутки), при этом она характеризуется низкой ценой звонков, отличной мобильностью. Что касается самих звонков, то они выполняются через ТСР/IP сеть с помощью различного оборудования, работающего по SIP-протоколу.

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

  • настройку сервера, АТА, шлюзов VOIP;
  • поключение айпи-номеров, аккаунтов SIP;
  • настройку айпи-телефона, soft фона, Астериск.

По своей сути Asterisk является многофункциональной, относительно недорогой мини-АТС, реализованной на ПК. Возьмём, к примеру, гибридную TDA100, начальная ёмкость которой составляет 0 внутренних, внешних линий. Она сегодня обходится приблизительно в 500 долларов. Заплатив аналогичную сумму, вы получите хорошо настроенный Asterisk, включающий многоуровневое голосовое меню, возможность записи разговоров, ведения статистики звонков, автоматической отправки/получения факса. При этом на линии не будет ни одного аппаратного ограничения.

Настройка asterisk – выгодное, эффективное решение для каждого!

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

  • Оптимальное соотношение цены/функциональности

Как мы отмечали выше, базовый блок простейшей цифровой АТС, имеющий нулевой функционал и требующий дополнительного приобретения расширительных плат (стоят 150-500 долларов) обходится примерно в 500 долларов. Помимо его покупки организация АТС включает также монтаж самой телефонной сети и некоторые иные операции, которые стоят немалых денег. В ситуации с установкой Asterisk пользователям достаточно купить ПК за 300 долларов, выполнить настройку необходимого ПО, подключить телефонную гарнитуру. Всё.

  • Простота добавления функций

Если на АТС необходимо записать разговоры, следует дополнительно приобрести «железку», установить её и грамотно настроить. На Астериск установка занимает максимум 30 минут, при этом нет нужды в дополнительном дорогостоящем оборудовании.

  • Презентабельность

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

  • Постоянная доступность вашего телефонного номера

Установка ip-телефонии предполагает осуществление телефонных звонков по интернет-каналам. Соответственно, где бы вы не находились, надо всего лишь подключиться к глобальной сети, чтобы ваш телефон снова заработал!

  • Сохранение статистики телефонных звонков

Установка и настройка asterisk — это реальная возможность сохранить входящий звонок в статистике программного телефона. При этом в несколько щелчков сотрудник компании сможет его найти и перенабрать.

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

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

Ваша компания очень часто получает какую-либо информацию по факсу? Дабы исключить потерю важных данных, Asterisk может сохранять их в отдельном почтовом ящике, в определённой директории сервера. То есть, в любой момент (даже по истечении года и более продолжительного периода) их можно быстро найти и изучить.

Если говорить о примерной сумме, в которую может обойтись установка Asterisk, то она, как правило, включает следующее:

  • стоимость базовой настройки (приблизительно 150 долларов: всё зависит от требований, предъявляемых заказчиком к функционалу);
  • траты, приходящиеся на приобретение системного блока, где устанавливается сервер (обходится в среднем в 300 долларов), можно использовать существующий или арендовать VPS;
  • стоимость плат Е1, шлюзов VoIP/GSM.

Перед тем, как заказать Asterisk, нужно тщательно продумать все технические вопросы, изучить доступные программные клиенты. В частности, если сервер планируется использовать в большей степени для совершения внутренних звонков, стоит отдавать предпочтение ПО с более функциональным интерфейсом (siPhone, X-lite). Если же для компании более актуальны международные переговоры, при этом имеет место ненадёжный канал, обладающий ограниченной пропускной способностью, стоит выбирать программы, которые поддерживают кодек G729.

Установка, настройка ip телефонии, Asterisk: перечень основных услуг

  • инсталляция сервера, ПО Asterisk;
  • установка, настройка драйверов плат DIGIUM;
  • настройка маршрутизации звонков, голосового меню, отправления/получения факса;
  • подключение функции «email-факс/факс-email»;
  • настройка потока PRI, айпи-номеров, аккаунтов SIP;
  • создание call-центра;
  • организация взаимодействия между отдельными Asterisk-серверами;
  • настройка индивидуальной конфигурации;
  • настройка мини-атс, перепрограммирование текущих параметров,
  • монтаж телефонного кабеля;
  • настройка шлюзов (GSM, VOIP).

Это нужно знать об Asterisk!

Asterisk является в полной мере программной учрежденческой АТС, функционирующей под управлением ОС LINUX. По своим функциональным возможностям она зачастую опережает свои традиционные аналоги: поддерживает протоколы Н323, SCCP, SIP, ADSI, IAX. Рассматриваемая АТС может применяться для создания проектов любого масштаба, для подключения клиентов, передачи трафика между отдельными серверами. Её сопряжение с традиционными линиями предполагает использование аналоговых (FXS, FXO), цифровых модулей (Е1, Т1).

На сегодняшний день имеется несколько версий Asterisk – «Head», «Stable». В первую, рассчитанную на разработчиков, продвинутых пользователей, добавляются все новые возможности. Вторая, в свою очередь, включает только проверенные, отлаженные в работе модули, компоненты.

Если у вас остались вопросы или вы желаете рассчитать обращайтесь.

– это ATC созданная хакерами (в первоначальном смысле этого слова), а точнее, это супер конвергентная платформа компьютерной телефонии, распространяемая по лицензии GNU GPL, изначально разрабатываемая Марком Спенсером (Mark Spenser), позже ставшим президентом и техническим директором компании Digium. Благодаря коммерческой поддержке Его компании и лицензии GNU GPL Asterisk активно развивается и поддерживается тысячами людей со всей планеты.

Asterisk поддерживает

Протоколы

Аудио кодеки

Название Скорость передачи, Кбит/с Необходимость лицензии
G.711 64 Не нужна
G.726 16, 24, 32 или 40 Не нужна
G.729A 8
GSM 13 Не нужна
iLBC 13,3 (кадры по 30 мс) или 15,2 (кадры по 20 мс) Не нужна
Speex Переменная между 2,15 и 22,4 Не нужна
G.723.1 6.4 Кбит/с (кадр имеет размер 189 битов, дополненных до 24 байтов) и 5,3 Кбит/с (кадр имеет размер 158 битов, дополненных до 20 байтов). Режим работы может меняться динамически от кадра к кадру Нужна (не нужна для транзита)
MP3

Важные моменты для выбора

Производительность Asterisk систем

Опытные данные производительности систем представлены на форуме и оригинальный текст . Asterisk – может работать практически на любой платформе Linux плюс некоторых других ОС, таких как Solaris, BSD, MacOS X и есть даже проект Asterisk for Win32 . По поводу выбора ОС для Asterisk развивать холивар не хочу и предлагаю выбрать Вам самим, при этом не мешает прочитать ветку форма посвященному этому вопросу. В заключении, скажу, что сам использую CentOS – популярный дистрибутив, используемый с Asterisk (собран из сырцов RedHat) версии 5.2.
Подробное руководство по установке CentOS 5.2 из блога Linuxoid .
Иксы рекомендую не ставить, так как с Asterisk они будут конкурировать за ресурсы.

Установка и настройка Asterisk

Asterisk в базовой комплектации включает три основных пакета доступных к загрузке на официальном сайте :
  • Сам Asterisk , доступна версия 1.6.0.6;
  • Драйверы телефонии DAHDI – акроним Digium Asterisk Hardware Device Interface, бывший zaptel + DAHDI Tools ;
  • PRI – библиотеки Libpri.
ссылки на 32-bit версии, но доступны и 64–bit
Если планируется использовать только VoIP, то достаточно пакета Asterisk, но рекомендуется установить все пакеты.

Дополнительно, можно установить

  • Modules and addons , содержит модули для работы с MySQL и проигрывания mp3 – файлов, ИМХО не вошло в официальный дистрибутив и не надо. К примеру, Asterisk установлен с поддержкой ODBC и при установке аддона для работы с MySQL система может не работать, поэтому одновременно рекомендуется использовать только один из драйверов и отключить другой. Проигрывание mp3 – файлов, в свою очередь, вызовет дополнительную нагрузку на систему т.к. проигрываемый файл необходимо будет разжать.

Необходимые пакеты Linux

  • GCC 3.x;
  • ncurses-devel;
  • libtermcap-devel;
  • Kernel Development Headers;
  • GCC C++ 3.x;
  • OpenSSL (опционально) ;
  • newt-devel (опционально) ;
  • zlib-devel (опционально) ;
  • unixODBC; unixODBC-devel (опционально) ;
  • libtool (рекомендуется) ;
  • GNU make (версия 3.80 и выше).
В моем случае все уже содержалось в системе, я лишь обновил ядро (пусть это никому не кажется страшным).

Особой популярностью и любовью пользуется дистрибутив Trixbox - это программный комплекс, основанный на CentOS и Asterisk, основной задачей которого является создание в кротчайшие сроки сервера IP телефонии.
На данный момент доступна . Этапы установки можно подсмотреть на сайте voiceip.com.ua .

Дистрибутив Elastix от PaloSanto Solutions по функциональности не намного обходит Trixbox Community Edition. Распространяется по лицензии GNU GPL. Основой Elastix послужил CentOS 5 с ядром 2.6.18. Основу системы VoIP составляет Asterisk 1.4.18, разработчики дополнили его утилитами собственной разработки и модулями сторонних производителей. В качестве системы биллинга использован переработанный A2Billing. В поставку входит и сервер Openfire 3.4.2 обеспечивающий обмен сообщениями по протоколу XMPP/Jabber. Также в комплекте дистрибутива поставляются две CRM (Customer relationship management) - SugarCRM и VTigerCRM
Обзор и установку можно подсмотреть в статье Linuxoid .

Продолжим

Загружать статью общими вопросами установки и настройки Asterisk не буду, тем более, что в сети есть замечательные статьи, подробно рассказывающие о каждом из этапов. Не смотря на то, что статьи написаны 3 – 4 года назад, поверьте, они не теряют своей актуальности, не спорю, версии сменились с 1.2 аж до 1.6, сменилось даже название телефонного драйвера и функционал существенно расширился, но Вас это не должно пугать. Статьи о Asterisk в журнале «Системный администратор»
Автор Михаил Платов :
  • Asterisk и Linux – миссия IP-телефония – рассматриваются основные возможности Asterisk, настройка и работа по протоколу SIP;
  • Asterisk и Linux: миссия IP-телефония. Действие 2 – рассматривается работа по протоколу H323 и обеспечение связи с ТфОП;
  • Asterisk и Linux: миссия IP-телефония. Действие 3 – заключительная из этого цикла статья, рассматривающая вопросы голосовой почты, конференций и web–интерфейсов, значительно облегчающих работу, как пользователей, так и администраторов Asterisk.

Примечание: в статьях используются утилиты zaptel, который сменил название на DAHDI
ztcfg -> dahdi_cfg
ztmonitor -> dahdi_monitor
ztscan -> dahdi_scan
ztspeed -> dahdi_speed
zttest -> dahdi_test
zttool -> dahdi_tool
zapconf -> dahdi_genconf ранее известная, как genzaptelconf)

И изменились пути:

  • Системный файл конфигурации был переименован из /etc/zaptel.conf в /etc/dahdi/system.conf
  • Утилита dahdi_cfg теперь может использоваться для выбора эхо-подавителя для каждого из канала или группы каналов на основании настроек из файла конфигурации: system.conf; Полный перечень изменений на svn-транке разработчиков или по-русски на сайте voip.rus.net .

Asterisk: организуем автоматическое распределение поступающих вызовов – рассматриваются вопросы организации очереди обработки вызовов, так необходимой в службах работающих с клиентами. Автор Сергей Яремчук

Хранение файлов CDR в Базе Данных

Call Detail Records (CDR) – файл записи параметров вызовов прошедших через систему. Asterisk позволяет хранить CDR файлы в:
  • Comma Separated Values (CSV) – файл;
Важная часть диалплана, обеспечивающая ему мощь и динамичность – это func_odbc , она позволяет создавать и применять в диалплане функции извлечения и использования информации из БД.

IVR

Interactive Voice Response (IVR) – это уже неотъемлемая часть любой платформы и бизнеса занимающимся обслуживанием клиентов. Стоимость коммерческих IVR систем (Avaya, Cisco, Genesys, Nortel или Dialogic) достаточна, высока, а Asterisk просто создан для этого.
К сожалению, русского женского голоса для Asterisk нет (бесплатного). После инсталляции Asterisk говорит с нами голосом Эллисон Смит (Allison Smith) - это порядка 300 промтов, плюс еще 600 в дополнении asterisk–sounds.

Доступен текстовый перевод голосовых промтов для Asterisk версий 1.4, 1.6А также мужской русский голос от romik_g для Asterisk 1.4.

На ресурсе ivrvoice.ru можно скачать и использовать в любых мирных целях, включая бизнес, русские промты для Asterisk.

Если Вы решитесь самостоятельно записать промты, то основное требование – это нормализация записей до -3дБ с паузами в начале и завершении записи. Для конвертации аудио файла используется утилита (Sound eXchange).

Однако, системы IVR – это “не только ценный мех” и DTMF , но и системы Automatic Speech Recognition(ASR – системы распознавания речи) и Text–to–speech(TTS) движки речевого воспроизведения. Правда, с русским тут пока туго.
Но знать должны:

  • Оpen source TTS – engine

– это ATC созданная хакерами (в первоначальном смысле этого слова), а точнее, это супер конвергентная платформа компьютерной телефонии, распространяемая по лицензии GNU GPL, изначально разрабатываемая Марком Спенсером (Mark Spenser), позже ставшим президентом и техническим директором компании Digium. Благодаря коммерческой поддержке Его компании и лицензии GNU GPL Asterisk активно развивается и поддерживается тысячами людей со всей планеты.

Asterisk поддерживает

Протоколы

Аудио кодеки

Название Скорость передачи, Кбит/с Необходимость лицензии
G.711 64 Не нужна
G.726 16, 24, 32 или 40 Не нужна
G.729A 8
GSM 13 Не нужна
iLBC 13,3 (кадры по 30 мс) или 15,2 (кадры по 20 мс) Не нужна
Speex Переменная между 2,15 и 22,4 Не нужна
G.723.1 6.4 Кбит/с (кадр имеет размер 189 битов, дополненных до 24 байтов) и 5,3 Кбит/с (кадр имеет размер 158 битов, дополненных до 20 байтов). Режим работы может меняться динамически от кадра к кадру Нужна (не нужна для транзита)
MP3

Важные моменты для выбора

Производительность Asterisk систем

Опытные данные производительности систем представлены на форуме и оригинальный текст . Asterisk – может работать практически на любой платформе Linux плюс некоторых других ОС, таких как Solaris, BSD, MacOS X и есть даже проект Asterisk for Win32 . По поводу выбора ОС для Asterisk развивать холивар не хочу и предлагаю выбрать Вам самим, при этом не мешает прочитать ветку форма посвященному этому вопросу. В заключении, скажу, что сам использую CentOS – популярный дистрибутив, используемый с Asterisk (собран из сырцов RedHat) версии 5.2.
Подробное руководство по установке CentOS 5.2 из блога Linuxoid .
Иксы рекомендую не ставить, так как с Asterisk они будут конкурировать за ресурсы.

Установка и настройка Asterisk

Asterisk в базовой комплектации включает три основных пакета доступных к загрузке на официальном сайте :
  • Сам Asterisk , доступна версия 1.6.0.6;
  • Драйверы телефонии DAHDI – акроним Digium Asterisk Hardware Device Interface, бывший zaptel + DAHDI Tools ;
  • PRI – библиотеки Libpri.
ссылки на 32-bit версии, но доступны и 64–bit
Если планируется использовать только VoIP, то достаточно пакета Asterisk, но рекомендуется установить все пакеты.

Дополнительно, можно установить

  • Modules and addons , содержит модули для работы с MySQL и проигрывания mp3 – файлов, ИМХО не вошло в официальный дистрибутив и не надо. К примеру, Asterisk установлен с поддержкой ODBC и при установке аддона для работы с MySQL система может не работать, поэтому одновременно рекомендуется использовать только один из драйверов и отключить другой. Проигрывание mp3 – файлов, в свою очередь, вызовет дополнительную нагрузку на систему т.к. проигрываемый файл необходимо будет разжать.

Необходимые пакеты Linux

  • GCC 3.x;
  • ncurses-devel;
  • libtermcap-devel;
  • Kernel Development Headers;
  • GCC C++ 3.x;
  • OpenSSL (опционально) ;
  • newt-devel (опционально) ;
  • zlib-devel (опционально) ;
  • unixODBC; unixODBC-devel (опционально) ;
  • libtool (рекомендуется) ;
  • GNU make (версия 3.80 и выше).
В моем случае все уже содержалось в системе, я лишь обновил ядро (пусть это никому не кажется страшным).

Особой популярностью и любовью пользуется дистрибутив Trixbox - это программный комплекс, основанный на CentOS и Asterisk, основной задачей которого является создание в кротчайшие сроки сервера IP телефонии.
На данный момент доступна . Этапы установки можно подсмотреть на сайте voiceip.com.ua .

Дистрибутив Elastix от PaloSanto Solutions по функциональности не намного обходит Trixbox Community Edition. Распространяется по лицензии GNU GPL. Основой Elastix послужил CentOS 5 с ядром 2.6.18. Основу системы VoIP составляет Asterisk 1.4.18, разработчики дополнили его утилитами собственной разработки и модулями сторонних производителей. В качестве системы биллинга использован переработанный A2Billing. В поставку входит и сервер Openfire 3.4.2 обеспечивающий обмен сообщениями по протоколу XMPP/Jabber. Также в комплекте дистрибутива поставляются две CRM (Customer relationship management) - SugarCRM и VTigerCRM
Обзор и установку можно подсмотреть в статье Linuxoid .

Продолжим

Загружать статью общими вопросами установки и настройки Asterisk не буду, тем более, что в сети есть замечательные статьи, подробно рассказывающие о каждом из этапов. Не смотря на то, что статьи написаны 3 – 4 года назад, поверьте, они не теряют своей актуальности, не спорю, версии сменились с 1.2 аж до 1.6, сменилось даже название телефонного драйвера и функционал существенно расширился, но Вас это не должно пугать. Статьи о Asterisk в журнале «Системный администратор»
Автор Михаил Платов :
  • Asterisk и Linux – миссия IP-телефония – рассматриваются основные возможности Asterisk, настройка и работа по протоколу SIP;
  • Asterisk и Linux: миссия IP-телефония. Действие 2 – рассматривается работа по протоколу H323 и обеспечение связи с ТфОП;
  • Asterisk и Linux: миссия IP-телефония. Действие 3 – заключительная из этого цикла статья, рассматривающая вопросы голосовой почты, конференций и web–интерфейсов, значительно облегчающих работу, как пользователей, так и администраторов Asterisk.

Примечание: в статьях используются утилиты zaptel, который сменил название на DAHDI
ztcfg -> dahdi_cfg
ztmonitor -> dahdi_monitor
ztscan -> dahdi_scan
ztspeed -> dahdi_speed
zttest -> dahdi_test
zttool -> dahdi_tool
zapconf -> dahdi_genconf ранее известная, как genzaptelconf)

И изменились пути:

  • Системный файл конфигурации был переименован из /etc/zaptel.conf в /etc/dahdi/system.conf
  • Утилита dahdi_cfg теперь может использоваться для выбора эхо-подавителя для каждого из канала или группы каналов на основании настроек из файла конфигурации: system.conf; Полный перечень изменений на svn-транке разработчиков или по-русски на сайте voip.rus.net .

Asterisk: организуем автоматическое распределение поступающих вызовов – рассматриваются вопросы организации очереди обработки вызовов, так необходимой в службах работающих с клиентами. Автор Сергей Яремчук

Хранение файлов CDR в Базе Данных

Call Detail Records (CDR) – файл записи параметров вызовов прошедших через систему. Asterisk позволяет хранить CDR файлы в:
  • Comma Separated Values (CSV) – файл;
Важная часть диалплана, обеспечивающая ему мощь и динамичность – это func_odbc , она позволяет создавать и применять в диалплане функции извлечения и использования информации из БД.

IVR

Interactive Voice Response (IVR) – это уже неотъемлемая часть любой платформы и бизнеса занимающимся обслуживанием клиентов. Стоимость коммерческих IVR систем (Avaya, Cisco, Genesys, Nortel или Dialogic) достаточна, высока, а Asterisk просто создан для этого.
К сожалению, русского женского голоса для Asterisk нет (бесплатного). После инсталляции Asterisk говорит с нами голосом Эллисон Смит (Allison Smith) - это порядка 300 промтов, плюс еще 600 в дополнении asterisk–sounds.

Доступен текстовый перевод голосовых промтов для Asterisk версий 1.4, 1.6А также мужской русский голос от romik_g для Asterisk 1.4.

На ресурсе ivrvoice.ru можно скачать и использовать в любых мирных целях, включая бизнес, русские промты для Asterisk.

Если Вы решитесь самостоятельно записать промты, то основное требование – это нормализация записей до -3дБ с паузами в начале и завершении записи. Для конвертации аудио файла используется утилита (Sound eXchange).

Однако, системы IVR – это “не только ценный мех” и DTMF , но и системы Automatic Speech Recognition(ASR – системы распознавания речи) и Text–to–speech(TTS) движки речевого воспроизведения. Правда, с русским тут пока туго.
Но знать должны:

  • Оpen source TTS – engine


Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: