FreePBX 14 Bulk Handler
Экспорт / Импорт Extensions и DIDs в/из CSV.
Модуль Bulk Handler управляет массовым импортом / экспортом екстеншенов, маршрутов и пользователей при помощи csv фалов.
Для настройки систем с множеством пользователей и продвинутой маршрутизацией, данный модуль незаменимый помощник, сильно облегчающий жизнь администратору системы.
FreePBX > Admin > Bulk Handler
Структура модуля Bulk Handler
- Export
- Import
- Extensions
- DIDs
- User Manager Users
- User Manager Groups
Экспорт / Импорт Extensions
Предположим вы настраиваете новую систему и требуется создать множество Extensions с единообразными свойствами.
- Создайте екстеншен требуемой вам технологии и настройте его свойства под ваши нужды
- В модуле Bulk hanler выполните Export для Extensions
- Откройте полученный файл в редакторе (Open Office Calc или MS Excel)
- Добавьте нужное количество строк, с новыми номерами. Параметры: extension,name,id,dial,user,description - уникальны для каждого екстеншена.
- Для автогенерации паролей в поле secret задайте - REGEN.
- Остальные поля задайте, как у шаблонного екстеншена.
- Во вкладке Import выберите созданный файл и нажмите Submit
Если данные корректны появиться список номеров. Нажмите кнопку Import.
Система начнет операцию записи в базу данных. В случае успешного добавления строки, она выделяется зеленым. В случае неудачи красным. Модуль немного капризней, чем Bulk Extensions во FreepBX 12.
Когда данные добавлены нажмите Finished и Apply config
Также вы можете самостоятельно создать csv файл с минимумом требуемых полей:
extension,name,voicemail,id,tech,dial,devicetype,user,description,secret,findmefollow_voicemail,findmefollow_enabled,voicemail_enabled 500,Phone 500,novm,500,pjsip,PJSIP/500,fixed,200,ph 200,REGEN,novm,,
findmefollow_enabled = yes/<empty>
Экспорт / Импорт DIDs
Для DIDs никаких особенных отличий нет, приведем только пример файла csv с разными destinations:
- ring group
- extension
- ivr
- queue
- trunk
- time condition
соответственно:
cidnum,extension,destination,faxexten,faxemail,answer,wait,privacyman,alertinfo,ringing,mohclass,description,grppre,delay_answer,pricid,pmmaxretries,pmminlength,reversal,rvolume ,8121234561,"ext-group,230,1",,,,,0,,,default,a-1234561,,0,,,,,0 ,8121234562,"from-did-direct,200,1",,,,,0,,,default,a-1234562,,0,,,,,0 ,8121234563,"ivr-1,s,1",,,,,0,,,default,a-1234563,,0,,,,,0 ,8121234564,"ext-queues,666,1",,,,,0,,,default,a-1234564,,0,,,,,0 ,8121234565,"ext-trunk,1,1",,,,,0,,,default,a-1234565,,0,,,,,0 ,8121234566,"timeconditions,2,1",,,,,0,,,default,E1-1234566,,0,,3,10,,0
Tips & Tricks
Большую часть параметров внутренних номеров, для быстрого доступа из диалплана, FreePBX хранит во внутренней БД asterisk /var/lib/asterisk/astdb.sqlite3
.
Это наводит на мысль, что мы можем массово редактировать некоторые параметры при помощи sql запросов из командной строки sqlite3.
Пример: Параметр Call Waiting, включается для экстеншена любой технологии, добавлением в astdb строки вида:
/CW/<number>|ENABLED
где, /CW/<number>
, это key, а ENABLED
- value:
sqlite> select * from astdb where key like '/CW%'; /CW/669|ENABLED /CW/670|EBABLED
Таким образом, чтобы выключить Call Waiting для всех номеров, надо удалить все строки /CW/..
sqlite> delete from astdb where key like '/CW%';
Обратите внимание, что asterisk защищает от записи astdb, когда он запущен.