Дмитрий Рашевский
09.01.2020
67

Массовое изменение параметров в очередях

Массовое изменение параметров в очередях Введение Таблицы настроек очередей Использование SQL запросов для замены значений Заключение Введение При администрировании FreePBX наша компания сталкивается с такими запросами, как поменять аудио файлы приветствия во всех и в нескольких очередях. Вы подумаете, что в этом сложного, 5-6 очередей, в этом нет ничего такого. Но предположим, что у вас […]

Массовое изменение параметров в очередях

  1. Введение
  2. Таблицы настроек очередей
  3. Использование SQL запросов для замены значений
  4. Заключение

Введение

При администрировании FreePBX наша компания сталкивается с такими запросами, как поменять аудио файлы приветствия во всех и в нескольких очередях. Вы подумаете, что в этом сложного, 5-6 очередей, в этом нет ничего такого. Но предположим, что у вас не 5 очередей, а 50 или даже 100.

Именно по этой причине была взята идея как быстро и правильно поправить значения для множества очередей за раз.

Далее в этой статье мы рассмотрим какие таблицы из БД asterisk нужны для редактирования, по каким полям эти таблицы связаны.

Разбор связных с очередями таблиц в базе asterisk

Сперва рассмотрим таблицы, связанные с очередями из базы asterisk. За настройку и хранение параметров очереди отвечают две таблицы queues_config и queues_details.

Теперь рассмотрим детально таблицу queues_config. Она содержит следующие поля:

  • extension — номер очереди
  • descr — описание (имя) очереди     
  • grppre — CID префикс для очереди
  • alertinfo — добавление SIP записи alert-info
  • ringing — Время звонка в очереди
  • maxwait — время звонка в очереди (оно должно быть пустым)
  • password — пароль для подключения к очереди
  • ivr_id — id голосового меню, для указания параметра IVR Break Out Menu
  • dest — указание направления по окончании ringing. В Web это параметр Fail Over Destination
  • cwignore — ограничение операторов. Параметр в WEB — это Agent Restrictions
  • queuewait — временное ограничение на отображение CID prefix
  • qnoanswer — параметр обозначающий ответ очереди в канал. Queue No Answer
  • callconfirm — подтверждение принятия вызова сторонним устройством (мобильный, follow-me)
  • callconfirm_id — запись используемая при включенном Call Confirm.
  • agentannounce_id — запись, используемая для оповещения оператора
  • joinannounce_id — запись для оповещения звонящего
Describe queues_config
Describe queues_config

Следующей таблицей идет queues_details. Она служит для заполнения параметров используемых в конфигурационном файле queues_additional.conf. Итак, эта таблица состоит из следующих полей:

  • id – хранит в себе номер очереди.
  • keyword — содержит ключевое слово (название параметра используемого в asterisk)
  • data – значение параметра
Describe queues_details
Describe queues_details

Использование SQL запросов для замены значений

Итак, для изменения параметров, необходимых для нашего примера, надо получить необходимые значения.

  1. Сперва заменим в нескольких очередях параметр joinannounce_id.

Замена будет проводиться в таблице queues_config.

Это поле принимает id записи в системе, поэтому её нужно предварительно загрузить на сервер через модуль System Recordings.

Добавленная звуковой файл.
Добавленная звуковой файл.

Теперь подключимся к консоли mysql:

   # mysql -u freepbxuser   -p<YOUR_PASSWORD>   

            Далее командой USE выберем базу с которой будем работать:

   > USE asterisk;   

ID, загруженной ранее записи хранится в таблице recordings. Чтобы найти нужную нам запись используем оператор выбора SELCET и будем искать по ключевому слову queue-record. Это название мы давали при загрузке записи. В таблице recordings данное значение хранит поле displayname. Имея эти данные составим запрос и найдём id записи.

   > SELECT id FROM recordings   WHERE displayname=’queue-record’;   

Получим наше значение. В этом примере значение 68 у вас оно может отличаться.

Recording’s ID
Recording’s ID

Теперь нужно заменить текущее значение joinannounce_id на полученное ранее. В mysql для замены какого то значения используется оператор UPDATE в сочетании с ключевым словом SET. Но, чтобы поменять в нужных очередях, для этого добавим условие по которому будет осуществляться выборка, номера очередей, как писалось в пункте 1, занесены в поле extension. (WHERE extension IN (ДЕСЬ_УКАЗЫВАЕТСЯ_СПИСОК_НОМЕРОВ_ОЧЕРЕДЕЙ_ЧЕРЕЗ_ЗАПЯТУЮ>)).

   > UPDATE queues_config SET   joinannounce_id='68' WHERE extension IN   (00010,00106,00108,00110,00112,00114,00116,00118,00120,00122,00124,00126,00128,00130,00132,00134,00152,00154,00166,0070,0072,0076,0078,0080,0082,0086,0088,0090,0092,0098,041,043,045,071,073,077,079,081,083,087,089,091,093,099,0999,120,167,280,404,452,497,605,610,620,630,640,660);   
UPDATE joinannouce_id
UPDATE joinannouce_id

2.Теперь надо поменять класс MoH и agent timeout. Необходимые значения хранятся в таблице queues_details. Для текущего примера надо изменить значение в поле data для двух параметров music и timeout. В один запрос выполнить не получится, поэтому сделаем изменения по одному параметру. Как и ранее используем UPDATE только теперь будет меняться имя таблицы, и в ней номер очереди записан в поле id. Составим запросы и выполним их.

   > UPDATE queues_details SET   data='10' WHERE id IN   (00010,00106,00108,00110,00112,00114,00116,00118,00120,00122,00124,00126,00128,00130,00132,00134,00152,00154,00166,0070,0072,0076,0078,0080,0082,0086,0088,0090,0092,0098,041,043,045,071,073,077,079,081,083,087,089,091,093,099,0999,120,167,280,404,452,497,605,610,620,630,640,660)   AND keyword=’timeout’;   

Проверим заменённые значения:

UPDATE timeout
UPDATE timeout

B выполним запрос для изменения параметра MoH. За это отвечает значение из поля keyword – music. Здесь будем указывать имя класса MoH, которое используется в Freepbx по умолчанию — «default».

   > UPDATE queues_details SET   data='default' WHERE id IN (00010,00106,00108,00110,00112,00114,00116,00118,00120,00122,00124,00126,00128,00130,00132,00134,00152,00154,00166,0070,0072,0076,0078,0080,0082,0086,0088,0090,0092,0098,041,043,045,071,073,077,079,081,083,087,089,091,093,099,0999,120,167,280,404,452,497,605,610,620,630,640,660)   AND keyword=’default’;   
UPDATE music
UPDATE music

Изменения внесены, теперь их надо применить, и для этого существует два способа:

  1. В основной консоли Linux вашей АТС введите команду fwconsole reload. Действие этой команды аналогично действию нажатия на кнопку «Apply Config» в web интерфейсе.
  • Если у вас FreePBX ниже 13 версии, тогда используйте этот метод. Необходимо запустить стандартный скрипт module_admin используемый в FreePBX c параметром reload
   #   /var/lib/asterisk/bin/module_admin reload   

Заключение

В данной статье мы рассмотрели, какие таблицы в FreePBX используются для хранения значений выставляемых после заведения и редактирования значений очередей в WEB панели FreePBX.

Также рассмотрели как массово изменить отдельные параметры в настройках очередей. Какие mysql команды используются для замены значений в таблицах. А также как применить внесенные изменения.

avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices