Страница 1 из 2
Подмена номера в CDR-файле TrixBox
Добавлено: 03 мар 2011, 16:59
Zebar
Добрый день!
Дошли руки до импорта звонков в WinTariff.
У нас своя серия номеров - 2927XX
При звонках "наружу" внутренний номер абонента подменяется на внешний, иначе вышестоящая АТС не выпустит.
В результате в CSV-файл логов попадает следующее:
CLID= "2247" <4855292790>, SRC=4855292790
И, как я понимаю, WinTariff видит номер вида 4855292790, удивляется(?) и не импортирует данный вызов.
Я попытался использовать дополнительные поля для вывода нужной информации.
В extensions_custom.conf прописал следующее:
[from-internal-custom]
exten => _9256XXX,n,NoOp(${EXTEN})
exten => _9256XXX,n,Set(CDR(userfield)=test)
Как я понимаю, при наборе номера 9256XXX в лог в поле userfield должно попадать слово test
Сделал sip reload
В файле cdr_custom.conf
давно прописано Следующее:
[mappings]
Master.csv => ${CSV_QUOTE(${CDR(clid)})}, [порезал лишнее] ${CSV_QUOTE(${CDR(uniqueid)})},${CSV_QUOTE(${CDR(userfield)})}
В общем, CSV-файлы пишутся, слово test не попадает.
Вопрос:
Как все-таки правильно сделать, чтобы можно было установить userfield в CVS-файле? По-идее, я туда запихаю какой-нибудь ${EXTEN}
Или как сделать так, чтобы в этом файле CallerID или Source записывался внутренним номером, а не внешним, и чтобы вышестоящая АТС получала от нас все-таки внешний номер, а не внутренний.
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 03 мар 2011, 17:24
ded
[from-internal-custom]
exten => _9256XXX,1,NoOp(${EXTEN})
exten => _9256XXX,n,Set(CDR(userfield)=test)
exten => _9256XXX,n,NoOp(${CDR(userfield)}) ; ну смотрите тут, что там напихалось, будет ли test?
а лучше то туда внутренний номер, как хотелось запихнуть?
exten => _9256XXX,n,Set(CDR(userfield)=${CALLERID(num)})
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 03 мар 2011, 17:28
ded
Zebar писал(а):Или как сделать так, чтобы в этом файле CallerID или Source записывался внутренним номером, а не внешним, и чтобы вышестоящая АТС получала от нас все-таки внешний номер, а не внутренний.
Или - или.
Можно как пытались - внутренний номер в качестве CallerID name, но не покатило ведь?
А чтобы вышестоящая АТС получала от вас все-таки внешний номер укажите его на транке во freePBX.
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 03 мар 2011, 17:32
Zebar
ded писал(а):Zebar писал(а):Или как сделать так, чтобы в этом файле CallerID или Source записывался внутренним номером, а не внешним, и чтобы вышестоящая АТС получала от нас все-таки внешний номер, а не внутренний.
Или - или.
Можно как пытались - внутренний номер в качестве CallerID name, но не покатило ведь?
А чтобы вышестоящая АТС получала от вас все-таки внешний номер укажите его на транке во freePBX.
Насчет внутренний номер в качестве CallerID - даже не пробовал.
И указать номер на транке тоже неинтересно.
Весь смысл в том, что у нас серия на 100 номеров. И мне абсолютно не хочется прикрывать всех единым номером.
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 03 мар 2011, 17:47
Zebar
В общем, ситуация такая:
[from-internal-custom]
exten => _9.,1,Set(CDR(userfield)=${CALLERID(num)})
Я все сократил, оставил одну строчку. После этого в логах перестал писаться CLID, теперь появляется только общий CLID канала.
Так что временно я это дело закомментировал.
Похоже, что в результате этой строки CLID уже не устанавливается.
Какие еще есть идеи?
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 03 мар 2011, 18:12
ded
Что у вас серия на 100 номеров и нет желания прикрывать всех одним номером сказано не было.
Идеи такие: указать каждому экстену его личний внешний номер из этих 100 в поле Outbound callerID.
При звонках внутри на экранах и в CDR рисуется внутренний номер, при внешних звонках - внешний.
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 03 мар 2011, 18:21
Zebar
ded писал(а):Что у вас серия на 100 номеров и нет желания прикрывать всех одним номером сказано не было.
Идеи такие: указать каждому экстену его личний внешний номер из этих 100 в поле Outbound callerID.
При звонках внутри на экранах и в CDR рисуется внутренний номер, при внешних звонках - внешний.
Про серию было сказано в самом начале.
Что касается Outbound CID - сейчас именно так и сделано.
Например, мой номер прописан так: "2205" <4852292790>
И вот тут-то как раз и получается та проблема, с которой я борюсь -
ded писал(а):При звонках внутри на экранах и в CDR рисуется внутренний номер, при внешних звонках - внешний.
В результате в логах моих звонков наружу наблюдается именно мой внешний номер, которы 4852292790, и его Wintariff не кушает.
Задача в том и есть, этот номер оставить, но в логах чтобы был мой внутренний номер 2205
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 03 мар 2011, 20:49
ded
Zebar писал(а):ded писал(а):Можно как пытались - внутренний номер в качестве CallerID name, но не покатило ведь?
Насчет внутренний номер в качестве CallerID - даже не пробовал.
Чудак-человек!
Zebar писал(а):Например, мой номер прописан так: "2205" <4852292790>.
Это и есть внутренний номер в качестве CallerID name!
Полный формат номера - переменная CALLERID(all) состоит из CallerID name + CallerID num "2205" <4852292790> или "Zebar" <2205>
Отдельно каждая половинка - в переменных CALLERID(name) & CALLERID(num) то есть
CALLERID(name) = "Zebar"
CALLERID(num) = 2205
ded писал(а):Идеи такие: указать каждому экстену его личний внешний номер из этих 100 в поле Outbound callerID.
При звонках внутри на экранах и в CDR рисуется внутренний номер, при внешних звонках - внешний.
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 04 мар 2011, 08:07
Zebar
ded писал(а):Это и есть внутренний номер в качестве CallerID name!
Полный формат номера - переменная CALLERID(all) состоит из CallerID name + CallerID num "2205" <4852292790> или "Zebar" <2205>
Отдельно каждая половинка - в переменных CALLERID(name) & CALLERID(num) то есть
CALLERID(name) = "Zebar"
CALLERID(num) = 2205
Уважаемый ded!
Я очень благодарен за описание CallerID, но, к сожалению, данная информация ни на шаг не приблизила меня к решению задачи.
Последнее, что было мной сделано - это добавление строки
exten => s,n,Set(CDR(userfield)=${CALLERID(num)})
второй строчкой в макрос macro-outbound-callerid в файле extensions_additional.conf
Я прекрасно понимаю, что это неправильно - правильно писать в макрос macro-outbound-callerid-custom в файле extensions_custom.conf
Но, к сожалению, это не работает.
Похоже, единственный вариант, который мне остается - писать конвертер, который будет разбирать CallerID и заменять его на короткий.
Re: Подмена номера в CDR-файле TrixBox
Добавлено: 05 мар 2011, 01:23
ded
Zebar писал(а):Я прекрасно понимаю, что это неправильно - правильно писать в макрос macro-outbound-callerid-custom в файле extensions_custom.conf
Нет, это не правильно. Макросы -custom хоть инклюдятся автоматом, но не будут работать.