Меню

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



Установка и базовая настройка сервера Asterisk на Ubuntu

Инструкция позволит быстро познакомиться с сервером Asterisk, выполнив базовые действия по установке и настройке сервера. Нижеописанные действия протестированы на Ubuntu 16.04 и Asterisk 15.

Подготовка сервера

Актуализируем список пакетов:

Установка

Установку можно выполнить с помощью команды apt install asterisk. Но в данной инструкции мы разберем установку путем сборки из исходников.

Рекомендуется установить Asterisk с DAHDI (драйверы плат интерфейсов телефонии) и LibPRI (библиотека для работы с потоковыми TDM-интерфейсами). Сначала необходимо собрать DAHDI, затем LibPRI и только потом — Asterisk.

Устанавливаем пакеты, необходимые для корректной сборки DAHDI и LibPRI:

apt install make gcc

Сборка DAHDI

Распаковываем его и переходим в распакованный каталог:

tar -xvf dahdi-linux-complete-current.tar.gz

Собираем пакет и устанавливаем его:

Выходим из каталога dahdi:

Сборка LibPRI

tar -xvf libpri-current.tar.gz

Собираем и устанавливаем:

Выходим из каталога libpri:

Установка Asterisk

Переходим по ссылке https://downloads.asterisk.org/pub/telephony/asterisk и копируем ссылку на последнюю версию asterisk. Используя ссылку, скачиваем исходник:

* в моем случае, последняя версия была 15.

Распаковываем архив и переходим в папку, появившуюся после распаковки:

tar -xvf asterisk-*.tar.gz

Устанавливаем библиотеки для работы с mp3:

./configure —prefix=/usr —sysconfdir=/etc —localstatedir=/var —libdir=/usr/lib64 —with-dahdi —with-pri —with-iconv —with-libcurl —with-speex

  • —with-dahdi — с драйверами DAHDI.
  • —with-pri — с библиотекой PRI.
  • —with-iconv — с возможностью конвертации кодировок (будет не лишним для поддержки русских символов).
  • —with-libcurl — возможность извлекать данные посредством CURL-запросов (по http).
  • —with-speex — дополнительный VBR-кодек (используется на многих софт-фонах).

** список всех доступных опций можно посмотреть командой ./configure -h.

Мы должны увидеть логотип астериска:

Вызываем оконное меню настройки модулей:

Для большинства случаев, настройки можно оставить по умолчанию. В противном случае рекомендуется изучить опции и выбрать необходимые. После нажимаем Save & Exit.

Затем собираем исходник:

И выполняем установку:

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

Устанавливаем скрипт инициализации (для автозапуска):

Устанавливаем скрипты для отсекания логов:

Создаем конфигурационный файл для указания дополнительного пути с библиотеками:

Добавляем в него одну строчку:

* это путь до каталога с библиотеками, с которым мы собирали asterisk (опция —libdir).

Настройка и запуск

Открываем конфигурационный файл:

И редактируем следующее:

runuser = asterisk
rungroup = asterisk
defaultlanguage = ru
documentation_language = ru_RU

Создаем системную учетную запись asterisk:

useradd asterisk -m

chown -R asterisk:asterisk /var/run/asterisk

chown -R asterisk:asterisk /etc/asterisk

chown -R asterisk:asterisk /var//asterisk

chown -R asterisk:asterisk /usr/lib64/asterisk

chown -R asterisk:asterisk /var/log/asterisk

Исправляем ошибки и предупреждения. В моем случае были следующие.

Ошибки запуска

No configured users for ARI. ARI предоставляет API для Asterisk REST Interface. В данном примере, отключаем поддержку:

Name or service not known. Если появится такая ошибка, система не может разрешить имя компьютера в IP-адрес. Необходимо правильно настроить DNS или прописать имя компьютера в файл /etc/hosts.

No directory URL or host found. Модуль для работы lpad неправильно настроен или не настроен.
PostgreSQL RealTime: Failed to connect database asterisk on 127.0.0.1. Модуль для работы с СУБД PostgreSQL.
Failed to open /dev/dahdi/transcode: No such file or directory. Ошибку можно увидеть, если нет оборудования DAHDI.

Вышеописанные ошибки возникают из-за включенных, но не используемых модулей. Отключаем:

noload => res_config_ldap.so
noload => res_config_pgsql.so
noload => codec_dahdi.so

Предупреждения при запуске

  • Unable to find a valid server address or name.
  • Process_dahdi: Ignoring any changes to .
  • CEL pgsql config file missing global section.
  • Cel_tds module had config problems; declining load.

Отключаем следующие модули:

noload => res_phoneprov.so
noload => app_dahdiras.so
noload => chan_dahdi.so
noload => res_pjsip_phoneprov_provider.so
noload => cel_pgsql.so
noload => cel_tds.so

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

ls -la /usr/lib64/asterisk/modules/

Разрешаем сервис asterisk и запускаем его:

systemctl enable asterisk

systemctl start asterisk

Заведение первых номеров

Для первой настройки достаточно завести 2 номера с возможностью подключения по SIP.

Создаем правило обработки вызова (контекст). Открываем следующий файл:

И добавляем в него следующее:

[outcaling]
exten => _XXXX,1,Dial(SIP/$,,m)

* создаем контекст с именем outcaling для четырехзначных номеров (XXXX) с вызовом по SIP по внутреннему номеру.

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

И добавляем в него два внутренних номера (extensions):

[1001]
type=friend
regexten=1001
secret=1234
context=outcaling
host=dynamic
callerid=»1001″
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickupgroup=1
qualify=yes
canreinvite=yes
call-limit=4
nat=no

[1002]
type=friend
regexten=1002
secret=1234
context=outcaling
host=dynamic
callerid=»1002″
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickupgroup=1
qualify=yes
canreinvite=yes
call-limit=4
nat=no

  • [1001], [1002] — имена для обозначения номеров.
  • type — типы проверки номеров. Могут быть peer, user или friend. Peer — вызовы сопоставляются с IP-адресами и номерами портов. User — проверка username. Friend — включает возможности peer и user (проверка username и IP-адреса источника) и лучше всего подходит для телефонов и телефонных программ.
  • regexten — добавочный номер. Если не задан, используется имя.
  • secret — пароль для аутентификации.
  • context — контекст или группа правил.
  • host — IP-адрес или имя клиента. Для автоматической регистрации используем dynamic.
  • callerid — идентификатор пользователя при звонке.
  • disallow — запрещает кодеки (задается перед параметром allow).
  • allow — разрешает кодеки. alaw и ulaw — алгоритмы для кодеков g711.
  • language — код используемого языка.
  • callgroup — задает группу устройства (для возможности перехвата).
  • pickupgroup — задает перечень групп, которые можно перехватывать.
  • qualify — включает или отключает периодическую проверку подключенного клиента.
  • canreinvite — включает или отключает прохождение голосового RTP трафика через Asterisk. Устанавливать, только если клиент поддерживает функцию SIP re-invites.
  • call-limit — ограничение количества одновременных вызовов.
  • nat — устанавливается в yes, если клиент находиться за NAT.

systemctl restart asterisk

Читайте также:  Настройка усм cz 455

Проверка

Все, что происходит в Asterisk можно посмотреть в лог-файле командой:

tail -f /var/log/asterisk/messages

Для теста настроенного сервера можно воспользоваться IP-телефоном или софт-фоном на компьютере или телефоне. Например, а качестве SIP-клиента под Windows можно установить бесплатную программу X-Lite, для Android — Zoiper.

Настраиваем первый клиент для подключения с логином и паролем 1001 / 1234, второй — 1002 / 1234. Пробуем позвонить.

Источник

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

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

Что такое Asterisk

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

