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

Подмена номера в CDR-файле TrixBox

Обо всем касательно FreePBX, MetPBX, TrixBox, Elastix, AstPBX и всех других дистрибутивов

Модераторы: april22, Zavr2008

Zebar
Сообщения: 51
Зарегистрирован: 07 сен 2010, 08:54

Re: Подмена номера в CDR-файле TrixBox

Сообщение Zebar »

ded писал(а):
Zebar писал(а):Я прекрасно понимаю, что это неправильно - правильно писать в макрос macro-outbound-callerid-custom в файле extensions_custom.conf
Нет, это не правильно. Макросы -custom хоть инклюдятся автоматом, но не будут работать.
Я извиняюсь, а как тогда правильно делать?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Подмена номера в CDR-файле TrixBox

Сообщение ded »

Написать макрос predial-hook в котором установить userfield.
Zebar
Сообщения: 51
Зарегистрирован: 07 сен 2010, 08:54

Re: Подмена номера в CDR-файле TrixBox

Сообщение Zebar »

ded писал(а):Написать макрос predial-hook в котором установить userfield.
Увы мне :(
В этом адресе уже полные номера - в лог попадает 4852292929 вместо 3452
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Подмена номера в CDR-файле TrixBox

Сообщение ded »

Осваивайте переменные Астериска
http://asterisk.ru/knowledgebase/Asterisk+Variables
и операции над ними. Типа, усекновение головы Иоана-крестителя.
Выгружать содержимое - вставляя шаг NoOp
exten => s,n,NoOp(${CHANNEL})
увидите в командной строке что-то типа
NoOp("SIP/1001-00000040", "SIP/1001-00000040")
из которого понятно, что нам надо отрезать первые 4 символа - SIP/, следующие 4 записать в переменную например, а остальные выкинуть, таким образом получить номер экстеншн
exten => s,n,NoOp(${CHANNEL:4:4})
И это тоже можно увидеть.
Дальше не буду подсказывать?
Zebar
Сообщения: 51
Зарегистрирован: 07 сен 2010, 08:54

Re: Подмена номера в CDR-файле TrixBox

Сообщение Zebar »

ded писал(а):Осваивайте переменные Астериска
http://asterisk.ru/knowledgebase/Asterisk+Variables
и операции над ними. Типа, усекновение головы Иоана-крестителя.
Выгружать содержимое - вставляя шаг NoOp
exten => s,n,NoOp(${CHANNEL})
увидите в командной строке что-то типа
NoOp("SIP/1001-00000040", "SIP/1001-00000040")
из которого понятно, что нам надо отрезать первые 4 символа - SIP/, следующие 4 записать в переменную например, а остальные выкинуть, таким образом получить номер экстеншн
exten => s,n,NoOp(${CHANNEL:4:4})
И это тоже можно увидеть.
Дальше не буду подсказывать?
Подсказывать не надо.
Такой вариант не подходит.
Для транзитных вызовов с другой АТС в логах записи типа
Executing [s@macro-dialout-trunk-predial-hook:1] NoOp("DAHDI/33-1", "DAHDI/33-1") in new stack
Zebar
Сообщения: 51
Зарегистрирован: 07 сен 2010, 08:54

Re: Подмена номера в CDR-файле TrixBox

Сообщение Zebar »

В общем, разобрался:

Код: Выделить всё

[macro-dialout-trunk-predial-hook]
exten => s,1,Set(CDR(userfield)=${CALLERID(name)})
Всем спасибо за помощь, тему закрываем :)
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH