Страница 1 из 2
Подмена номера EXTEN, в контексте вывода CLI
Добавлено: 11 дек 2017, 10:27
Mitsumo
Приветствую коллеги, есть реализованный функционал отправки сообщений о пропущенных звонках, вида "Пропущенный вызов 2017-12-11 в 13:42:10 с номера ХХХХХХ на номер ZZZZZ Длительность вызова 29 сек" Вот задался таким вопросом, а можно ли поменять этот ZZZZZ например на "ZZZZ (Питер)". Суть в том что транков много и отслеживать их по бумажки аля вида 000112345 и т.п. по номеру линии неудобно, хочется понятней. Подозреваю нужно копать в сторону исключений к примеру использовать тот же ExecIF, но как его вывести в правильно русло... сейчас стоит так
Код: Выделить всё
с номера 8${CALLERID(name):-10:10} на номер ${CDR(realdst)} Длительность вызова ${CDR(duration)} сек
Использовать базу MySQL не выйдет я думаю, туда не пишется номер реальный, только то что указано в extensions.conf. Так же не выйдет использовать
так как там стоит
а он как мы знаем по всему extensensions Отрабатывает "h". Кто-то такой затеей вообще занимался или мне так и сказать работайте по бумажке) Провайдер вряд-ли мне имя канала поменяет на номер телефона.
Re: Подмена номера EXTEN, в контексте вывода CLI
Добавлено: 11 дек 2017, 10:43
april22
загоните все ваши транки в кастомную ASTDB и от туда дергайте .
предворительно в h какие есть переменные , и привяжитесь к ним .
Re: Подмена номера EXTEN, в контексте вывода CLI
Добавлено: 11 дек 2017, 10:53
Mitsumo
Идея интересная, надо подумать, но то ли я не смог понять то ли у меня тригеры в MySQL не работают. Если я правильно понял отправлять попутно в другую DB имя DID и его уже менять там и отправлять обратно?
Re: Подмена номера EXTEN, в контексте вывода CLI
Добавлено: 12 дек 2017, 07:13
virus_net
Не совсем понимаю зачем тут astdb.
На входе сетим переменную, откуда получен вызов (или прямо в пире через setvar) и пользуемся значением этой переменной при отправке мыла.
Re: Подмена номера EXTEN, в контексте вывода CLI
Добавлено: 12 дек 2017, 10:17
Mitsumo
Не совсем понимаю зачем тут astdb.
На входе сетим переменную, откуда получен вызов (или прямо в пире через setvar) и пользуемся значением этой переменной при отправке мыла.
Спасибо, я почему то сам не догадался, это же просто.
Если кому пригодится вот кусок диалплана:
Код: Выделить всё
exten => XXXXXX,n,Set(EXTEN=m)
exten => XXXXXX,n,Set(m=Kemerovo)
в данном случае "m" это просто переменная, можно указать любую другую.
Код: Выделить всё
с номера 8${CALLERID(num):-10:10} на номер ${m} Длительность вызова ${CDR(duration)}
Re: Подмена номера EXTEN, в контексте вывода CLI
Добавлено: 13 дек 2017, 07:12
virus_net
Опять не понимаю зачем тут это:
Mitsumo писал(а):exten => XXXXXX,n,Set(EXTEN=m)
${EXTEN} перезапишется в любом случае.
Asterisk variables
Re: Подмена номера EXTEN, в контексте вывода CLI
Добавлено: 14 дек 2017, 07:03
Mitsumo
Опять не понимаю зачем тут это:
Mitsumo писал(а):
exten => XXXXXX,n,Set(EXTEN=m)
${EXTEN} перезапишется в любом случае.
Asterisk variables
Все потому что транков много, мне не нужно менять один екстеншен, мне на каждый нужно свое имя, в данном случае переменная m, которую я использую и после меняю на нужны город, если я тут
Код: Выделить всё
exten => h,1,ExecIf($["${CDR(dstchannel)}"=""]?System(/usr/local/bin/sendEmail -f asterisk@xxx.ru -t missedcalls@xxx.ru -u Пропущенный вызов -m Пропущенный вызов ${STRFTIME(${EPOCH},,%Y-%m-%d в %H:%M:%S)} с номера 8${CALLERID(num):-10:10} на номер ${m}, длительность вызова ${CDR(duration)} сек -o message-charset=UTF-8)
буду использовать ${EXTEN}, то мне вместо номера который я хочу, будет писать "h".
Re: Подмена номера EXTEN, в контексте вывода CLI
Добавлено: 14 дек 2017, 08:22
virus_net
1. Не надо цитировать предыдущий пост полностью. Это дурной тон.
2. Вы так и не прочли инфу по ссылке, которую я дал.
Re: Подмена номера EXTEN, в контексте вывода CLI
Добавлено: 14 дек 2017, 09:40
Mitsumo
1. Не надо цитировать предыдущий пост полностью. Это дурной тон.
Принял к сведению.
2. Вы так и не прочли инфу по ссылке, которую я дал.
Прочитал, про глобальные переменные я понял, я могу конечно это прописать в [globals], но мне придется менять диалплан под новую структуру, подумаю как оптимизировать используя глобальные переменные, но пока работает и так и все устраивает.
Re: Подмена номера EXTEN, в контексте вывода CLI
Добавлено: 14 дек 2017, 16:22
virus_net
Значит прочли через строчку. Там как раз рассказывается про ${EXTEN}:
${EXTEN}: The current extension - cannot be modified with the set command