В составе с прочим нужным оборудованием предоставляет полный функционал автоматической телефонной станции, поддерживает несколько VoIP-протоколов одновременно.

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

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

Как установить Астериск? С чего начать?

Исходный код астериск можно скачать в форме архива с официального сайта с аналогичным наименованием домена.

Далее требуется обновить и систему, подключить SELinux, для чего устанавливают Midnight Commander, сразу включают синтаксис не обозначенных файлов под скрипты.

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

Теперь нужно подключить репозиторий epel, выполнить установку требуемых пакетов, скачать и поставить pjproject, jansson. Остается выполнить аналогичные действия с архивом Asterisk.

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

Важно максимально настроить звуки на русском языке, выбирать тип сигнала wav или en-wav.

Потом ставят русское звучание хорошего качества core, а для extra доступна только англоязычная версия.

Остается добавить Астериск (не путать с астерикс) в автозагрузку, запустить его и проверить степень функционирования через консоль.

Выполняем настройку

Для исправной работы программы требуется настроить iptables, но существует два варианта решения вопроса.

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

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

Кооректировка Астериска за NAT требует проброса порта 5060, при диапазоне 10000:20000, а по умолчанию стоят порты UPD. Выполняют проброс последних, если иные параметры не будут изменены.

Как подключить абонентов и проверить звонки

Теперь проводят пробные подключения, тестируют работу подключенной АТС. Для пробы подойдет бесплатный софтовый аппарат, например, универсальный 3CXPhone v6 с простым, понятным функционалом.

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

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

Настройку Callrid потенциально можно выполнить кириллицей, но, на практике могут возникать сбои при попытке связаться по заданному номеру, рекомендуется вписывать ФИО или должности сотрудников латинскими буквами.

Далее задают количество вызовов, которые можно принять за один раз, соответственно, это будет один звонок на один аппарат, что прописывается в виде: call-limit=1. Можно выделить несколько линий, ставить их в режим ожидания, что не всегда удобно.

Читайте также:  Настройка делительных головок для фрезерования винтовых канавок

Внутреннюю связь выстраивают на основании одного общего номера, выводя несколько добавочных, состоящих из трех цифр. То есть, потребуется составить план звонков на надбавочные аппараты.

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

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

Модификация FREE PBX

Подключение к графическому интерфейсу Free PBX выполняется через ввод IP-адреса Asterisk, указанный во время установки. В случае утери данных можно воспользоваться подключением монитора с клавиатурой к серверу с целью ввода данных для пользователя Root. Во время подключения высветится IP-адрес.

После успешного подключения Free PBX интернет-браузер предлагает создать административную учетную запись с указанием логина, пароля, адреса электронной почты системного администратора.

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

Настройка SIP, AAiSC, LN, RTPR, SRTP, Codecs

SIP-Settings — это модуль графической визуализации параметров. Через эту функцию настраивают внешний IP-адрес, NAT, кодеки. Находится в разделе Settings.

Опция Allow Anonymous inbound SIP Calls помогает установить ограничения на входящие вызовы, особенно со скрытого номера. Неопределяемый номер рекомендуется всегда ставить в блок, чтобы посредством соединения мошенники не навредили работе компании.

Ввод локальных адресов подсетей осуществляется через Local Networks. Астериск будет доверять прописанным сведениям, осуществляя постоянное соединение.

RTP Ranges помогает выстроить диапазон портов, но рекомендуется оставить данную строку по умолчанию.

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

Остается отметить нужные кодеки через графу Codecs.

Параметры NAT

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

Чтобы выполнить настройку необходимо перейти к модулю Asterisk SIP Settings, найти вкладку Chan SIP Settings, где отмечают положительный ответ в строке NAT, установить статичный адрес у IP Configuration, указать внешний цифровой адрес Override External IP.

Опция Reinvite Behavior остается с отрицательной отметкой. Нужно обязательно указать локальную подсеть в Local Networks, пробросить порт 5060 с диапазоном портов из RTP Ranges на параметре маршрутизации.

