Доброго дня! Необходимо запретить вызовы на группу номеров. Прописывать в диалплане как-то не очень красиво, номеров около 500. Хочется использовать AstDb, но не представляю как. Если кто реализовывал, поделите пожалуйста.
Ну вот если конкретно через астдб как вы хотите, просто и тупо, то типа так:
Asterisk CLI> database put blacklist 123456 1
Asterisk CLI> database put blacklist 234567 1
[blacklist]
exten => _X.,1,Set(isblacklisted=${DB(blacklist/${EXTEN})})
same => n,GotoIf($["${isblacklisted}" = "1"]?hang:dial)
same => n(hang),Hangup()
same => n(dial),Dial(bla-bla-bla)
Но это очень плохой способ.
1) Никаких масок;
2) Нет контроля запроса;
Нормальные варианты:
1) Подключение астериска через ODBC и использование func_odbc
2) Хранить этот кусок дайлплана в Realtime, для вашего варианта как мен кажеться это подойдет больше всего.
Задан: Oct 28 '14
Просмотрен: 1,168 раз
Обновлен: Oct 28 '14
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
А что именно н представляете ? Что именно не получается ? Как пробовали ?
Номера попадают под какую то маску или они вразнобой ?
http://www.voip-info.org/wiki/view/Asterisk+database
http://asterisk-support.ru/question/53360/zapret-ispolzovaniia-tranka-opredelennymi/
virus_net (Oct 28 '14)editНикакой маски, абсолютный разнобой. Никак не пробовал, ибо не представляю как в диалплане сделать сверку вызываемого номера с базой.
v0ip (Oct 28 '14)editЗащита от фрода?
Zavr2008 (Oct 28 '14)editОт антифрода.
v0ip (Oct 28 '14)edit