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

IP АТС – телефонная станция, обеспечивающая передачу голоса через Интернет (на основе протокола Voice over IP).
В этой статье расскажем об IP-телефонии, организованной на базе программной IP АТС «Asterisk».
Содержание
Аппаратная часть
Asterisk поддерживает любое оборудования для Voice over IP (VoIP). Устройства различных производителей VoIP-оборудования можно подключать без особых проблем.
Функциональные возможности
Asterisk обладает всеми возможностями классической АТС, поддерживает множество VoIP протоколов и предоставляет функции голосовой почты, конференций, интерактивного голосового меню (IVR), центра обработки вызовов (постановка звонков в очередь и распределение их по агентам используя различные алгоритмы), запись CDR и прочие функции. Asterisk не имеет ограничений по числу абонентов, каналов и функциональных возможностей.
Для создания собственной функциональности можно воспользоваться языком Asterisk для написания диалплана. На сегодняшний день уже написано много графических веб-оболочек к Asterisk для удобства использования и легкости восприятия.
Реализация
1. Начнем с того, что Asterisk устанавливается на Linux.
Первый вопрос – какой вариант реализации выбрать. Собственно, главный выбор – «плоский» Asterisk, управляемый через командный интерфейс (с помощью командной строки),
или система «Asterisk» с Web-интерфейсом (их, как уже упоминалось, написано достаточное количество).

Первый вариант предполагает больше гибкости и более широкие возможности, а второй – более простую настройку и управление.
Мы бы рекомендовали «плоский» Asterisk для колл-центров со сложной логикой очередей, с многочисленными особыми требованиями к коммутации вызовов.
Для офисных задач и задач малого предприятия реализация сложной логики не важна. Поэтому здесь ориентируемся на построение более простой системы, предназначенной для обслуживания до 100 внутренних телефонов при многоканальных входных линиях от одного или нескольких телефонных операторов.
2. Второй практический вопрос, который надо решить – какую платформу выбрать для использования Asterisk. Вариантов два: локальный сервер или «облако»?
Локальный сервер для IP-АТС в современных условиях, может обойтись почти бесплатно: допустим имеются старые (или не очень старые) компьютеры. Нужно всего: 2 GB ОЗУ и один процессор (можно даже какой-то старый и не очень мощный).
Но – внимание: если старый компьютер совсем уж барахло…То такой сервер может вас подвести, отказав в самый неподходящий момент. И тогда эффект экономии денег компании может оказаться совершенно обратным.
На сегодняшний день стоимость системного блока компьютера для развертывания IP – АТС в офисе не превышает $200.
Итак, вопрос с сервером либо решен, либо – направляемся «в облака».
Виртуальная АТС

Очевидный плюс облака – за надежность работы отвечает облачный провайдер и не надо тратить деньги на сервер. Ежемесячная плата за виртуальный «сервер» из одного ядра и 2 GB ОЗУ будет не высокой: около 1000 руб (или даже меньше). Также можно использовать облачную АТС (эксплуатация виртуального сервера и облачной АТС имеет незначительную разницу).
Немного о «подводных камнях» виртуальной АТС
Операторы телефонии предлагают разные условия использования своих облачных АТС. Есть ограничения. Это могут быть ограничения на количество внутренних номеров, всевозможные функциональные особенности. Например, не все такие системы предоставляют возможность записи разговоров, не все типы IP-телефонов обслуживаются, иногда страдает качество связи.
Существует набор ограничений, общий для виртуальных АТС всех телефонных операторов. Заключается он в следующем: виртуальные АТС не допускают одновременного подключения других телефонных операторов или перехода на другого оператора. Поэтому вы не сможете оптимизировать расходы, автоматически выбирая тарифы для конкретных соединений, или использовать другого оператора с текущей виртуальной АТС.
Т.е. телефонный оператор с помощью своей виртуальной АТС может на начальном этапе предоставить решение вопросов телефонии. Но при этом будет поставлен серьезный барьер на пути дальнейшего развития коммуникаций вашей компании.
Еще стоит обратить внимание на ситуацию, в которой одному внутреннему абоненту необходимо позвонить другому внутреннему абоненту. В этом случае разговор абонентов будет проходить по «большому кругу», то есть от аппарата внутреннего Абонента 1 сигнал пройдёт до маршрутизатора офиса с выходом во внешнюю сеть (на котором должны быть открыты соответствующие порты, что в свою очередь увеличивает «площадь атаки», поскольку требуется открывать SIP-порты для каждого аппарата), прийти на виртуальный сервер IP-АТС (облачную АТС), расположенный в некоем дата-центре, после чего вернётся на исходный маршрутизатор и из внешней линии будет отправлен на внутреннюю на аппарат внутреннего Абонента 2. Длинный путь не правда ли? А если таких соединений больше десятка?
Безопасность может стать проблемой, поскольку один внутренний абонент, разговаривая с другим внутренним абонентом, будет выходить во внешнюю сеть. Такую структуру часто взламывают и «прокачивают» через него звонки, скажем, из Нигерии в Палестину – на дорогие платные номера, причем по всем доступным каналам. За ночь ваша компания может потерять огромную сумму, и хорошо, если телефонный провайдер ввел ограничения для таких случаев, тогда потери будут не столь существенными. Вообще любой видимый в интернете SIP-порт (о необходимости открытия которых я говорил выше) подвергается атакам уже через несколько минут после появления, поэтому вопросы защиты должны прорабатываться тщательно и профессионально, поскольку чем больше портов открыто, тем больше «площадь атаки».
При этом «траффик», проходящий между внутренними абонентами, необходимо шифровать, поскольку в этом варианте все разговоры между внутренними абонентами не составит большого труда прослушать (перехватить).
IP-АТС c использованием сервера

