Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Нормализация CallerID между транками

Проблемы и их решения Asterisk как такового

Модератор: april22

Re: Нормализация CallerID между транками

Сообщение ded » 05 дек 2018, 15:50

Скорее всего - нет.
В приёмном контексте [from-pstn-special] обработка по DID (номеру назначения) с возможной фильтрацией по Caller ID.
В нём ещё не известно на внутренний какой номер побежит этот вызов: на 19XX или на 65XX.
Поэтому условие
destination number = _65XX
я там написал формально. Это требует, конечно, вникания в ваши сценарии.
ded
 
Сообщений: 13629
Зарегистрирован: 26 авг 2010, 19:00

Re: Нормализация CallerID между транками

Сообщение asterisker » 05 дек 2018, 17:51

а можно например через макро:

[гдетотам]
exten _X.,1,Macro(addprefcheck,${EXTEN})
.....
[macro-addprefcheck]

exten => s,1,ExecifTime(00:00-23:59,*,*,*?GotoIF($["${LEN(${ARG1})}" = "4" ]?check))
..........
same => n(check),ExecIf($["${ARG1:0:1}" = "6" & "${ARG1:1:1}" > "4" & "${ARG1:1:1}" < "6"]?letitgo:deny)
..........
same => n(letitgo),Dial(SIP/TRUNK/7${ARG1})
.........
same => n(deny),Hangup()


не знаю зачем, вот правда. читайте книгу
asterisker
 
Сообщений: 65
Зарегистрирован: 18 июл 2016, 12:40

Re: Нормализация CallerID между транками

Сообщение ded » 05 дек 2018, 17:54

У ТС нормализация (приведение к единому виду) входящих вызовов - контекст [from-pstn-special]
А вы приводите макрос для изменения Caller ID исходящих (в зависимости от транка).
ded
 
Сообщений: 13629
Зарегистрирован: 26 авг 2010, 19:00

Re: Нормализация CallerID между транками

Сообщение asterisker » 06 дек 2018, 10:16

а вот и нет, то было завуалированное предложение почитать книгу.
asterisker
 
Сообщений: 65
Зарегистрирован: 18 июл 2016, 12:40

Re: Нормализация CallerID между транками

Сообщение nechushki91 » 12 дек 2018, 15:22

Ребят, подскажите, где мог ошибиться? При таком плане семерка не подставляется к номерам из пула 65XX. А если вот написать конкретный номер, например {CALLERID(num)} = 6500, то все работает

exten => _X.,1,ExecIf($[ ${CALLERID(num)} = 65XX]?Set(CALLERID(num)=7${CALLERID(num)}))
exten => _X.,n,Goto(from-trunk,${EXTEN},1)
nechushki91
 
Сообщений: 45
Зарегистрирован: 13 ноя 2017, 12:37

Re: Нормализация CallerID между транками

Сообщение ded » 12 дек 2018, 18:20

Логическое выражение
${CALLERID(num)} = 65XX будет всегда false
потому что левая часть принимает значения 6501, 6502, и это никогда не равно 65ХХ.
Шаблоны в логическом выражении не допускаются. Хотите задать проверку - является ли номер из диапазона 65ХХ? можно сделать через арифметику, типа
("${CALLERID(num)}-6500> 0")?
ded
 
Сообщений: 13629
Зарегистрирован: 26 авг 2010, 19:00

Re: Нормализация CallerID между транками

Сообщение virus_net » 13 дек 2018, 08:15

Можно использовать функцию Regexp и в ней описать шаблон.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2241
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Нормализация CallerID между транками

Сообщение nechushki91 » 13 дек 2018, 10:19

Коллеги, спасибо за подсказки!
nechushki91
 
Сообщений: 45
Зарегистрирован: 13 ноя 2017, 12:37

Пред.

Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

© 2008 — 2019 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH