Freepbx настройка времени на телефонах
В Интернете довольно много примеров настройки. Но ни один из них у меня не заработал как надо. Одной из проблем с которой я столкнулся было неправильное определение линии при входящем звонке. В свое время нигде не нашел мануал для решения этой проблемы. Поэтому решил выложить свою версию инструкции здесь. Заодно и шпаргалка для себя на будущее.
«Configurations» — «Preferences»
GSM шлюз находится в локальной сети без доступа в Интернет. Настроим NTP сервер в локальной сети для раздачи времени. При перезагрузке GSM шлюз синхронизируется и правильно показывает текущее время. Можете пропустить этот шаг, тогда придется вручную выставлять время на шлюзе. Если есть выход в Интернет, то укажите один из публичных NTP серверов.
- В Time Server пропишем IP адрес NTP сервера.
- Укажем часовой пояс, у меня Time Zone: GMT+6.
- Отключим Auto Reboot. С последней версией прошивки проблемы с зависанием GSM шлюза не наблюдаются.
- Отключим IVR.
«Configurations» — «Network»
- LAN Port — Static IP
- IP address — укажем статический IP адрес шлюза
«Configurations» — «Basic VoIP»
Config Mode — Config by Line.
То же самое проделываем с остальными линиями.
«Configurations» — «Advance VoIP»
«Configurations» — «Call Out»
Для каждой линии указываем префикс, который приходит с Asterisk и будет удалятся на канале шлюза перед совершением исходящего звонка: например для для CH1 Dial Plan: 1:-1, CH2 Dial Plan: 2:-2 и т.д.
«Configurations» — «Call In»
На этом закончили настройку GoIP.
«Подключения» — «Транки»
Выбираем «Добавить SIP (chan_sip) транк».
Вкладка «Общие»
Переходим на вкладку «Правила манипуляции набора номера»
Прописываем шаблоны. Указываем префиксы для каждого транка по порядку. Для первой линии 1, для второй 2 и т.д.
Вкладка «sip Общие настройки»
Исходящий
Далее создадим внутренние номера и группу вызова. Как это делается описывать не буду. В FreePBX это делается через меню «Приложения» — «Внутренние номера» и «Приложения» — «Группы вызова». Все довольно просто и интуитивно понятно.
«Подключения» — «Исходящая маршрутизация»
Выбираем «Добавить исходящий маршрут».
Вкладка «Настройки маршрута»
Укажем название маршрута, например all_line. Далее укажем по порядку транки через которые будут совершаться исходящие вызовы.
Переходим на вкладку «Правила набора»
Здесь прописываем шаблоны для исходящих номеров.
Остальные вкладки оставляем по умолчанию. На этом настройка исходящего маршрута завершена. Можно попробовать совершить вызов.
Здесь может возникнуть проблема, что звонки будут уходить через транки в том порядке, в каком они указаны в маршруте. Что в свою очередь приведет к тому, что единицы на первых линиях будут уходить больше чем на тех, которые идут за ними. Для решения этой задачи можно переписать правила для исходящего маршрута с помощью extensions_override_freepbx.conf.
В зависимости от количества линии, можно использовать рандом. Для двух линии например 1,2. Я использую такой код
Добавить входящий маршрут.
Вкладка «Общие»
Указываем его описание, например — «inbound».
Далее выбираем последний пункт «Установить направление», в котором выбираем конечную точку маршрута. В моем случае я указал группу вызова чтобы звонки поступали любому свободному оператору.
Для телефонии FreePBX и не только крайне важно иметь правильное время, особенно если настройки вашей системы привязаны к временным условиям, например, голосовое приветствие в нерабочее время.
Исправляем неверное время в FreePBX
Если вы заметили, что настроено некорректное время в FreePBX, во-первых, необходимо проверить часовой пояс. Заходим в веб-интерфейс FreePBX, выбираем меню Администратор -> System Admin -> Time Zone (в моем варианте интерфейс русифицирован частично):
После внесения изменений убедитесь, что нажали кнопку «Передача запроса». Затем система попросит перезагрузить ее.
Если вы по-прежнему видите неправильное время в своей системе, вам необходимо убедиться, что запущена служба NTP. Network Time Protocol отвечает за синхронизацию системных часов с внешними серверами.
Сетевой протокол времени (NTP) широко используется в Интернете для синхронизации компьютерных часов с национальным стандартным временем. Архитектура, протокол и алгоритмы NTP эволюционировали более трех десятилетий в спецификации NTP версии 4 и эталонных реализациях для Unix, VMS и Windows.
Службы синхронизации времени NTP широко доступны в Интернете, который сегодня включает несколько тысяч серверов в большинстве стран и на всех континентах земного шара, включая Антарктиду, а иногда и в космосе, на судах и на морском дне.
Используемый сегодня алгоритм синхронизации времени NTP обеспечивает точность, как правило, в диапазоне от 0,1 мс в локальных сетях до нескольких десятков миллисекунд в межконтинентальном Интернете.
Устанавливаем корректное время в FreePBX
Чтобы убедиться, что служба NTP запущена, вам необходимо войти в систему по SSH в качестве пользователя root, например, с помощью PuTTY.
После входа в вашу УАТС вы можете проверить, работает ли NTP с помощью команды:
Чтобы перезапустить NTP, выполните следующую команду:
Чтобы прописать сервис NTP в автозагрузку, выполните следующую команду:
Чтобы узнать, на каких серверах синхронизируется ваша FreePBX, запустите команду:
Проверим текущее время командой date и убеждаемся что получили необходимый результат. В моем случае было необходимо перезагрузить портал командой amportal restart. В вашем случае возможно потребуется перезагрузка системы.
Для системного администратора очень важно иметь корректную настройку системного времени на IP – АТС Asterisk. Важность этого обуславливается многими причинами, такими как корпоративная маршрутизация звонка по времени, отработка резервного копирования по расписанию или отработка «кастомных» скриптов в cron . В статье мы покажем как правильно настроить время через графическую оболочку FreePBX и продемонстрируем настройки NTP (Network Time Protocol) через командную строку сервера.
НАСТРОЙКА ВРЕМЕННОЙ ЗОНЫ ЧЕРЕЗ FREEPBX
Перейдя в WEB - браузере к графическому интерфейсу FreePBX 13, откройте вкладку Admin → System Admin . Оказавшись в панели управления модулем, выберите необходимую временную зону (Time Zone) из предложенных:
Выбрав необходимую вам зону нажмите Submit
Обратите внимание! Чтобы настройки вступили в силу, необходимо произвести перезагрузку сервера. Вы можете сделать это либо через CLI с помощью команды reboot , либо в разделе Power Options .
НАСТРОЙКА NTP ЧЕРЕЗ CLI
Если после установки временной зоны время на вашем сервере так и не поменялось, то необходимо произвести проверку настроек NTP. Подключитесь к серверу по SSH или напрямую, и выполните следующие команды:
Проверьте содержимое файла настройки синхронизации времени. В нем в явном виде должны быть прописаны сервера (не закомментированные строки, начинающиеся с server ). Если вы хотите указать собственный сервер NTP, то сотрите содержимое файла и добавьте запись. Формат примерно такой:
server 192.168.0.123 //вместо 192.168.0.123, укажите IP – адрес или доменное имя вашего NTP
Перед изменением конфигурации файла ntp.conf рекомендуем проверить сетевую связность, произведя пинг – запрос на IP или доменное имя сервера.
После проверки конфигурации, проверяем запущен ли NTP демон на сервере:
Как мы видимо, процесс ntpd с идентификатором 1234 запущен. Если у вас иначе, произведите перезапуск этого процесса:
Далее убеждаемся, что ntpd будет автоматически запускать при загрузке нашего сервера:
Проверяем, с какими NTP серверами синхронизируется наш Asterisk:
Через некоторое время проверяем системное время командой date. Теперь все должно быть корректно:
Панель управления FreePBX позволяет маршрутизировать входящие и исходящие вызовы в зависимости от дня недели и времени суток. Для этих целей служат два бесплатных модуля:
- Time Conditions (временные условия)
- Time Groups (временные группы)
Модуль Time Conditions позволяет определять правила, по которым будут обрабатываться вызовы в определенный промежуток времени. В свою очередь, временной диапазон указывается в модуле Time Groups.
Time Groups
Модуль позволяет определять временные интервалы, которые в дальнейшем применяются в Time Conditions. Определим их. Нам необходимо выполнить создание экспериментальной группы, которую назовем, скажем, WorkTime.. Для этого откроем Applications >> Time Groups . Щелкнем по кнопке Add Time Groups .
Выполним базовые настройки, которые основаны только на времени работы.
Пунктам Дни недели , Месяцы , которые мы оставляем пустыми, изначально присваивается значение Все . Мы устанавливаем начало рабочего дня с 9:00 до 18:00 . Если мы не меняем остальные опции, то условие станет выполняться ежедневно на протяжении всего года с 9:00 до 18:00.
Далее добавим дни недели. Исходим из того, что мы имеем классический вариант рабочей недели: 5 дней, пн-пт.
Мы можем учитывать как будни, так и выходные дни.
Изменив нужные нам параметры, применим настройки.
Time Conditions
После подготовки групп переходим к настройке временных правил (Time Conditions).
Переходим: Applications → Time Conditions . Здесь представлены следующие опции:
- Time Condition Name . Задаем название временного правила, лучше всего осмысленное. Если прописывать что-то вроде Rule 1, то это может привести к неразберихе в будущем.
- Override Code Pin . Этот пункт необязателен, но он позволяет привязать PIN-код к определенной группе правил.
- Invert BLF Hint . Опция может принимать одно из двух значений: Yes и No . Если телефон поддерживает BLF, то мы можем вывести статус правил на BLF-панель. По умолчанию установлено значение No . В случае несовпадения правил выставляется статус INUSE . Его наличие пользователь определяет по характерной красной подсветке BLF-клавиши на панели. При совпадении правил с группой выставляется NOT_INUSE и включается зеленая подсветка.
Стоит учитывать, что оттенки подсветки и их значения могут отличаться у разных моделей телефонов.
При выставлении Yes значения инвертируются.
- Change Override . Опция дает возможность с помощью сервисного кода изменять поведение временных параметров. Код автоматом присваивается каждому Time Conditions , начиная с *271 .
Опция Change Override может принимать следующие значения:
- Unchanged . Используются базовые настройки, влияния на логику Time Conditions не происходит.
- Reset Override . Если выставить это значение и применить настройки, то параметры Change Override будут сброшены до стандартных.
- Temporary Matched / Unmatched . Служит для временного переключения логики правил времени. Если вызов абонента попадает в заданный промежуток, он направляется на Destination matches . В случае несовпадения – на Destination non-matches . Опцию можно задать как в веб-интерфейсе, так и используя Service Code.
- Permanent Matched / Unmatched . Выполняет функцию, сходную с п.3. Отличительной особенностью опции является то, что она не может быть удалена в автоматическом режиме по прошествии времени. Также ее нельзя задать через сервисный код. Необходимо использовать исключительно веб-интерфейс.
Если вы попытаетесь протестировать систему и сделать несколько звонков с теми настройками, которые уже выполнены, то увидите – вызов уходит на Destination matches . Из этого следует, что при необходимости мы можем менять логику в ручном режиме для рабочих и выходных дней.
Завершим обзор опций Time Conditions .
- Time Zone . Задание часового пояса.
- Time Group . Задание временной группы из выпадающего перечня для этих правил.
- Destination matches . Определение направления логики звонка в случае, если он попадает в заданный временной диапазон.
- Destination non-matches . Задается направление логики вызова для ситуаций, когда он не попадает в заданный временной интервал.
Итак, у нас есть готовая цепочка, имеющая такой вид:
Применение Time Group в исходящей логике
Группы, посредством которых задается обработка звонков с учетом времени их поступления, можно использовать и для задания правил исходящей маршрутизации. Выполним настройку такой логики.
Перейдем Connectivity → Outbound Routes .
Опции раздела Route Settings :
- Route Name . Задаем имя. Пусть это будет краткое обозначение «TD».
- Route Password . Если человек попытается дозваниваться по международной линии, то его попросят ввести PIN-код перед тем, как ему разрешат совершить звонок.
- Time Group . Временная группа. Здесь необходимо добавить группу, которую мы создали прежде.
- Trunk Sequence for Matched Routes . Указывается Trunk для звонков, выходящих на междугородний уровень.
После задания настроек выбираем вкладку DialPatterns .
Здесь необходимо указать шаблон. Используем универсальный шаблон 810Z для совершения международных вызовов.
Зададим в качестве Caller ID номер руководителя (скажем, 501) и секретаря (502). Далее следует сохранить и применить конфигурацию. Если все настроено корректно, то текущий маршрут смогут использовать для звонков только два абонента, находящихся внутри офиса, исключительно в рабочее время.
Читайте также: