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

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

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

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

Tracer
Сообщения: 7
Зарегистрирован: 19 ноя 2013, 19:56

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

Сообщение Tracer »

Ситуация такая: входящие звонки модифицируются в зависимости от транка, через который вошли (у разных транков изначально разные форматы номеров), приводя все callerID(num) в единый стандарт, и пользователи на телефонах в результате видят однотипные номера.
Но!
В статистику, зараза такая, попадают старые немодифицированные номера. Ладно бы только статистика, так ещё и CRM у астериска эти данные выгребает и, опять же гадство, в неизменённом формате. Я начинающий, поэтому наверное чего-то недопонимаю, подскажите, плз.
ys1797
Сообщения: 240
Зарегистрирован: 28 июн 2011, 17:59

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

Сообщение ys1797 »

Почитать cdr.conf
Выбрать нужное.
Допилить через ResetCDR() до придания формы.
dmitriy.tarasov
Сообщения: 17
Зарегистрирован: 07 авг 2013, 17:03

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

Сообщение dmitriy.tarasov »

Я пользуюсь CEL + cel_odbc (MySQL 5.6 - для поддержки микросекунд, в более ранних версиях микросекунды не поддерживаются). Информацию можно получить абсолютно любую, правда настраивать и тестировать долго нужно. Я, к примеру, после каждого звонка в отдельной таблице по триггеру извлекаю и вставляю нужные мне данные.
Tracer
Сообщения: 7
Зарегистрирован: 19 ноя 2013, 19:56

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

Сообщение 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)
Ну скажите как правильно -- ну что вам стоит? =..(
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

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

Сообщение zzuz »

cdr(clid) - only-read . Читайте документацию.
Линия24 - Системы Массового Телефонного Обслуживания
Tracer
Сообщения: 7
Зарегистрирован: 19 ноя 2013, 19:56

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

Сообщение 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 ?
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

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

Сообщение 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."
Ну если Вы думаете по-другому , то дело ваше.
Последний раз редактировалось zzuz 22 ноя 2013, 16:06, всего редактировалось 1 раз.
Линия24 - Системы Массового Телефонного Обслуживания
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

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

Сообщение 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
Линия24 - Системы Массового Телефонного Обслуживания
Аватара пользователя
SolarW
Сообщения: 1331
Зарегистрирован: 01 сен 2010, 14:21
Откуда: Днепропетровск, Украина

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

Сообщение SolarW »

С удовольствие прочитаю в этом топике решение, позволяющее записывать в статистику CID номера после модификации (приведенные к общему виду)
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

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

Сообщение zzuz »

Самое рабочее и простое решение - это писать свою статистику.
Линия24 - Системы Массового Телефонного Обслуживания
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH