Что такое FreePBX? Это один из вариантов управления двигателем современной IP телефонии — Asterisk. Как бы не любили интеграторы эту «надстройку», безусловно именно она является лидером инсталляций IP АТС.
Да, местами дырявый, не всегда понятный, с кривой русификацией, но бесплатный. FreePBX позволяет поднять телефонный сервер в организации практически любому эникею за считанные часы, и уже в дефолтной конфигурации предоставляет возможности, которые подойдут практически всем компаниям. Другое дело, если вам вдруг не хватает функционала веб-интерфейса, и вы решаете добавить какую-то уникальную фишку…
Костыли, невозможность нормального дебага — здесь FreePBX предстанет во всей своей красе.
Тем не менее, еще в марте у вас была возможность потестировать Alpha версию, бету в июне, а сегодня я хотел бы бегло осмотреть финальный и стабильный FreePBX 13.
Компания shmooze еще на протяжении 2012 — 2013 года уверенно двигала свой продукт к коммерциализации. Бесплатные модули вдруг становились платными (end point manager, например), в свой дистрибутив добавлялось все больше коммерческих модулей, и после покупки компанией Sangoma подход не изменился, а стал еще жестче.
А что гласит логунг на главной странице проекта? «Free means Freedom» Не бесплатно, а свободно ;)
В какой-то момент руководство решило делиться FreePBX только в рамках своего FreePBX Distro, но в последствии умерили свой пыл. Сегодня вы можете собрать Linux OC + Asterisk + FreePBX самостоятельно, либо установить готовый ISO образ системы непосредственно на сервер.
Итак, что включено в последний на данный момент, доступный образ 10.13.66-6:
FreePBX 13
SHMZ OS 6.6 (CentOS)
Asterisk 11 или 13 (другие версии не поддерживаются)
DAHDI 2.10
Система устанавливается как обычно, в несколько кликов. Не забудьте выбрать --no raid, если у вас установлено несколько жестких дисков. Мы например периодически практикуем установку системы на SSD 60 Гб, а записи разговоров на соседний и обьемный HDD.
По окончании установки пакетов при подключении к сети FreePBX автоматически обновит свои пакеты на последние версии из репозиториев Sangoma.
После установки, адрес присваивается автоматически (если в сети поднят DHCP сервер, разумеется). Смотрим его в консоли или лизах DHCP.
Попадаем на сервер, устанавливаем логин / пароль администратора и видим новый, резиновый интерфейс системы.
И вот первое новшество, которое нас встречает — это закрытие доступа в раздел Admin — System Admin до регистрации системы на портале Sangoma. Ни сменить IP адрес, ни просмотреть список попавших в Fail2Ban, сменить TimeZone. DNS и прочее.
Впрочем, регистрация достаточно короткая, и вы можете заранее получить логин и пароль тут — portal.schmoozecom.com
Как бонус, вы можете активировать платные модули Extension Routes и Sysadmin Pro бесплатно.
Русификация
Интерфейса системы: Settings — Advanced settings — Show language — YES
Голосовых фраз в АТС, команды выпоонять в консоли:
mkdir -p /var/lib/asterisk/sounds/ru/
затем
wget -q --no-check-certificate github.com/pbxware/asterisk-sounds/tarball/master -O- \ | tar xzv --strip-components 1 -C /var/lib/asterisk/sounds/ru/
загрузятся основные фразы, и затем
wget -q --no-check-certificate github.com/pbxware/asterisk-sounds-additional/tarball/master -O- \ | tar xzv --strip-components 1 -C /var/lib/asterisk/sounds/ru/
в этот момент загрузится расширенный пакет фраз, всего их более 700, что покрывает практически все действия с астериском.
В интерфейсе FreePBX переходим в Admin — Sound Languages — Custom languages. Нажимаем кнопку Add.
Language Code = ru
Description = Русский
Submit.
Теперь, в Global language будет выбран по умолчанию Русский. (по крайней мере так у меня произошло на тестовой машине, впрочем вы можете выбрать русский и кликнуть Submit дополнительно)
Интерфейс FreePBX 13
Веб интерфейс системы был немного переработан, нельзя сказать что это революционное изменение, скорее действительно полезные перемены.
Например, экран пользователей разбит на вкладки (по типу подключения), а также добавлена кнопка быстрого добавления юзеров.
И да теперь вы можете настраивать офисную АТС с помощью планшета или смартфона, меню и ширина автоматически подстроятся под ваш экран.
Команды fwconsole
В Free PBX 13 добавлена возможность управление АТС через командную строку Linux с помощью fwconsole
Amportal будет «убит» окончательно во FreePBX 14
Список команд вы можете увидеть ниже (либо вбить на сервере fwconsole list)
Список команд fwconsole
bi This command is used to import extensions and dids
bulkimport This command is used to import extensions and dids
chown Change ownership of files
context Shows the specified context from the dialplan
cx Shows the specified context from the dialplan
dbug Stream files for debugging
debug Stream files for debugging
externalip Get External IP
extip Get External IP
help Displays help for a command
list Lists commands
m Run a mysql Query:
ma Module Administration
moduleadmin Module Administration
motd Prints MOTD
mysql Run a mysql Query:
r Reload Configs
reload Reload Configs
restart Start Asterisk and run other needed FreePBX commands
session Manage Session
set View and update settings
setting View and update settings
sounds Sound Language Prompts
start Start Asterisk and run other needed FreePBX commands
stop Stop Asterisk and run other needed FreePBX commands
sysadmin Sysadmin functions
trunks Enable and disable trunks from the command line
unlock Unlock Session
userman User Manager
util Common utilities
bulkimport This command is used to import extensions and dids
chown Change ownership of files
context Shows the specified context from the dialplan
cx Shows the specified context from the dialplan
dbug Stream files for debugging
debug Stream files for debugging
externalip Get External IP
extip Get External IP
help Displays help for a command
list Lists commands
m Run a mysql Query:
ma Module Administration
moduleadmin Module Administration
motd Prints MOTD
mysql Run a mysql Query:
r Reload Configs
reload Reload Configs
restart Start Asterisk and run other needed FreePBX commands
session Manage Session
set View and update settings
setting View and update settings
sounds Sound Language Prompts
start Start Asterisk and run other needed FreePBX commands
stop Stop Asterisk and run other needed FreePBX commands
sysadmin Sysadmin functions
trunks Enable and disable trunks from the command line
unlock Unlock Session
userman User Manager
util Common utilities
Микс настроек через веб-интерфейс и консольных Linux команд. Впрочем, может быть полезно, если вы забыли пароль для веб-администрирования или желаете перечитать конфиги.
Система обновления платных модулей
Очередная ложка дегтя для пользователей FreePBX.
Большинство продаваемых модулей системы были доступны по схеме: покупка лицензии на 25 лет и 1 год бесплатного апдейта версий, то есть заплаток и обновлений функционала. Вы пользуетесь год, а потом доплачиваете разработчикам какую-то сумму, поддерживая дальнейшее развитие модуля. Либо не платите и работаете с той версией, что у вас уже есть.
Вроде все понятно и красиво, если бы не одно но, в FreePBX не было механизма продления, и поэтому они все это время предоставляли апдейты бесплатно. Теперь есть, и вы можете продлить модули непосредственно из GUI.
Firewall
Новый модуль Sangoma Smart Firewall, уже включен в состав нового FreePBX. Чтобы его активировать — следует перейти в Connectivity — Firewall и нажать Enable. Разумеется, гуру iptables могут творить чудеса, но разве это целевая аудитория FreePBX?
Вы можете пройти простейший автоконфигуратор, и настроить дефолтную защиту, но можете и копнуть чуть поглубже и настроить firewall более корректно.
Четыре подменю: About. Services, Status, Zones.
About — показывает информацию об открытых портах, статусе запуска
Services — позволяет открыть / закрыть службу для ранее созданной сетевой зоны
Status — список попавших в черный список, а также список зарегистрированных SIP устройств.
Zone — сетевые зоны, которым можно доверять. Указываются с маской.
Заключение
FreePBX 13 — продукт достаточно свежий, не удивлюсь, если ближайшие полгода мы увидим большое количество допилов и доработок.
Буквально сегодня я столкнулся с проблемой неработающей платы Digium и понадобилось обновление прошивки.
решение, для тех кому интересно
В консоли выдавалось следующее:
wcaxx 0000:03:00.0: Existing firmware file dahdi-fw-a4b.bin is version b0019, but we require d001e.
Как нужно «ремонтировать»?
отсюда тянуть прошивку которая ей нужна downloads.digium.com/pub/telephony/firmware/releases\
распаковать допустим в /tmp, распакуется файл 1 файл dahdi-fw-a4b.bin
потом идем в /lib/firmware делаем старому файлу mv dahdi-fw-a4b.bin dahdi-fw-a4b.bin_back
потом Ранее скачанный файл В моем случае downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-a4b-d001e.tar.gz
копируем из /tmp в /lib/firmware сервак после этого в ребут
как запустится смотреть в dmesg, чтобы все было ок.
[root@kh ~]# dmesg | grep -i dahdi
dahdi: Version: 2.10.2
dahdi: Telephony Interface Registered on major 196
wcaxx 0000:03:00.0: firmware: requesting dahdi-fw-a4b.bin
wcaxx 0000:03:00.0: Found dahdi-fw-a4b.bin (version: d001e) Preparing for flash
wcaxx 0000:03:00.0: Uploading dahdi-fw-a4b.bin. This can take up to 30 seconds.
dahdi_transcode: Loaded.
INFO-xpp: FEATURE: with sync_tick() from DAHDI
dahdi_devices pci:0000:03:00.0: local span 1 is already assigned span 1
wcaxx 0000:03:00.0: Existing firmware file dahdi-fw-a4b.bin is version b0019, but we require d001e.
Как нужно «ремонтировать»?
отсюда тянуть прошивку которая ей нужна downloads.digium.com/pub/telephony/firmware/releases\
распаковать допустим в /tmp, распакуется файл 1 файл dahdi-fw-a4b.bin
потом идем в /lib/firmware делаем старому файлу mv dahdi-fw-a4b.bin dahdi-fw-a4b.bin_back
потом Ранее скачанный файл В моем случае downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-a4b-d001e.tar.gz
копируем из /tmp в /lib/firmware сервак после этого в ребут
как запустится смотреть в dmesg, чтобы все было ок.
[root@kh ~]# dmesg | grep -i dahdi
dahdi: Version: 2.10.2
dahdi: Telephony Interface Registered on major 196
wcaxx 0000:03:00.0: firmware: requesting dahdi-fw-a4b.bin
wcaxx 0000:03:00.0: Found dahdi-fw-a4b.bin (version: d001e) Preparing for flash
wcaxx 0000:03:00.0: Uploading dahdi-fw-a4b.bin. This can take up to 30 seconds.
dahdi_transcode: Loaded.
INFO-xpp: FEATURE: with sync_tick() from DAHDI
dahdi_devices pci:0000:03:00.0: local span 1 is already assigned span 1
FreePBX 12 + Asterisk 11 +chansip. Что может быть лучше?
Комментарии (7)
solalex
23.11.2015 20:30с каждой версией закручивают гайки все сильнее.
Кстати после установки любого дистрибутива freepbx рекомендую закрыть доступ к админке хотя бы через .htaccess
а также добавить пару правил в фаерволл:
iptables -I INPUT -j DROP -p udp --dport 5060 -m string --string "friendly-scanner" --algo bm
iptables -I INPUT -j DROP -p udp --dport 5060 -m string --string "sipcli" --algo bm
varnav
24.11.2015 22:21Можно настроить fail2ban (http://habrahabr.ru/post/194356/)
А лучше вообще не держать порт 5060 открытым.
gadzhi15
24.11.2015 21:06Как то нужно было поднять сервер АТС для интеграции с iiko ERP. Пробовал сначала FreePBX. Никак не получалось настроить исходящие. В итоге пришлось снести и поставить чистый Asterisk.
kabachok
А мигрировать с одной версии на другую можно?
grigly
Да, конечно. Есть встроенный механизм.