Страница 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 писал(а):Я, к примеру, после каждого звонка в отдельной таблице по триггеру извлекаю и вставляю нужные мне данные.
Да вы, батенька, маньяк. 

  Наверняка же эта очевидная функция реализована "прямым" путём. Просто мы о нем не знаем.
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
				Самое рабочее и простое решение - это писать свою статистику.