Страница 2 из 2
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 05 мар 2011, 08:10
Zebar
ded писал(а):Zebar писал(а):Я прекрасно понимаю, что это неправильно - правильно писать в макрос macro-outbound-callerid-custom в файле extensions_custom.conf
Нет, это не правильно. Макросы -custom хоть инклюдятся автоматом, но не будут работать.
Я извиняюсь, а как тогда правильно делать?
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 05 мар 2011, 13:21
ded
Написать макрос predial-hook в котором установить userfield.
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 11 мар 2011, 23:03
Zebar
ded писал(а):Написать макрос predial-hook в котором установить userfield.
Увы мне
В этом адресе уже полные номера - в лог попадает 4852292929 вместо 3452
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 12 мар 2011, 01:36
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})
И это тоже можно увидеть.
Дальше не буду подсказывать?
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 12 мар 2011, 13:28
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
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 12 мар 2011, 13:55
Zebar
В общем, разобрался:
Код: Выделить всё
[macro-dialout-trunk-predial-hook]
exten => s,1,Set(CDR(userfield)=${CALLERID(name)})
Всем спасибо за помощь, тему закрываем