Редактирование и добавление параметров на вкладку Advanced Settings в FreePBX
В предыдущей статье мы рассмотрели способы добавления и изменения управляющих кнопок в модулях FreePBX. Теперь рассмотрим, каким образом можно добавлять и редактировать параметры на вкладке Advanced Settings в FreePBX. Введение На странице Advanced Settings присутствует достаточно много настроек: от мини-HTTP сервера, до настроек модуля голосовых сообщений (автоответчика). Все настройки разделены по категориям, как отмечено на […]
В предыдущей статье мы рассмотрели способы добавления и изменения управляющих кнопок в модулях FreePBX. Теперь рассмотрим, каким образом можно добавлять и редактировать параметры на вкладке Advanced Settings в FreePBX.
Введение
На странице Advanced Settings присутствует достаточно много настроек: от мини-HTTP сервера, до настроек модуля голосовых сообщений (автоответчика). Все настройки разделены по категориям, как отмечено на скриншоте ниже.
Все настройки, производимые на данной вкладке записываются в MySQL-таблицу freepbx_settings. Располагается она в базе данных asterisk.
Для того чтобы получить данные из этой таблицы необходимо выполнить последовательно следующие команды:
mysql –u username –ppassword
Данную команду используем для входа в MySQL. Вместо username необходимо подставить имя пользователя MySQL, а вместо password – пароль.
use asterisk
Данной командой выбрали используемую базу данных.
Для того чтобы посмотреть в базе данных значение определённого параметра из Advanced Settings, необходимо узнать его KEYWORD (для облегчения поиска в таблице). Сделать это можно наведя на знак ? определённого параметра. К примеру, для Asterisk AGI Dir, из категории Directory Layout, значением Keyword будет ASTAGIDIR.
Получить значение из базы данных можно, в данном случае, следующей командой:
SELECT * FROM freepbx_settings WHERE keyword='ASTAGIDIR';
Кастомизация настроек
Скрытие неиспользуемых элементов
Периодически может возникать потребность скрывать со страницы Advanced Settings неиспользуемые элементы. На помощь нам в этом придёт параметр hidden всё той же таблицы freepbx_settings. Выставляя его в значение 1 мы скрываем элемент, в значении 0 – отображаем. Так, мы можем скрыть параметр ‘Beep every n seconds’ категории Call Recording, командой:
UPDATE freepbx_settings SET hidden=1 WHERE keyword='CALLREC_BEEP_PERIOD'
или даже скрыть целую категорию, к примеру Proxy Settings:
UPDATE freepbx_settings SET hidden=1 WHERE category='Proxy Settings'
Также в этой таблице имеются, по умолчанию скрытые поля. Среди всех прочих, есть поле ASTVERSION, которое отображает текущую версию Asterisk на вкладке Advanced Settings. Для его отображения следует ввести команду:
UPDATE freepbx_settings SET hidden=0 WHERE keyword='ASTVERSION'
После отображения данное поле попадёт в категорию Internal Use.
Добавление новых элементов меню
Новые элементы в меню Additional Settings добавляются командой INSERT INTO MySQL. Сперва рассмотрим общую структуру команды. В качестве примера добавим переключатель (YES | NO) использования приложения MixMonitor в диалплане Asterisk. Располагаться данный элемент будет в категории Call Recording.
INSERT INTO insert into freepbx_settings(keyword,value,name,description,type,options,defaultval,readonly,hidden,category,module,sortorder) values ('MIXMONITOR_USE',0,'Use MixMonitor','KEYWORD:MIXMONITOR_USE Setting true will use the MixMonitor application instead of Monitor so the concept of \'joining/mixing\' the in/out files now goes away when this is enabled.','bool','',1,0,0,'Call Recording','callrecording',0)
Теперь более детально рассмотрим значения каждого поля.
- keyword – указываем ключевое слово для параметра (не более 50 символов);
- value – текущее значение;
- name – отображаемое имя параметра (не более 80 символов);
- description – текстовое описание поля (будет показываться во всплывающей подсказке, при наведении на «?»);
- type – тип поля (рассмотрим ниже, в разделе «Типы полей»);
- options – вводим значения, через запятую, в случае, если в предыдущем параметре типа поля указано select, cselect,fselect;
- defaultval – указывается значение по умолчанию;
- readonly – если выставлено значение «1», то данное поле недоступно для редактирования;
- hidden – если выставлено значение «1», то данное поле не будет отображаться на странице;
- category – определяем категорию, к которой относится данная настройка;
- module – указываем модуль, к которому относится данная настройка;
- sortorder – поле, необходимое для сортировки внутри категории. Принимает целочисленные значения. Чем ниже значение, тем выше в списке оно будет располагаться. В случае если приоритет у нескольких записей будет одинаков, то их расположение будет определяться по отображаемому имени, сортированному по алфавиту.
Типы полей
Рассмотрим, какие бывают типы полей и как они отображаются в системе.
bool. Булевый тип. Отображается в системе, в виде переключателя YES | NO. Принимает значения 0 или 1. Пример: Display Friendly Name.
text. Текстовый тип. Предполагает ввод текста. Пример: Asterisk Manager Host.
dir. Указывается путь к директории. Наиболее часто используется в категории Directory Layout. Пример: Asterisk AGI Dir.
select. Генерация выпадающего списка. При использовании этого типа, в графе options необходимо перечислить возможные значения через запятую. Пример: Caller Timeout to Request Default.
int. Целочисленный тип. Не позволяет вводить ничего, кроме цифр. Пример: Asterisk Manager Port.
cselect. Выпадающий список, с возможностью кастомного ввода своего варианта выбора. Пример: Attended Transfer Alert Info.
textarea. Многострочное поле ввода текста. Пример: RSS Feeds.
fselect. Форматируемый выпадающий список. Пример: Country Indication Tones.
На этом описание возможностей редактирования и добавления параметров на вкладку Advanced Settings в FreePBX 13 завершено. В следующей статье мы рассмотрим, как получать значения новых заведённых параметров, на примере разграничения использования приложений Monitor и MixMonitor для записи, а также включения/отключения стерео режима (ссылка на статью «Упрощение перевода записей в режим стерео в FreePBX»).
Остались вопросы?
Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.