В случае использования «своего» сервера (расположенного внутри сети) картина будет другой.
— минимизирует «площадь атаки» (поскольку сокращает количество открытых портов);
— позволяет исключить саму возможность прослушать (перехватить) переговоры внутренних абонентов или подключиться стороннему абоненту от имени внутреннего, даже если имеются удалённые офисы (поскольку внутренние абоненты разговаривают между собой, не выходя во «внешнюю сеть»);
— позволяет использовать нескольких операторов связи или переключаться на другого оператора (имеющего более «интересные» тарифы) в любой момент, не настраивая заново АТС.
Если выбранный телефонный провайдер осуществляет соединение по SIP, это вызовет минимум затрат и минимум технических проблем.
3. Далее дело за малым – подключить IP-телефоны или использовать так называемые «софтфоны». Использование телефонных аппаратов, конечно, лучший вариант. У них всегда хорошее качество звука и большое количество разнообразных функций. При этом от марки и модели зависит удобство использования и цена, но основные качества с точки зрения телефонии будут отличаться не сильно.
«Софтфоны» – это программы, позволяющие использовать ваш компьютер в качестве телефона, нужны только наушники и микрофон.
IP-АТС Asterisk умеет все то же, что и традиционная АТС, плюс поддерживает актуальные для бизнеса VoIP-протоколы: голосовую почту, конференц-связь, центр обработки звонков, интерактивное меню, хранение записей. Рассказываем, как настроить с нуля базовый функционал «Астериск» АТС и получить рабочий сервер компьютерной телефонии.
Для примера настройки Asterisk возьмем офис с такими характеристиками:
- 3 отдела, в которых работают 25 сотрудников;
- используются трехзначные телефонные номера;
- услуги предоставляет один SIP-провайдер.
Не советуем устанавливать Asterisk из репозитория, так как при данной установке может установиться не та версия asterisk и необходимых к ней зависимостей. В данном случае используем установку Asterisk из исходников.
В разных операционных системах (Cent Os, Ubunty и др.) отличаются команды и необходимые зависимости.
Установка Asterisk из исходников
- Сборка и установка необходимых зависимостей и пакетов.
Вначале нужно установить дополнительные пакеты, которые необходимы для установки и работы Asterisk. Без части из этих пакетов Asterisk вообще откажется устанавливаться (к примеру, если отсутствует gcc). Без некоторых пакетов Asterisk установится и даже будет работать, однако часть функционала будет недоступна. Например, пакет bison необходим для обработки выражений в файле extensions.conf. Еще пример: libnewt необходим для работы интерфейса управления astman. Для сервера Asterisk он не требуется, но без этого пакета у Вас не будет приложения astman, которое является отдельной программой. В нашем приводиться пример установки Asterisk 13 в системе Cent OS 6.9:
yum -y install gcc gcc-c++ make ncurses-devel libxml2-devel sqlite-devel bison kernel-headers kernel-devel openssl openssl-devel newt newt-devel flex curl sox binutils
Для 12-13 версии Asterisk требуется установка пакетов uuid и janson. Для установки библиотеки uuid в RHEL / Centos выполните команду:
yum -y install libuuid-devel
. Для установки библиотеки jansson в RHEL / Centos выполните команду:
yum -y install jansson-devel (предварительно требуется установка репозитория epel: yum install epel-release )
После обновляем систему до последней версии командой yum update –y и перегружаем ее: reboot
- Установка и установка их исходников
Чтобы получить эффективное и рабочее решение, рекомендуем: выполняйте установку и настройку Asterisk в чистом виде, без дополнительных плат расширения и модемов. Так вы получите программную АТС, которую можно легко переносить с одного сервера на другой. Для этого необходимо установить Asterisk с нуля, инсталлировать pjproject с jansson, обновить систему и отключить SELinux.
Для начала отключим Selinux. Для этого заходим /etc/selinux/config и ставим: SELINUX=DISABLED.
Также выключаем FireWall (iptables):
- Проверка статуса: service iptables status;
- Отключение: service iptables stop
- Отключение из автозагрузки: chkconfig iptables off
- Перегружаем систему: reboot
Скачайте и инсталлируйте pjproject:
git clone git://github.com/asterisk/pjproject pjproject
./configure –libdir=/usr/lib64 –prefix=/usr –enable-shared –disable-sound –disable-resample
Подробная инструкция по настройке АТС Asterisk сервера для офиса. После настройки Вы получите базовую функциональность телефонной АТС.
1. Создадим 5 номеров к которым можно будет подключить как softphone например 3CXPhone и MicroSIP так и железный радио sip телефон например GIGASET C610A IP, телефон Cisco 7492.
2. Подключим прямой московский номер у провайдера IP телефонии Zadarma, настроим прием звонков с прямого номера на наши внутренние номера телефонов.
3. Настроим звонки с/на внутренние номера Zadarma провайдера телефонии которые не тарифицируются.
4. Настроим звонки на внешние номера через Zadarma провайдера телефонии.
Регистрируемся на сайте zadarma.com, регистрируем прямой номер в нужной стране (обязательно потребуется прикрепить скан паспотра), в настройках sip выписываем логин пароль и сервер:
Если Вам нужно потренироватся, то можно не подключать прямой номер, а обойтись внутренним провайдера, чтобы проверить текущую конфигурацию телефонии в работе. Для имитации звонка на прямой номер, подключаетесь со смартфона к задарма по одному из сипов, стандартно дается 3 sip номера на аккаунт и позвонить на внутренний sip номер подключенный на Asterisk.

