Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

ответил 2017-05-04 21:41:47 +0400

meral Gravatar meral flag of Ukraine

http://pro-sip.net/
[macro-CHECKDEVICESTATE]
exten => s,1,Set(ext=${CUT(CHANNEL(name),/,2)})
exten => s,2,Gosub(check_permissions,${CUT(ext,-,1)},1); будет только номер сип-канала..
; тут дальше макро



[check_permissions]
include => permissions_deny
include => permissions_allow
include => permissions_other
[permissions_other]
exten => _.,1,Return; default action - allow
;exten => _.,1,Hangup; default action - deny
[permissions_allow]
exten => 1000,1,Return
[permissions_deny]
exten => 1001,1,Hangup
[macro-CHECKDEVICESTATE]
exten => s,1,Set(ext=${CUT(CHANNEL(name),/,2)})
exten => s,2,Gosub(check_permissions,${CUT(ext,-,1)},1); будет только номер сип-канала..
; тут дальше макро



[check_permissions]
include => permissions_deny
include => permissions_allow
include => permissions_other
[permissions_other]
exten => _.,1,Return; default action - allow
;exten => _.,1,Hangup; default action - deny
[permissions_allow]
exten => 1000,1,Return
[permissions_deny]
exten => 1001,1,Hangup

Пробовал вместо s указывать хотя бы какие то ограничения, например [2-3]XX, что бы хотя бы этот макрос выполнялся только для трёх значных номеров начинающихся с 2 и с 3. В таком случае он вообще перестаёт выполняться вот так делаетя

exten => _s/[2-3XX],1,Noop

https://wiki.asterisk.org/wiki/display/AST/Pattern+Matching

[macro-CHECKDEVICESTATE]
exten => s,1,Set(ext=${CUT(CHANNEL(name),/,2)})
exten => s,2,Gosub(check_permissions,${CUT(ext,-,1)},1); будет только номер сип-канала..
; тут дальше макро



[check_permissions]
include => permissions_deny
include => permissions_allow
include => permissions_other
[permissions_other]
exten => _.,1,Return; default action - allow
;exten => _.,1,Hangup; default action - deny
[permissions_allow]
exten => 1000,1,Return
[permissions_deny]
exten => 1001,1,Hangup

Пробовал вместо s указывать хотя бы какие то ограничения, например [2-3]XX, что бы хотя бы этот макрос выполнялся только для трёх значных номеров начинающихся с 2 и с 3. В таком случае он вообще перестаёт выполняться вот так делаетявыполняться

вот так делаетcя

exten => _s/[2-3XX],1,Noop
_s/_[2-3XX],1,Noop

https://wiki.asterisk.org/wiki/display/AST/Pattern+Matching

[macro-CHECKDEVICESTATE]
exten => s,1,Set(ext=${CUT(CHANNEL(name),/,2)})
exten => s,2,Gosub(check_permissions,${CUT(ext,-,1)},1); будет только номер сип-канала..
; тут дальше макро



[check_permissions]
include => permissions_deny
include => permissions_allow
include => permissions_other
[permissions_other]
exten => _.,1,Return; default action - allow
;exten => _.,1,Hangup; default action - deny
[permissions_allow]
exten => 1000,1,Return
[permissions_deny]
exten => 1001,1,Hangup

Пробовал вместо s указывать хотя бы какие то ограничения, например [2-3]XX, что бы хотя бы этот макрос выполнялся только для трёх значных номеров начинающихся с 2 и с 3. В таком случае он вообще перестаёт выполняться

вот так делаетcя

exten => _s/_[2-3XX],1,Noop
s/_[23]XX,1,Noop

https://wiki.asterisk.org/wiki/display/AST/Pattern+Matching (пример возле фразы unexpected-jump-test)

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.