Страница 1 из 2

Изменение входящего CallerID (num) и статистика.

Добавлено: 21 ноя 2013, 12:44
Tracer
Ситуация такая: входящие звонки модифицируются в зависимости от транка, через который вошли (у разных транков изначально разные форматы номеров), приводя все callerID(num) в единый стандарт, и пользователи на телефонах в результате видят однотипные номера.
Но!
В статистику, зараза такая, попадают старые немодифицированные номера. Ладно бы только статистика, так ещё и CRM у астериска эти данные выгребает и, опять же гадство, в неизменённом формате. Я начинающий, поэтому наверное чего-то недопонимаю, подскажите, плз.

Re: Изменение входящего CallerID (num) и статистика.

Добавлено: 21 ноя 2013, 13:34
ys1797
Почитать cdr.conf
Выбрать нужное.
Допилить через ResetCDR() до придания формы.

Re: Изменение входящего CallerID (num) и статистика.

Добавлено: 21 ноя 2013, 13:53
dmitriy.tarasov
Я пользуюсь CEL + cel_odbc (MySQL 5.6 - для поддержки микросекунд, в более ранних версиях микросекунды не поддерживаются). Информацию можно получить абсолютно любую, правда настраивать и тестировать долго нужно. Я, к примеру, после каждого звонка в отдельной таблице по триггеру извлекаю и вставляю нужные мне данные.

Re: Изменение входящего CallerID (num) и статистика.

Добавлено: 22 ноя 2013, 12:37
Tracer
dmitriy.tarasov писал(а):Я, к примеру, после каждого звонка в отдельной таблице по триггеру извлекаю и вставляю нужные мне данные.
Да вы, батенька, маньяк. :shock: Наверняка же эта очевидная функция реализована "прямым" путём. Просто мы о нем не знаем.
ys1797 писал(а):Почитать cdr.conf
Выбрать нужное.
Допилить через ResetCDR() до придания формы.
В cdr.conf ничего интересного не нашел -- он пустой вообще. Поскольку у меня cdr via sql, заглянул в cdr_mysql.conf - там только настройки по mysql. Можете конкретнее ткнуть?

ResetCDR() в этом аспекте непонятен: я его впихивал в свои скрипты и до изменений CallerID(num), и после -- никаких изменений. Добавил set(cdr(clid)=${CallerID(num)}) -- без толку. И даже Гугл ничем не помог.

Вот примерно так (в урезаном виде) все выглядит:
... начало поскипал...
same => n,ResetCDR();
same => n,GotoIf($[${LEN(${CALLERID(num)})} = 9]?add0)
same => n,GoTo(end)
same => n(add0),Set(CALLERID(num)=0${CALLERID(num)})

same => n(end),Set(CDR(clid)=${CALLERID(num)})
same => n,Goto(from-trunk,${EXTEN},1)
Ну скажите как правильно -- ну что вам стоит? =..(

Re: Изменение входящего CallerID (num) и статистика.

Добавлено: 22 ноя 2013, 14:35
zzuz
cdr(clid) - only-read . Читайте документацию.

Re: Изменение входящего CallerID (num) и статистика.

Добавлено: 22 ноя 2013, 15:59
Tracer
Читаю, конечно. Вот тут например написано: http://voip.rus.net/tiki-index.php?page ... k+func+cdr :
Данная функция может использоваться как для получения значения, так и для его установки.
*CLI> show function CDR
...скипано...
примеры

exten => s,1,Set(foo=${CDR(duration)})

exten => s,1,Set(CDR(clid)=Foo Fighters)
Лучше покажите как надо прописать, чтобы оно работало. Вот изменили вы, к примеру, CallerID(num)=12345 -- и что теперь пнуть, чтобы именно это попало в asteriskcdrdb ?

Re: Изменение входящего CallerID (num) и статистика.

Добавлено: 22 ноя 2013, 16:04
zzuz

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

CLI> core show function CDR
  Here is a list of all the available cdr field names:
    clid          lastdata       disposition
    src           start          amaflags
    dst           answer         accountcode
    dcontext      end            uniqueid
    dstchannel    duration       userfield
    lastapp       billsec        channel
" All of the above variables are read-only, except for accountcode,  userfield, and amaflags."
Ну если Вы думаете по-другому , то дело ваше.

Re: Изменение входящего CallerID (num) и статистика.

Добавлено: 22 ноя 2013, 16:05
zzuz
Для манипуляция с CDR() используйте команды
ForkCDR: Forks the Call Data Record
NoCDR: Tell Asterisk to not maintain a CDR for the current call
ResetCDR: Resets the Call Data Record

Re: Изменение входящего CallerID (num) и статистика.

Добавлено: 22 ноя 2013, 16:10
SolarW
С удовольствие прочитаю в этом топике решение, позволяющее записывать в статистику CID номера после модификации (приведенные к общему виду)

Re: Изменение входящего CallerID (num) и статистика.

Добавлено: 22 ноя 2013, 18:12
zzuz
Самое рабочее и простое решение - это писать свою статистику.