Меню

fusionpbx настройка с нуля

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

Настройка программных телефонов

Корпоративные сети

Популярное и похожее

FreePBX 13 настройка c нуля

Что такое CEL Channel Event Logging на Asterisk?

FreePBX 13 настройка c нуля

CDR в FreePBX на внешний сервер

Установка FusionPBX на CentOS 7

По запросам наших читателей мы начинаем цикл статей про управление и настройку IP-АТС FusionPBX. Данная АТС может быть использована как обычная АТС, распределенная АТС или сервер-коллцентра, сервер голосовой почты и так далее. Базируется данная АТС на проекте FreeSWITCH. По сути, FusionPBX является очень кастомизируемым и гибким веб-интерфейсом — в точности, как и FreePBX для Asterisk.

FusionPBX может быть установлена на множестве операционных систем, включая:

Вообще, данная платформа оптимизирована для работы на Debian 8, но, для нас более привычным является CentOS — на него и будем ставить.

Процесс установки

В первую очередь, нам понадобится «чистый» CentOS 7 Minimal или Netinstall — у нас есть подробная статья про его первоначальную установку.

Вероятно, если вы используете Minimal версию, то вам также придется установить wget — используйте команду yum install wget

Далее процесс установки крайне прост — нужно просто выполнить пару команд.

Первая — скачиваем установочный скрипт:

Затем, переходим в директорию и запускаем скрипт:

Далее ждем завершения процесса установки. Данный скрипт установит FusionPBX, FreeSWITCH, IPTables, Fail2ban, NGINX, PHP FPM и PostgreSQL. Процесс длится около 10 минут на типичной тестовой виртуалке — 768 Мб оперативной памяти, 1 ядро с частотой 3 ГГц — ничего особенного. Опять же, скорость установки сильно зависит от вашего интернет соединения.

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

Однако, при моей попытке зайти на данный адрес через веб-браузер я увидел ошибку 403 — Forbidden от nginx. Как оказалось, данная проблема решается с помощью следующих команд — некая ошибка выдачи прав:

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

Далее, мы получаем доступ к самому веб-интерфейсу — постоянным пользователям FreePBX данный GUI будет выглядеть очень непривычно.

Заключение

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

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

😪 Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

😍 Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

источник

FusionPBX — FreeSWITCH GUI

FusionPBX основанный на открытом коде (open source) FreeSWITCH GUI .
FusionPBX предоставляет возможность создания высокопроизводительных систем операторского класса. Операторский коммутатор, центр обработки вызовов (call center), Факс сервер, сервер голосовой почты, конференц-сервер, сервер голосовых приложений. Использование FusionPBX облегчит задачу по настройке FreeSWITCH, как начинающему, так и опытному пользователю. FreeSWITCH высокопроизводительная, многопоточная, телекоммуникационная платформа. Веб интерфейс FusionPBX распространяется по лицензии MPL 1.1.

Читайте также:  настройка wifi как локальная сеть

Настройка FusionPBX

Рассмотрим настройки основных модулей. Создание extensions (внутренних номеров), gateways (транков), исходящей и входящей маршрутизации.

Добавление внутренних номеров — Extensions

Введите номер Extension и нажмите Save. Пароль будет сгенерирован автоматически.

Задайте Context. По умолчанию default.

Задайте политику записи разговоров: Все ( all ), только местные( local ), только входящие( inbound ), только исходящие ( outbound ).

Состояние ектеншена, по умолчанию — Enabled

источник

FusionPBX, или снова-здорово, FreeSWITCH

В ту же реку

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

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

Был проведен дебаг, выявлен косяк, и все заработало. Однако, осталось ощущение костыля. Описывать его не стану, поскольку пребываю в уверенности, что примененное решение не верное, хоть и привело к искомому результату. Кроме того, выяснились нюансы: при исходящих вызовах изнутри наружу определялся только тот номер, что был указан в настройке SIP-транка в поле default_provider_username:

а не тот, что указан в конфигурации абонентского номера:

Техподдержка провайдера сообщила, что все вызовы, прилетающие к ним от нас, в поле From имеют именно номер 3435555555, то есть косяк на моей стороне. Плюс ко всему, я вдруг совершенно завис с задачей переадресации вызовов. А вишенкой на торте стал вынос мозга аппаратами Ericsson Dialog 4422, отказавшимися выполнять трансфер вызова, и аппаратами Cisco 7945g, решившими, что их предел длительности соединения составляет 90-100 секунд при отсутствии малейшего намека на подобную настройку в конфиге. В то же время аппараты Yealink T21 E2 работали полностью без нареканий.

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

FusionPBX

Не смотря на отсутствие у меня симпатий к графическим интерфейсам там, где правит бал консоль и текстовые конфиги, я все же стал смотреть в сторону решения с веб-мордой, именуемого FusionPBX. Первой причиной такой измены собственным принципам стало желание видеть весь объем настроек по каждому функциональному элементу, собранных в одном месте в виде работоспособной «из коробки» конфигурации. Именно такую возможность дает графический интерфейс. Дополнительным бонусом продуманного графического интерфейса является наглядное представление взаимосвязей между модулями и функциями. Для новичка (лично для меня) меньший уровень абстракции с конкретным способом реализации способствует более быстрому обучению и приходу к понимаю того, как эта штука работает. Второй причиной стал www.pbxforums.com, на который я попадал по ссылке через одну при поиске информации по FreeSWITCH, и попадал по иронии судьбы именно на скриншоты страниц настроек FusionPBX.

Читайте также:  kenwood tk 2000 настройка

FusionPBX это FreeSWITCH с веб-мордой и с настройками, хранящимися в базе данных. Скрипт автоматической установки выполняет установку и FreeSWITCH’а, и Nginx’а, и PostgreSQL, и, собственно, веб-интерфейса самого FusionPBX. Останавливаться на этом моменте не стану, все без запинок ставится по инструкции из документации. Ставил все на рекомендуемую разработчиками 64-битную Debian 8.

Импорт абонентских номеров

Здесь не будет рассматриваться процесс настройки абонентских номеров и входящих маршрутов. Этот процесс описан в официальной документации.

Вместо него будет описана процедура импорта всего скопом. Описаний, мануалов и советов по выполнению данной процедуры мною найдено не было.

По окончании установки включаем автоматический вход в Adminer (аналог phpMyAdmin):
Advanced→Default settings:

После изменения значений на текущей странице нажимаем Save, на странице настроек по умолчанию Reload.

Переходим в Adminer: Advanced→Adminer.

Интерес для нас представляют следующие таблицы:

v_extensions — абонентские номера.
v_destinations — маршруты для входящих вызовов на городские номера, закрепленные за внутренними абонентскими номерами.
v_dialplans — справочник диалпланов.
v_dialplan_details — настройки диалпланов входящих вызовов.
v_voicemails — настройки голосовой почты.

Формулировка задачи была следующей: выгрузить из AD ФИО сотрудников и их номера внутренних телефонов, сохранить выгрузку в CSV-файл и импортировать его в БД в таблицу абонентских номеров и настроек голосовой почты (голосовая почта должна быть отключена).
Используя справочник соответствия городских номеров внутренним, создать CSV-файлы для импорта в таблицы с маршрутами и диалпланами входящих вызовов.

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

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

  • Присвойте переменной $nums значения, соответствующие вашим номерам.
  • Перед использованием скриптов необходимо везде заменить UUID домена на значение, присвоенное домену при установке (поле domain_uuid).
  • Так же необходимо заменить IP-адрес домена (172.18.253.1) на ваш.
  • Не забудьте откорректировать значение ключа -SearchBase, указав свою область выборки вместо «OU=Ekaterinburg,DC=dc,DC=domain,DC=local»
  • UUID приложения Voicemail (поле app_uuid) так же заменить на UUID, присвоенный при установке.
  • Значения UUID’ов можно посмотреть, например, в таблице v_dialplans.
  • Всем абонентским номерам будет присвоен пароль для регистрации «12345», пароль на голосовую почту и прочие сервисы — совпадающий с абонентским номером.
  • Скрипт дописывает файлы построчно! Поэтому не забывайте удалять файлы перед каждым запуском скрипта или очищать их содержимое!

.

Проверка связи на рандомно выбранные номера показала работоспособность импорта.

Gateway: 172.16.253.3
Username: 3435555555
Password: not-used
From User: 3435555555
From Domain: 172.16.253.3
Proxy: 172.16.253.3
Register: False
Caller ID In From: True

В документации по FusionPBX недвусмысленно указывается, что при выполнении настроек поля, выделенные жирным текстом, обязательны для заполнения.
Однако я, по непонятной мне причине, жирность поля Proxy не углядел и значение ему не выставил. В итоге получил работающие входящие внешние вызовы, но не работающие исходящие наружу. Команда sofia status gateway ffffffff-ffff-ffff-ffff-ffffffffffff не показывала аномалий настройки и даже показывала назначенное значение поля Proxy, соответствующее значению Gateway. Точно такой же вывод команды при точно таких же настройках демонстрировал «голый» FreeSWITCH в предыдущей инсталляции, и при этом совершенно беспроблемно позволял совершать исходящие вызовы наружу.
FusionPBX же заработал только после явного указания значения Proxy.
* ffffffff-ffff-ffff-ffff-ffffffffffff — UUID шлюза

Выполнил настройки в соответствии со шпаргалкой и тут же получил сломавшиеся внутренние вызовы. Логи показывали, что аппараты почему-то оказались в контексте external, соответственно, обрабатывались «не своим» диалпаном, от чего вызов завершался ошибкой ROUTE_NOT_FOUND.

Читайте также:  автоматическая настройка на грунт

ACL-списки только для сетей и доменов провайдеров.
Ваших собственных сетей и доменов в них быть не должно.
Список domains должен быть по умолчанию deny.
Сами правила должны быть разрешающими и в них должен быть прописан IP-адрес шлюза провайдера с маской /32, поле domain заполнять не нужно.

По окончании жмем Save, далее чтобы новые ACL вошли в силу: Status→Sip Status и жмем Reload ACL.

Advanced→Default Settings
Здесь мы укажем выданный нам провайдером внешний IP-адрес, который мы использовали при настройке 1:1 NAT в шпаргалке, укажем телефонный код региона, язык и голос для голосовых ответов, тип гудка.

default_areacode: 343
default_language: ru
default_dialect: RU
default_voice: elena
ringback: $$
transfer_ringback: $$

Чтобы корректно определялись прямые городские номера, присвоенные внутренним в настройках через поля Outbound Caller ID Name и Outbound Caller ID Number, необходимо выполнение трех условий:

  1. Отсутствие ACL-авторизации внутренних абонентов
  2. Включенная Digest-авторизация в настройках SIP-профиля:
    internal_auth_calls: true
  3. Наличие в настройках шлюза:
    Caller ID In From: True

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

  • Внутригород: ^(\d<7>)$ (набор прямого городского 7-значного номера без всяких префиксов в виде нулей, девяток и прочего).
  • Внутригород с кодом города: ^(8343\d<7>)$ (набор городского 7-значного номера с префиксом 8343).
  • Сотовые: ^(89\d<9>)$ (звонок на сотовый с префиксом 8, что является стандартом де-факто)
  • Межгород: ^(8\d<10>)$ (междугородний звонок, так же привычные: 8, код населенного пункта, номер абонента)
  • Международный: ^(810\d+)$ (стандартный же префикс 810, далее код страны, код территории, номер абонента).

Для всех маршрутов было отредактированы два тега action типа set: effective_caller_id_name=$ $ effective_caller_id_number=$ $ таким образом, чтобы передаваемый оператору номер вызывающего абонента включал в себя код города.

Лечим сброс вызова через 90-100 секунд на аппаратах Cisco

Как было отмечено выше, сюрпризом стал обрыв установленного соединения через 90-100 секунд на всех аппаратах Cisco 7945g. Подкручивание всех таймеров с более или менее релевантным названием переменной в конфиге аппаратов результата не дало. Курение логов в консоли FreeSWITCH выявило Session Expire.

Гуглинг, кроме матов в сторону нежелания аппаратов Cisco нормально работать хоть с кем-то, кроме Call Manager’а, выявил, что такое поведение вполне может быть вылечено отключением переменной aggressive-nat-detection .

Русификация голосового отклика

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

Каждый из архивов содержит готовую структуру каталогов. Каждый из архивов распаковываем в /usr/share/freeswitch/sound/

источник

Добавить комментарий

Adblock
detector