Простой cli генератор масок для asterisk.
Принимает следующие аргументы командной строки:
genmask [-u <url>] [-r <region filter>] [-c] [-p <prefix>] [-s <suffix>]
-u <value> url к csv файлу с интервалами DEF-кодов.
По умолчанию https://rossvyaz.gov.ru/docs/articles/DEF-9x.csv
-r <value> Фильтр по региону. Полное наименование региона вводить не обязательно.
Выведет интервалы, в строке со значением региона которых содержится value.
Лучше использовать короткие маски, т.к. в csv файле на сайте россвязи
есть опечатки и ошибки. К примеру, интервал 955;5550000;5559999;10000...
Т.е. для генерации масок телефонов Москвы и Московской области
достаточным значением будет -r "Моск"
-o <value> Фильтр по оператору. Полное наименование оператора вводить не обязательно.
Выведет интервалы, в строке со значением наименования оператора которых содержится value.
Лучше использовать короткие маски, т.к. в csv файле на сайте россвязи
есть опечатки и ошибки. К примеру, интервал 955;5550000;5559999;10000...
Т.е. для генерации масок телефонов ПАО "МегаФон" достаточным значением будет -o "мегаф"
-c Вывести перед каждым набором масок комментарий (в стиле asterisk):
; код, начальное значение интервала, конечное, длина интервала, оператор, регион
К примеру:
; 999, 8800000, 9299999, 500000, ООО "Т2 Мобайл", г. Москва и Московская область
9998[8-9]XXXXX
9999[0-2]XXXXX
-p <value> Вывести маски c префиксом value. К примеру -p "exten => _" выведет:
...
exten => _999949XXXX
exten => _99995XXXXX
exten => _9999[6-9]XXXXX
-s <value> Вывести маски c суффиксом value. К примеру -s ",1,Goto(7,1)" выведет:
...
999949XXXX,1,Goto(7,1)
99995XXXXX,1,Goto(7,1)
9999[6-9]XXXXX,1,Goto(7,1)
-g Сгруппировать вывод по операторам.
Пример:
genmask -c -r Сарат -p "exten => _" -s ",1,Goto(7${EXTEN:1},1)"
...
; 999, 1838000, 1849999, 12000, ООО "Скартел", Саратовская обл.
exten => _999183[8-9]XXX,1,Goto(7,1)
exten => _999184XXXX,1,Goto(7,1)
; 999, 5385000, 5397999, 13000, ООО "Скартел", Саратовская обл.
exten => _999538[5-9]XXX,1,Goto(7,1)
exten => _999539[0-7]XXX,1,Goto(7,1)
; 999, 7510000, 7549999, 40000, ПАО "МегаФон", Саратовская обл.
exten => _99975[1-4]XXXX,1,Goto(7,1)