По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Салют! Изо дня в день администраторы IP – АТС Asterisk выполняют рутинные действия связанные с обслуживанием: добавить внутренний номер, настроить новый транк и соответствующие маршруты, посмотреть статус пиров и другие итерации. Для облегчения этих действия существует графическая оболочка FreePBX 13. Сегодня хотим рассказать про очень полезную «кастомизацию» этой самой графической оболочки – настройку вкладок и пунктов меню так, как это будет удобно именно Вам :)
Как это работает?
Кастомизацию интерфейса FreePBX можно осуществлять с помощью файла freepbx_menu.conf, который должен быть расположен в директории /etc/asterisk. При загрузке интерфейса, FreePBX проверяет существование этого файла, парсит настройки и отображает их администратору.
Pre-work
Перед началом работы, давайте проверим наличие файла кастомизации в директории /etc/asterisk. Для этого, выполните последовательность следующих команд:
[root@asterisk ~]# cd /etc/asterisk/
[root@asterisk asterisk]# ls -l | grep freepbx_menu.conf
В случае, если файл находится в указанной директории, он будет отображен в выводе последней команды. В противном случае, просто создадим его вручную командой:
[root@asterisk ~]# touch /etc/asterisk/freepbx_menu.conf
Теперь открываем интерфейс FreePBX, и переходим во вкладку Settings → Advanced Settings. Находим параметр Use freepbx_menu.conf Configuration и выставляем его в значение Yes.
Важно! Убедитесь, что в данном пункте меню, параметры Display Readonly Settings
и Override Readonly Settings выставлены в значение Yes.
Процесс настройки
Допустим, мы хотим создать дополнительную вкладку под названием «Основное», куда вынесем пункты настройки внутренних номеров, транков, входящих и исходящих маршрутов и статус Asterisk. Переходим к конфигурации файла. Открываем его для редактирования:
[root@asterisk ~]# vim /etc/asterisk/freepbx_menu.conf
Для редактирования нажимаем «O» на клавиатуре и добавляем следующую конфигурацию:
[extensions]
category=Основные
name=Внутренние номера
[trunks]
category=Основные
name=Линии к провайдеру
[did]
category=Основные
name=Входящие маршруты
[routing]
category=Основные
name=Исходящие маршруты
[asteriskinfo]
category=Основные
name=Статус Asterisk
Синтаксис следующий:
[extensions] - наименование модуля;
category - категория (наименование вкладки, в которой будет отображаться данный модуль;
name - видимое имя для модуля (параметр для удобства);
Дополнительные параметры:
sort - порядок расположения модуля сверху вниз во вкладке;
remove - удалить модуль из рабочей области интерфейса;
Важно! Параметр remove не удаляет модуль с сервера. Он просто не будет отображаться среди доступных для конфигурации модулей в FreePBX.
Готово. Давайте посмотрим, что у нас получилось в FreePBX:
Если ты используешь модуль EndPoint Manager, о котором мы рассказывали в нашей предыдущей статье, или же другое решение auto-provisioning для автоматической настройки телефонных аппаратов на FreePBX, то эта статья для тебя!
В ней мы покажем универсальный способ для поиска и устранения проблем, которые могут возникнуть в процессе работы с решениями auto-provisioning, таких как EPM.
Как ты уже знаешь, принцип auto-provisioning заключается в том, что телефонный аппарат обращается на сервер, на котором для него уже подготовлен конфигурационный файл. Затем он скачивает его, применяет настройки и становится готовым к работе.
Сервер может работать по протоколам TFTP, FTP, HTTP и др. в зависимости от выбранного режима и протоколов, которые поддерживает аппарат.
Давайте рассмотрим типовую проблему, с которой мы можем столкнуться, при автоматической настройке телефонных аппаратов с помощью auto-provisioning на примере модуля EPM
Кейс
Допустим, мы сделали глобальные настройки для сервера TFTP и создали типовой шаблон для телефона Yealink SIP-T28P. Теперь мы пробуем назначить этот шаблон конкретному телефонному аппарату. Для этого, либо через модуль Extension, либо через Extension Mapping в самом EPM мы привязываем созданный шаблон к телефону по его MAC-адресу. Затем перезагружаем телефон и обнаруживаем что … он не получает настройки.
Для начала, проверим логи TFTP сервера и выясним, посылает ли телефонный аппарат какие-либо запросы. Для этого откроем CLI нашего сервера и дадим такую команду:
tail -f var/log/asterisk/messages | grep tftp
После того, как мы введём эту команду, мы будем в реальном времени получать записи из лога messages, относящиеся к сервису tftp.
Скорее всего, мы увидим там что-то типа:
Где:
192.168.2.57 - IP адрес телефонного аппарата;
1111ссссdddd.cfg - Конфигурационный файл, который телефонный аппарат запрашивает с сервера. 1111ссссdddd - MAC адрес телефонного аппарата;
Сообщение RRQ from 192.168.2.57 filename 1111ccccdddd.cfg означает, что телефон запрашивает с tftp сервера свой конфигурационный файл, а сообщение sending NAK (1, File not found) to 192.168.2.57 означает ответ сервера о том, что файл с таким именем не найден.
Давайте теперь проверим директорию tftpboot, где EPM хранит конфигурационный файлы для телефонов и проверим, есть ли там файл с именем 1111ccccdddd.cfg. Для этого в CLI даём такие команды:
cd /tftpboot
ls -la | grep 1111ccccdddd
Скорее всего, мы получим пустой вывод, а значит такого файла нет. В этом случае нужно ещё раз проверить, что телефон корректно привязан по MAC адресу к нужному шаблону через модуль Extension или Extension Mapping.
После чего, ещё раз проверьте директорию tftpboot на предмет конфигурационного файла своего телефонного аппарата по MAC адресу:
Все мы знаем, что время – самый ценный ресурс. Сегодня мы рассмотрим 5 способов, которые помогут сэкономить немного времени, при работе в командной строке Cisco IOS. Не будем терять время и рассмотрим их!
exec-timeout 0 0
Эта команда позволяет не терять соединение с вашим роутером или коммутатором при достижении времени таймаута, выставив его на ноль минут и ноль секунд. Если ее применить на консольных линиях и VTY, то IOS интерпретирует это, как никогда не истекающий таймаут.
Конечно, ни в коем случае нельзя использовать эту команду в продакшне из соображений безопасности, но она прекрасно подойдет, чтобы сэкономить ваше время в лаборатории, избавив от необходимости повторного входа на несколько устройств в течение дня.
logging synchronous
Наверняка вы были в ситуации, когда посреди набора вашей команды Cisco IOS чувствовала сильную необходимость отправить сообщение Syslog в консоль? :) Это может сильно отвлекать. Способ предотвращения такого вторжения заключается в применении команды logging synchronous. После ввода этой команды, если IOS понадобится отправить Syslog сообщение, то после его отправки, консоль вернет в сеанс терминала то, что вы уже набрали, чтобы продолжить там, где вы остановились.
no ip domain-lookup
Эта команда позволяет отключить интерпретацию команды как DNS имя, если в ней была сделана ошибка. Еще два менее радикальных метода как обойти это можно найти в этой статье.
alias exec
В качестве еще одного способа экономии времени можно создать несколько команд псевдонимов (alias). Это относительно короткие команды, которые транслируются в IOS в длинные команды. Например, если вам часто приходится смотреть конфигурацию протоколов маршрутизации при помощи команды show run | s router, то можно создать ее короткую версию используя команду alias exec src show run | s router. Теперь вместо всей длинной команды нам нужно будет набрать просто ее псевдоним – src.
Сохраненная начальная конфигурация
И в качестве окончательного способа по экономии времени можно рассмотреть сохранения начальной конфигурации в текстовый файл и вставить текст при запуске оборудования «из коробки» или после сброса. Например, можно завести документ со всеми командами из этой статьи и вставлять его в начале работы.
conf t
line con 0
exec-timeout 0 0
logging synchronous
exit
line vty 0 15
exec-timeout 0 0
logging synchronous
exit
no ip domain-lookup
alias exec src show run | s router
alias exec sib show ip interface brief
end
Надеемся, что это поможет сохранить вам пару драгоценных минут!