Сетевые параметры FreePBX

Сетевые настройки всегда требуют настройки статического IP-адреса, временной зоны, DNS.

Настройка сетевого адреса выполняется посредством входа через данные системного администратора в Network Settings. Далее отмечают в Network Interface определенную сетевую карту (NIC), IP-Assignment должен стоять в положении Static, Gateway являет собой настройку шлюза по умолчанию, остается поставить Start Automatically — запуск во время загрузки сервера.

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

Течение времени внутри сети должно быть актуальным для конкретной местности, для чего выполняется указание часового пояса через пункт Time Zone.

На случай появления сбоев нужно выставить уведомления Астериска активными.

Следующим шагом настраивают опции адреса отправителя (From Address), почтового ящика под уведомления системы (Storage Notifications) и отдельно под оповещения о попытках несанкционированного входа (взлома) — Intrusion Detection Notifications IP.

Система безопасности

Астериск оснащен встроенной системой розыска попыток несанкционированного доступа к данным, размещенной в разделе Intrusion Detection. Следует быть особо бдительным с настройкой, так как не внесенные информационные данные компании о внутренних АТС отправляются системой в бан, не могут нормально функционировать.

Важно отслеживать состояние противопиратской системы, чтобы ее статус всегда был «Running». Если нужно выполнить перезапуск, используют Intrusion Detection. Количество времени в секундах, в течение которого определенный сетевой адрес будет находиться в теневом бане, регламентируется опцией Ban Time.

Следует сразу ограничить число попыток выполнения подключения к системе — Max Retry. Чтобы использовать шанс войти в систему также ограничивают по времени посредством Find Time. E-Mail представляет собой пустое пространство под ввод действующей электронной почты, на которую будут отправляться оповещения. Администратору требуется предварительно составить перечень цифровых адресов, которые будут свободно подключаться и занести их в Whitelist.

Читайте также:  Настройки в эксплорере включить cookies

Внутренние номера, маршрутизация сигнала

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

После успешной настройки трехзначных номеров компании переходят к правке SIP-транка, что размещена внутри папки Connectivity-Trunks.

Далее важно выстроить маршрутизацию звонков, чтобы сервер прорабатывал входящие и исходящие сигналы. Процедура выполняется через Connectivity-Inbound/Outbound Routes.

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

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

Отредактированный диалплан сохраняют, перезапускают Астериск, нажав reload, либо использовав sip или dialplan команды.

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

Голосовое меню

Основная часть Астериска настроена, теперь производят дополнение системы нужными функциями.

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

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

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

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

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

Аудиопочта

Продолжением расширения возможностей выступает возможность настройки голосовой почты внутри системы Астериск.

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

На самом деле данный вариант расширений является не самым широко используемым.

Чтобы записать какой-либо текст необходимо открыть редактирование файла Voicemail.conf. Не требуется трогать параметры, выставленные по умолчанию, достаточно добавить внутрь секции Default адреса голосовой почты на каждого работника по отдельности. То есть, конкретно прописать внутренний номер, пароль от голосового ящика, а также действующий адрес электронной почты.

Чтобы все работало без перебоев на внешние каналы сразу ставят верно настроенный локальный или внешний сервер почты.

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

Достаточно выделить специальный номер, набор которого позволит сотруднику получить доступ к записанным данным — прослушать, удалить, перенастроить.

Очередность звонков

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

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

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

Остается ввести данные о чередовании звонков, поправив позицию exten.

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

Ознакомиться со статистикой поступающих и исходящих звонков возможно через базу статистики Астериска, расположенную в папке /var/log/asterisk/cdr-csv/Master.csv. Для его адаптации к пониманию потребуется помощь программистов, но можно попробовать обойтись собственными силами, скачав и установив бесплатные инструменты.

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

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

Источник

Adblock
detector