Установлен Asterisk 13 по инструкции Установка Asterisk PBX 13 в Debian и Ubuntu server либо по другой из множества инструкций по установке Asterisk на данном сайте.
После установки сервера мы имеем стандартные конфигурационные файлы Asterisk сервера которые находятся по пути /etc/asterisk/
Переходим в эту папку выполнив команду:
Создаем нужные конфигурационные файлы выполнив команды:
Создаем файл с шаблонами пользователя:
Создаем номера внутренних телефонов:
Создаем файл peers_registered.conf в котором настраиваем регистрацию sip у провайдера:
Создаем конфигурационный файл peers_trunks.conf, в котором будут настройки подключения внешнего провайдера телефонии:
Создаем файл extensions.conf в котором подключаем диалплан:
Настраиваем перевод звонков:
Таким образом при включении atxfer #, при звонке секретарю при нажатии на телефоне #, будет включена переадресация, секретарь вводит номер куда переводит звонок и ложит трубку, человек будет ждать поднятия трубки на переводимом номере. Можно не ложить трубку, а дождатся поднятия трубки на переводимом номере, сказать кто звонит и положить трубку, их соединит, если поднявший трубку откажется говорить и положит трубку, звонящий будет снова соединен с секретарем.
Так как у меня нет оборудования Dahdi, потому Asterisk ругается на ошибку:
Выполняем команду для отключения Dahdi:
Включаем verbose при входе в консоль через команду rasterisk(чтоб в консоли было видно звонки, изменять детальность можно изменяя параметр с 3 на выше ):
Если выскакивает ошибка:
Отключить поддержку ARI в файле ari.conf выполнить команду:
Перезагружаем Asterisk сервер:
Зайдя в консоль Asterisk выполнив rasterisk или asterisk -vvv выполняем команду:

Видим список существующих телефонов и зарегистрированных пиров (у нас Zadarma провайдер):
Выводит список и статус зарегистрированных пиров у провайдера, в нашем случае только один Zadarma:
В нашем случае видим статус OK и Registered
Провайдер подключен, осталось подключить телефоны сострудников и можно принимать и выполнять звонки.
Для примера подключим один софтфон к 101 номеру и второй софтфон к 102 номеру, на смартфоне я подключу дополнительный sip аккаунт для проверки звонка снаружи на телефонию и с телефонии на смартфон по внутренней нумерации провайдера, также позвоним на тестовый номер дозвона провайдера и номер проверки баланса у провайдера.
Подключаем Софтфон 3CXPhone к 101 номеру который мы сделали выше, параметры:
Номер: 101
Пароль: ch72passwd
IP сервера: 10.100.10.10

Создаем новый аккаунт в 3CXPhone:

Если Вы используете не стандартный порт, например 5171, указываем IP сервера с портом: 10.100.10.10:5171


Подключаем Софтфон ]]> MikroSIP ]]> , параметры подключения:
Номер: 102
Пароль: cbTwpasswd
IP сервера: 10.100.10.10
Добавляем аккаунт при первом включении:

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

Вводим параметры подключения MikroSIP к Asterisk телефонии, если Вы используете не стандартный порт, например 5171, указываем IP сервера с портом 10.100.10.10:5171

Подключили софтфон MikroSIP к нашей АТС:

Подключили оба софтфона и провайдера к нашей телефонной АТС:

Теперь можно сделать звонки с 101 на 102 и наоборот. Сделать звонок со смартфона с подключенным Задарма номером на внутренний сип Задарма провайдера, в моем случае это с номера 08360 на 08364 и наоборот, сделаем тестовый звонок на 4444 и для проверки баланса на 1111.
Базовая настройка Asterisk телефонии проведена, можете пользоваться.
Эта же инструкция записанная на видео, если у Вас не получается, можете посмотреть настройку Asterisk на видео:
Рейтинг статьи:
Вам понравилась статья? Хотите получать уведомления о выходе новых статей с этого сайта на свой почтовый адрес? Подписывайтесь пожалуйста. Введите свой почтовый адрес и нажмите кнопку Хочу получать статьи!






