Задать вопрос

Запрет звонков по внутреннему SIP номеру?

Asterisk: 1.8.15-cert17

users.conf
[001002] - это внутренний SIP номер
cid_number = 002
secret = 11223344
context = 002
host = dynamic
callerid = "002" <223344> - Передаю номер внутренний для отображения на дисплее теле-софт/фона и исходящий номер для Cisco VoIP шлюза
language = ru

extensions.conf
[002]
; Звонки внутри группы
exten => _XXX,1,Dial(SIP/002${EXTEN})
exten => _XXX,n,Hangup
include => outbound-gorod - выход на город

; Выход на городские номера
[outbound-gorod]
exten => _XXXXXX/223344,1,Playback(sorry)
exten => _XXXXXX/223344,n,Hangup
exten => _XXXXXX,1,Dial(SIP/77212${EXTEN}@Cisco-VoIP-out,60,tT)
exten => _XXXXXX,n,Hangup


Данная схема работает. Но я перехватываю по CalledID. Как прехватывать по внутреннему номеру SIP? И как правильно писать маски для группы номеров, приведите пожалуйста примеры. Спасибо!

Пример: Допустим у нас в организации 4 внутренних номера 001, 002, 003, 004 в одном контексте. И одина исходящая линия. Когда 001 и т.д. звонят в город то я могу отфильтровать по городскому номеру в екстеншене и запретить звонок но тогда получается я закрыл доступ для звонков и для других. А мне нужно фильтровать по номеру внутреннему 001, 002, 003 и т.д.
  • Вопрос задан
  • 4841 просмотр
Подписаться 3 Оценить 1 комментарий
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
exten => _XXXXXX,1,GotoIf($["${CHANNEL(peername)}"="001002"]?city_deny)
same => n,Dial(...)
same => n,HangUp
same => n(city_deny),Playback(you_fired)
same => n,HangUp

В первой строке была опечатка, запятая вместо вопроса. Исправлено
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы