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

Следующей таблицей идет queues_details. Она служит для заполнения параметров используемых в конфигурационном файле queues_additional.conf. Итак, эта таблица состоит из следующих полей:
- id – хранит в себе номер очереди.
- keyword — содержит ключевое слово (название параметра используемого в asterisk)
- data – значение параметра

Использование SQL запросов для замены значений
Итак, для изменения параметров, необходимых для нашего примера, надо получить необходимые значения.
- Сперва заменим в нескольких очередях параметр 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 у вас оно может отличаться.

Теперь нужно заменить текущее значение 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);

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’;
Проверим заменённые значения:

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='music';

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

Остались вопросы?
Я - Виталий Шелест, менеджер компании 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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.