Интеграция FreePBX с Visual Dialplan: удобство и эффективность

Семинары по управлению

Зачем нужен Web-интерфейс FreePBX?

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

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

Теория и планирование

Для успешной контр-атаки на телефонных рекламщиков необходимо было сделать следующее:

  • Брать трубку и держать звонящего на линии. Входящие звонки бесплатны, исходящие нет. Бюджет любой рекламы конечен.
  • Делать это автоматически, чтобы не отвлекаться и не вникать в происходящее
  • Сохранить возможность дозвониться до тебя для дальних знакомых, которым не очень хочется давать “основной” номер.
  • ОПЦИОНАЛЬНО: сделать бесполезными данные геопозиционирования со стороны оператора. Вообще не понятно как и кому эти данные продаются, как хранятся и обрабатываются

Как это все провернуть? Элементарно, Уатсон! Нам надо поднять свою цифровую АТС! Развернем Asterisk, воткнем в сервер голосовой USB модем. Так как по городу он двигаться не будет, геопозиционирование бесполезно. А для выхода на город придумаем костыль, либо прикупим дешманский FXO шлюз. Ну, за работу, красноглазые!

Trunks, chan_pjsip

  1. General Settings
    • Trunk Name: digium-siptrunk
    • Outbound CallerID: your_digium_number, e.g. 2565551234
    • CID Options: Force Trunk CID
  2. Dialed Number Manipulation Rules (This entire section can be left at defaults)
  3. PJSIP Settings
    • Configuration Mode: Advanced
    • Username: your_digium_username
    • Secret: your_digium_password
    • SIP Server: sip.digiumcloud.net
    • SIP Server Port: 5060
    • Client URI: sip:[email protected]
    • Server URI: sip:sip.digiumcloud.net
    • AOR Contact: sip:sip.digiumcloud.net:5060
    • Contact User: your_digium_username
    • Codecs: Select g722, ulaw, g729

Note 1: G729 should typically only be allowed if you’ve installed Digium’s G.729 Add-on for Asterisk. G.729 is a licensed algorithm that cannot be distributed or used freely without this add-on.G.729 should be used onNote 2: Session timers is not supported by our servers, you will need to disable this feature by setting timer=no  your PJSIP channel driver configuration.  
Once the Trunk has been configured with these settings, click the Submit Changes button at the bottom of the screen and then, when it displays at the top of the screen, the red Apply Changes button.

Пошаговая инструкция по настройке интерфейса FreePBX

Чтобы подробно изучить все модули, придется ознакомиться с официальным руководством по работе с системой. Скачать его можно на официальном сайте Asterisk. Однако ниже приведена простая пошаговая инструкция по настройке FreePBX с нуля, которая позволит использовать базовые опции и приступить к работе:

Нажимаем меню Admin, переходим на вкладку System Admin и активируем FreePBX. Активация необходима для того, чтобы получить доступ к платным модулям и поддержке. Если процедура проведена верно, то при повторном переходе на вкладку System Admin вы увидите меню, представленное на фото.

  • Нажимаем Submit – сохраняем настройки.
  • Переходим на вкладку Time Zone. Выбираем часовой пояс. Нажимаем Submit и сохраняем настройки.
  • На вкладке Storage вводим e-mail, куда будут приходить отчеты о системных ошибках, связанных с жестким диском. Также система предупредит, когда доступное дисковое пространство подойдет к концу.
  • Выбираем пункт меню Settings, вкладка Asterisk SIP Settings и переходим к настройкам этого модуля. На первой вкладке все оставляем по умолчанию, кроме пункта Local Networks. Заполняем его так, как показано на скриншоте. Первое поле – адрес Сети, второе – маска.
  • После этого нажимаем Submit, ждем обновления настроек и нажимает кнопку Apply Config в правом верхнем углу. Далее таким же образом будет необходимо подтверждать все действия.
  • Следующий этап – создание и настройка внутреннего номера. Для этого выбираем меню Applications и переходим к модулю Extension. Когда модуль прогрузится, нажимает Quick Create Extension и заполняем поля, следуя пошаговой инструкции на экране. Вы можете видеть на фото первый шаг.
  • После того как номер создан, переходим к настройке. Для этого нажмите значок с карандашом. Проверяем правильность всех настроек.
  • Регистрируем софтфон. Для этого скачиваем и устанавливаем на компьютер нужное приложение. Мы рассмотрим процесс на примере бесплатного софтфона MicroSIP. Запускаем программу и вводим необходимые параметры, как показано на фото.
  • Нажимаем кнопку «Сохранить». Если все сделано верно, статус в софтфоне должен измениться на онлайн.
  • Теперь переходим к настройке SIP транка – номера, с которого можно звонить на внешние телефоны. Для этого переходим в меню Connectivity и выбираем пункт Trunks.
  • Чтобы создать новый транк, нажимаем Add Trunk. Выбираем SIP Trunk и вводим настройки, которые можно получить у провайдера.
  • В поле Peer Details на вкладке SIP Settings вводим данные, как на скриншоте.
  • Нажимаем Submit и применяем настройки.
  • Настраиваем исходящую маршрутизацию. Для этого переходим в меню Connectivity и выбираем пункт Outbound Routes. Далее нажимаем кнопку Add Outbound Routes и вводим нужные данные.
  • Теперь записываем звуковой файл с приветствием от имени вашей компании. Его будут слышать абоненты, которые позвонят вам. Для записи можно использовать стандартные средства Windows.
  • Далее переходим в меню Admin и выбираем пункт System Recordings. Вводим нужные настройки и загружаем звуковой файл с приветствием.
  • Теперь создаем голосовое меню. Для этого переходим в меню Applications и выбираем пункт IVR. Нажимаем кнопку Add IVR и заполняем нужные данные.
  • Сохраняем и применяем изменения.
  • Создаем входящий маршрут. Для этого переходим в меню Connectivity и выбираем пункт Inbound Routes. Далее нажимаем кнопку Add Inbound Routes и заполняем необходимые поля. Остается сохранить и применить изменения.

Минимальная настройка FreePBX с нуля завершена. Теперь можно совершать исходящие звонки и принимать входящие вызовы. Вами был создан внутренний и зарегистрирован внешний номер. А также настроено приветствие для входящих вызовов.

Преимущества собственной IP-АТС

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

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

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

Например:

  • — все звонки по России 1 рубль — с него будем звонить на мобильные и в регионы
  • — бесплатные звонки на московские и питерские номера (акция) — с него звоним на городскиеКогда акция закончится можно переключиться на другого оператора, например кого-то из линейки BetaMax.
  • — дешевые прямые номера. Бесплатные звонки на Московские городские (с некоторым лимитом).

About Visual Dialplan

Visual Dialplan for Asterisk is modern rapid application development platform for Asterisk dial plan development.
It is perfect tool for building Asterisk voice applications
It comes with drag-and-drop visual modeling environment and large component library, voice grammar editor, handy dial plan samples, powerful validation engine, and single button deployment functionality. It even learns about Asterisk server configuration – Asterisk server configuration reading module connects to the Asterisk server, pools the server configuration data and then pre-populates library components with configuration objects. Visual Dialplan detects remote Asterisk server version and accommodates its behavior accordingly. And there are other cool features like export graphical presentation of the dial plan to image file etc.

Visual Dialplan is the only Asterisk GUI that provides full access to Asterisk dial plan potential.

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

Изменение конфигурации apache2, для корректной работы с русским языком, а так-же меняем пользователя www-data от имени которого стартует apache2 на пользователя asterisk

locale-gen ru_RU 
perl -pi -e 's/#AddDefaultCharset UTF-8/AddDefaultCharset UTF-8/g' /etc/apache2/conf.d/charset 
perl -pi -e 's/export APACHE_RUN_USER=www-data/export APACHE_RUN_USER=asterisk/g' /etc/apache2/envvars 
perl -pi -e 's/export APACHE_RUN_GROUP=www-data/export APACHE_RUN_GROUP=asterisk/g' /etc/apache2/envvars
echo "ServerName localhost" >> /etc/apache2/conf.d/vhosts.conf
rm /var/lock/apache2/ -r
/etc/init.d/apache2 restart

Установка FreePBX

Итак, за основу было решено взять систему на Windows 2008 R2, с виртуальной машиной, на которой установлен сам FreePBX. Машина находится во внутренней сети, за роутером DIR-320, который имеет выделенный статический IP адрес.

бесплатно скачивается с сайта разработчика в виде iso дистрибутива, и без проблем устанавливается на виртуальную машину.  Процесс установки с дистрибутива полностью автоматизирован, система только поинтересуется настройками сети. Но, т.к. на нашем роутере работает DHCP-сервер заморачиватся с настройками особенно не пришлось. Хотя, вручную прописать сетевые настройки при установки операционной системы  никакой сложности так же не представляет.

Установка

Для того, чтобы на вашем Asterisk заработала Конференция (Meetme) вам необходимо: установить Zaptel и Asterisk с опцией —with-zaptel (об этом читайте здесь).

Файл настройки конференций (/etc/asterisk/meetme.conf). Этот файл срабатывает (считывается) всегда при выполнение команды app_meetme(). Для создания комнаты вам нужно использовать: conf=>номер конференции, код, код админа.

audiobuffers=32 ; буферизация звука
; Минимальная величина — 2,; максимальная величина — 32.
;комнаты для конференции
conf=>400

Итак, в файле конфигурации добавили комнату для конференции. Теперь надо направить звонок в комнату, делается это в файле /etc/asterisk/extensions.conf:

exten=>400,1,meetme(400)

include=>confsMeetMe(номер конференции)

Опции

  • ‘1’ — не произносить фразу «you are currently the only person in this conference» (вы являетесь первым участником телеконференции) первому подключившемуся к конференции пользователю.
  • ‘a’ — войти в режиме администратора конференции.
  • ‘A’ — включить мод главного юзера.
  • ‘b’ — выполнить AGI скрипт указанные в ${MEETME_AGI_BACKGROUND} Default: conf-background.agi Это не работает с non-Zap каналы на ту же конференцию.
  • ‘d’ — Добавить конференцию динамично — голосовое меню просит ввести номер конференции (после введения номера следует нажать клавишу), если конференция с введенным номером не создана, то она создается и пользователь подключается к ней. Без использования PIN
  • ‘D’ — Добавить конференцию динамично , c использованием PIN.
  • ‘e’ — выбрать свободную конференцию.
  • ‘E’ — выбрать свободную конференцию без кода.
  • ‘I’ – анонсировать о заходе юзера в конференцию.
  • ‘m’ — включить Музыку заднего фона, если нет обсуждения в конференции.
     
  • ‘M’ — включить запись.
     
  • ‘p’ — выгрузить всех юзеров из конференции с помощью ‘#’.
  • ‘q’ — тихий способ (не проигрывается оповещения (вход /выход юзера)).
     
  • ‘r’ — Запись конференции (использовать с ${MEETME_RECORDINGFILE} формат файла ${MEETME_RECORDINGFORMAT}). По умолчанию meetme-conf-rec-${CONFNO}-${UNIQUEID} и ормат wav.
  • ‘s’ — Дать возможность пользователям входить в меню (юзера или админа) с помощью ‘*’.
  • ‘t’ — разрешить только разговор (не слышно).
  • ‘T’ — использовать детектор разговора.
  • ‘v’ — разрешить использование видео.
  • ‘w’ — ждать пока главный юзер не зайдет в конференцию.
  • ‘x’ — закрыть конференцию если главный юзер вышел.

Пример:

exten=>401,1,meetme(|MD)

При звонке с любого SIP на номер 401, голосовое меню произносит:

«Введите номер конференции и завершите ввод нажатием на кливишу «

«Введите PIN конференции и завершите ввод нажатием на кливишу «

«Введите PIN конференции и завершите ввод нажатием на кливишу » — для подтверждения

Решение возникших проблем

Во-первых после каждого перезапуска необходимо подгружать модули ядра zaptel и ztdummy — можно вручную или добавить в автозагрузку.

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

Если в выведеных строчках есть zaptel и ztdummy, тогда все ОК, иначе выполняем следующее:

Также после каждого перезапуска компьютера, необходимо выполнить еще пару команд, поскольку очень странный глюк (видимо по недосмотру разработчиков) не позволяет создаться конференции, а именно, появление ошибки о невозможности подключения к устройству (в трубку звонящий абонент услышит сообщение, что номер конференции неверен), вызвано тем, что есть специальное устройство /dev/zappseudo, но астериск пытается подключиться к /dev/zap/pseudo, которого конечно же нет. Ну что же, не будем расстраивать астериск и дадим ему то, что он хочет:

или можно так:

http://asteriskpbx.ru/wiki/MeetMe

Группы вызова

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

  1. Вы добавляете в группу определенное количество внутренних номеров.
  2. После этого совершаете звонок на номер 6ХХ.
  3. Звонок проходит на внутренние номера в этой группе по схеме, которую вы выбрали.

Доступно несколько схем распределения вызовов:

  • ringall – звонок идет одновременно на все номера группы;
  • hunt – звонок распределяется в случайном порядке по доступным номерам;
  • memoryhunt – звонок идет последовательно на первый номер, потом на первый и второй и так далее;
  • firstunavailable – звонок идет по первому доступному номеру;
  • firstnotonphone – звонок идет по первому номеру, у которого не снята трубка;
  • *-prim – звонок помечается как не отвеченный, если первый номер занят.

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

Что дальше?

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

В планах пока следующее:

  • Научить бота “правильно” отвечать на голосовые вопросы типа “хотите пройти соц. опрос”, и вообще всячески стараться выйти на живого оператора, прежде чем выдавать голосовое меню.
  • Закончить и описать настройку FXO шлюза, который вывел мое красноглазие на новый уровень бота на городскую телефонную сеть, где рекламщиков пасется намного больше.
  • Научить его отправлять нужный DTMF код, когда звонят с предложениями юридической помощи.

Настройка сети для IP-телефонии

В windows server 2008 сетевой адаптер настраивается таким образом, что бы виртуальная машина FreePBX могла его использовать параллельно с windows. Таким образом получаем отдельный внутренний IP адрес для виртуальной машины.

На этот внутренний адрес пробрасываем порты на роутере:

  • Порт 5060 — для подключений
  • Диапазон портов 10000 — 20000 — для голосовой информации

После установки FreePBX пришлось настроить внутренний firewall CentOS — это легко делается с помощью утилиты

Без этой настройки FreePBX отказывалась принимать подключения даже из внутренней сети.

В панели управления FreePBX, в меню Settings -> Asterisk SIP Settings ставим:

  • NAT -> yes
  • IP Configuration -> Static IP
  • External IP -> ваш внешний IP адрес
  • Local Networks ->  IP адрес машины внутри сети / маска

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

или логом в FreePBX (Reports -> Asterisk Logfiles).

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

Если FreePBX устанавливается на виртуальную машину Huper-V могут возникнуть трудности с синхронизацией времени. А на АТС это особенно актуально, т.к. в зависимости от времени звонки могут распределятся по разным направлениям. Подробнее о решении этой проблемы .

Inbound Routes

  • Description: calls-from-your_digium_number
  • DID Number: your_digium_number, e.g. 2565551234
  • Options (This entire section can be left at defaults)
  • Privacy (This entire section can be left at defaults)
  • Call Recording (This entire section can be left at defaults)
  • CID Lookup Source (This entire section can be left at defaults)
  • Fax Detect (This entire section can be left at defaults)
  • Language (This entire section can be left at defaults)
  • Superfecta CID Lookup (This entire section can be left at defaults)
  • Set Destination: Choose an IVR or Extension or any other destination to which you want to send Inbound Calls on this Digium SIP Trunk

Транки

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

  1. Trunk name – наименование транка.
  2. Outbound CallerID – CallerID для исходящих звонков.
  3. CID Options – CallerID для входящих звонков.
  4. Maximum Channels – установление максимального количества каналов связи.
  5. Asterisk Trunk Dial Options – дополнительные настройки вызова.
  6. Continue if Busy – возможность позвонить через другой транк в случае ошибки.
  7. Disable Trunk – отключение транка.
  8. Dialed Number Manipulation Rules – правила, по которым формируется номер при исходящем вызове.
  9. Outgoing Settings – настройки исходящих вызовов.
  10. Incoming Settings – настройки входящих вызовов.
  11. PEER Details and USER Details – указание настроек, полученных от провайдера.
  12. Registration – задание строки регистрации для входящей связи.

Trunks, chan_sip

If you are not using chan_pjsip, you may instead create a FreePBX Trunk using chan_sip.On the Connectivity -> Trunks page, select Add SIP (chan_sip) Trunk
To configure a Digium SIP Trunking account, make modifications to the following options:

  1. General Settings
    • Trunk Name: digium-siptrunk
    • Outbound CallerID: your_digium_number, e.g. 2565551234
    • CID Options: Force Trunk CID
    • Dialed Number Manipulation Rules (This entire section can be left at defaults)
  2. Outgoing Settings
    • Trunk Name: digium-siptrunk
    • PEER Details:

type=peerdirectmedia=nohost=sip.digiumcloud.netdefaultuser=your_digium_usernamefromuser=your_digium_usernamesecret=your_digium_passwordinsecure=invitetrustrpid=yessendrpid=paidisallow=allallow=g722allow=ulawallow=g729session-timers=refuseG729 should typically only be allowed if you’ve installed Digium’s G.729 Add-on for Asterisk. G.729 is a licensed algorithm that cannot be distributed or used freely without this add-on.G.729 should be used on

  1. Incoming Settings (USER Details: blank out this section)
  2. Registration

Register String: your_digum_username:[email protected]:5060/your_digium_username 
Once the Trunk has been configured with these settings, click the Submit Changes button at the bottom of the screen and then, when it displays at the top of the screen, the red Apply Changes button.

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

Вот пошаговая инструкция:

1. Скачайте дистрибутив FreePBX 13 Distro. Существует несколько версий продукта: для разной разрядности операционной системы. Выбор 32 или 64-битной версии зависит от вашего программного обеспечения. Новичкам лучше не экспериментировать и обойти beta-версии Asterisk PBX стороной.

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

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

4. Выберите версию сервиса Asterisk PBX и режим, в котором будут работать жесткие диски. Доступны следующие варианты:

  • Full install – автоматически удалит всю информацию с жестких дисков и создаст единый RAID-массив. Такой режим повышает надежность работы системы и уменьшает вероятность отказов.
  • Full install NO RAID – установка системы без автоматического создания RAID.
  • Full install Advanced – установит систему и позволит выполнить ручное разделение диска.
  • HA Install – для дисков емкостью более 250 ГБ.

5. Выбрав нужный режим, переходим к настройкам Сети. Если вы используете DHCP-сервер (динамические IP-адреса), а в большинстве случаев это именно так, то просто нажмите ОК. При статическом IP укажите настройки для вашей Сети.

После этого остается выбрать часовой пояс и установить пароль для пользователя с особыми правами и полным доступом – root.
Ждем, пока система установит и обновит файлы Asterisk FreePBX. Перезагружаем компьютер, переходим в консольный режим и авторизуемся как пользователь с правами root.
Также в интерфейс можно зайти с другого компьютера, используя любой браузер. Для этого просто введите IP-адрес машины, где произведена установка FreePBX.
Тут придется еще раз задать логин и пароль

Важно помнить, что в целях безопасности они должны отличаться от пароля пользователя с правами root.

Установка FreePBX завершена. Теперь можно перейти непосредственно к настройке телефонии.

Твики и допиливания

Небольшой твик для стабильной работы FOP панели, перезапускает её раз в 10 минут

chmod 770 -R /var/www/admin/modules/fw_fop
echo "*/10 * * * * root amportal restart_fop 2>/dev/null">>/etc/crontab

Исправляем косяки с путями хранения звуков

cp -r /var/lib/asterisk/sounds/ /usr/share/asterisk/
rm -r /var/lib/asterisk/sounds/
ln -s /usr/share/asterisk/sounds /var/lib/asterisk/
chown -R asterisk:asterisk /var/lib/asterisk/sounds/
chown -R asterisk:asterisk /var/lib/asterisk/sounds/custom/
echo "" >>/etc/modprobe.d/dahdi.conf
chown asterisk:asterisk /etc/modprobe.d/dahdi.conf

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

nano /etc/php5/apache2/php.ini

Ищем параметры и устанавливаем свои значения, например 32 мбайта

post_max_size = 32M
upload_max_filesize = 32M

Перезагрузим WEB сервер.

/etc/init.d/apache2 restart

Железо

Для реализации задумки из хлама было извлечено несколько старых 3g/4g модемов, которые валялись без дела с давних времен.

Один из них отлично поддерживал голосовую связь и поддерживался chan_dongle.

Megafon E173 (Ну, или Huawei E173, если быть точным)

Когда уже вариант с сотовой сетью заработал, и стало ясно что затея осуществима, я заказал дешевый FXO шлюз с aliexpress. Стоит удовольствие 27$ с доставкой. Эта штука быстро и решительно переведет домашнюю телефонную “лапшу” в VoIP. Есть еще более дешевый вариант с dial-up модемом, некоторые из них умели в голосовую связь и поддерживались плагином DAHDI, но я их давно утилизировал за ненадобностью на ближайшую свалку, а заказывать с aliexpress за 10 баксов dial-up модем и гадать взлетит/не взлетит мне не хотелось. Лучше уж заплатить 27$ и получить что-то гарантировано рабочее.

Но не все оказалось так просто и быстро. Китайцы заболели дружно коронавирусом, посылку не отправляли более месяца, потому заказ пришлось отменить и пошариться на авито. Там нашелся очень и очень добрый мужик Иван, который просто так (да, за бесплатно!) отдал мне несколько FXO шлюзов, упомянув, что что-то не то у них с питанием и они иногда глючат. Судя по симптомам – что-то с питанием. Фигня, подумал я, перепаяем. Но об этом позже.

Загрузка и создание базы

svn co http://svn.freepbx.org/freepbx/branches/$fpbxver /usr/src/freepbx
cd /usr/src/freepbx
mysqladmin create asterisk -p${passwd}
mysqladmin create asteriskcdrdb -p${passwd}
mysql asterisk < SQL/newinstall.sql -p${passwd}
mysql asteriskcdrdb < SQL/cdr_mysql_table.sql -p${passwd}
echo "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${passwd}';" > /tmp/tmpfbpx
echo "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${passwd}';" >> /tmp/tmpfbpx
echo "flush privileges;" >> /tmp/tmpfbpx
echo "quit"  >> /tmp/tmpfbpx
mysql -p${passwd} < /tmp/tmpfbpx

Внутренние номера

Этот раздел позволяет создать внутренние номера FreePBX. Сначала выберите технологию для подключения. Оптимальный вариант – использовать протокол SIP. Для новичков при создании внутреннего номера достаточно задать 3 настройки:

  • User Extension – сам номер. Запрещается указывать следующие: 600-699 (зарезервирован для групп вызовов) и 70-79 (зарезервирован для парковки вызовов).
  • Display Name – имя, под которым номер отображается в списке номеров. Это имя на экране телефона увидит абонент, принимающий звонок.
  • Secret – пароль FreePBX для внутреннего номера (будет сгенерирован автоматически).

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

Оцените статью