UC540 Call Accounting CDR Format

Answered Question
Mar 19th, 2010
User Badges:

I am writing an application to take one or multiple Call Detail Records files and insert the data into an SQL database. I haven't been able to find any useful documentation at all on what is what in the CDR (which is basically a CSV file).


I can certainly hazard guesses as to what the data in each field is, but does anyone have any documentation, be it official or not, describing this data?


Where is Cisco on this?


Thanks

Correct Answer by vcappucc about 7 years 3 months ago

Andrew, Thanks for sharing your CVS record, I did not have a UC500 device near, and be able to generate a CDR Record, however based on your output and on this link: http://www.cisco.com/en/US/docs/ios/voice/cdr/developer/guide/cdrcsv.html#wp1172378 i got the following


unix_timecall-idcdr-typeleg-typeh323-conf-idpeer-addresspeer-sub-addressh323-setup-timealert-timeh323-connect-timeh323-disconnect-timeh323-disconnect-causedisconnect-texth323-call-origincharged-unitsinfo-typepaks-outbytes-outpaks-inbytes-inusernamecliddnisgtd-orig-cicgtd-term-cictx-durationpeer-idpeer-if-indexlogical-if-indexacom-levelnoise-levelvoice-tx-durationaccount-codecodec-bytescodec-type-rateontime-rv-playoutremote-udp-portremote-media-udp-portvad-enablereceive-delayround-trip-delayhiwater-playout-delaylowater-playout-delaygapfill-with-interpolationgapfill-with-redundancygapfill-with-silencegapfill-with-predictionearly-packetslate-packetslost-packetsmax-bitratefaxrelay-start-timefaxrelay-stop-timefaxrelay-max-jit-buf-depthfaxrelay-jit-buf-ovflowfaxrelay-init-hs-modfaxrelay-mr-hs-modfaxrelay-num-pagesfaxrelay-tx-packetsfaxrelay-rx-packetsfaxrelay-directionfaxrelay-pkt-concealfaxrelay-ecm-statusfaxrelay-encap-protocolfaxrelay-nsf-country-codefaxrelay-nsf-manuf-codefaxrelay-fax-successoverride-session-timeh323-ivr-outinternal-error-codeh323-voice-qualityremote-media-addressremote-media-idcarrier-idcalling-party-categoryoriginating-line-infocharge-numbertransmission-medium-reqservice-descriptoroutgoing-areaincoming-areaout-trunkgroup-labelout-carrier-iddsp-idin-trunkgroup-labelin-carrier-idcust-biz-grp-idsupp-svc-xfer-byvoice-featurefeature-operationfeature-op-statusfeature-op-timefeature-idgw-rxd-cdngw-rxd-cgngtd-gw-rxd-ocngtd-gw-rxd-cnngw-rxd-rdngw-final-xlated-cdngw-final-xlated-cgngw-final-xlated-rdngk-xlated-cdngk-xlated-cgngw-collected-cdnip-hopredirected-stationsubscriberin-intrfc-descout-intrfc-descsession-protocollocal-hostnamebackward-call-idfeature-id_field1feature-id_field2feature-id_field3feature-id_field4feature-id_field5feature-id_field6feature-id_field7feature-id_field8feature-id_field9feature-id_field10feature-id_field11feature-id_field12
12685161571750138753326 2E1F11DF 80C6A200 FBA9FC2E16:35:47.055 EST Sat Mar 13 201016:35:57.045 EST Sat Mar 13 201016:35:57.045 EST Sat Mar 13 2010answer000121193602342340Tariff:Unknown0ton:0,npi:0,pi:0,si:0,#:23474162200238RegularLineTWC35:47.123408138753326 2E1F11DF 80C6A200 FBA9FC2EAFdn:shared
usr:amellingtag:3


Thanks,

Victor.-

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
amelling1 Fri, 03/19/2010 - 15:01
User Badges:

Hi Victor - thank you for your response, however the CDR data I have from my UC looks very different from what the document describes.


Here is an example record:



1268516157,175,0,1,"38753326 2E1F11DF 80C6A200 FBA9FC2E","","","16:35:47.055 EST Sat Mar 13 2010","","16:35:57.045 EST Sat Mar 13 2010","16:35:57.045 EST Sat Mar 13 2010","","","answer",0,"",0,0,121,19360,"234","234","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",0,"Tariff:Unknown","","0","","","","","","","","","","","","","","","","","","","","","","","","ton:0,npi:0,pi:0,si:0,#:234","","","","","","","","","74162200238","","","RegularLine","","","","","","TWC","03/13/2010 16:35:47.055","234","",0,81,38753326 2E1F11DF 80C6A200 FBA9FC2E,AF,"","","","","dn:shared,usr:amelling,tag:3","cme","",""


As you can see, there are many more fields in my record...

Correct Answer
vcappucc Fri, 03/19/2010 - 17:50
User Badges:
  • Bronze, 100 points or more

Andrew, Thanks for sharing your CVS record, I did not have a UC500 device near, and be able to generate a CDR Record, however based on your output and on this link: http://www.cisco.com/en/US/docs/ios/voice/cdr/developer/guide/cdrcsv.html#wp1172378 i got the following


unix_timecall-idcdr-typeleg-typeh323-conf-idpeer-addresspeer-sub-addressh323-setup-timealert-timeh323-connect-timeh323-disconnect-timeh323-disconnect-causedisconnect-texth323-call-origincharged-unitsinfo-typepaks-outbytes-outpaks-inbytes-inusernamecliddnisgtd-orig-cicgtd-term-cictx-durationpeer-idpeer-if-indexlogical-if-indexacom-levelnoise-levelvoice-tx-durationaccount-codecodec-bytescodec-type-rateontime-rv-playoutremote-udp-portremote-media-udp-portvad-enablereceive-delayround-trip-delayhiwater-playout-delaylowater-playout-delaygapfill-with-interpolationgapfill-with-redundancygapfill-with-silencegapfill-with-predictionearly-packetslate-packetslost-packetsmax-bitratefaxrelay-start-timefaxrelay-stop-timefaxrelay-max-jit-buf-depthfaxrelay-jit-buf-ovflowfaxrelay-init-hs-modfaxrelay-mr-hs-modfaxrelay-num-pagesfaxrelay-tx-packetsfaxrelay-rx-packetsfaxrelay-directionfaxrelay-pkt-concealfaxrelay-ecm-statusfaxrelay-encap-protocolfaxrelay-nsf-country-codefaxrelay-nsf-manuf-codefaxrelay-fax-successoverride-session-timeh323-ivr-outinternal-error-codeh323-voice-qualityremote-media-addressremote-media-idcarrier-idcalling-party-categoryoriginating-line-infocharge-numbertransmission-medium-reqservice-descriptoroutgoing-areaincoming-areaout-trunkgroup-labelout-carrier-iddsp-idin-trunkgroup-labelin-carrier-idcust-biz-grp-idsupp-svc-xfer-byvoice-featurefeature-operationfeature-op-statusfeature-op-timefeature-idgw-rxd-cdngw-rxd-cgngtd-gw-rxd-ocngtd-gw-rxd-cnngw-rxd-rdngw-final-xlated-cdngw-final-xlated-cgngw-final-xlated-rdngk-xlated-cdngk-xlated-cgngw-collected-cdnip-hopredirected-stationsubscriberin-intrfc-descout-intrfc-descsession-protocollocal-hostnamebackward-call-idfeature-id_field1feature-id_field2feature-id_field3feature-id_field4feature-id_field5feature-id_field6feature-id_field7feature-id_field8feature-id_field9feature-id_field10feature-id_field11feature-id_field12
12685161571750138753326 2E1F11DF 80C6A200 FBA9FC2E16:35:47.055 EST Sat Mar 13 201016:35:57.045 EST Sat Mar 13 201016:35:57.045 EST Sat Mar 13 2010answer000121193602342340Tariff:Unknown0ton:0,npi:0,pi:0,si:0,#:23474162200238RegularLineTWC35:47.123408138753326 2E1F11DF 80C6A200 FBA9FC2EAFdn:shared
usr:amellingtag:3


Thanks,

Victor.-

amelling1 Sat, 03/20/2010 - 05:44
User Badges:

Victor, you're the man.


That's exactly what I was looking for. Thank you

amelling1 Mon, 10/25/2010 - 07:28
User Badges:

Hi Victor


I'm just now writing my parser app for the CDR files, and I have found a problem near the end...


At the field "feature-id_field8", you have "AF", which is correct, however you neglected four following empty fields. There are then four additional fields that seem to be outside the scope of the specification in the document you refer to...


-----------------------------------------------------


feature-id_field8: AF
feature-id_field9:
feature-id_field10:
feature-id_field11:
feature-id_field12:
: dn:shared,usr:amelling,tag:3
: cme
:
:


-----------------------------------------------------


Help?

david.knet Tue, 07/12/2011 - 04:02
User Badges:

Hello Andrew,


Did you find the answer for additional fields?


I have the same problem.


Regards.

Pedro Macedo Thu, 08/25/2011 - 09:01
User Badges:

Victor,

The description of the format has been extremely helpful. Unfortunately, all of the CDR's coming out of a UC540 running 8.2.0 come with a null value for field 31 "voice-tx-duration" which is suposed to be the duration, in ms, of the call.

The template format I have is set to "cdr-type 0", meaning none, so all values ought to be reported.

Should I set a flag to make the UC540 count the ms? Any hints?

Thanks.

Pedro.

felixguzman Tue, 11/06/2012 - 07:50
User Badges:

Hello Victor, You can send account code via syslog server (FAC-- service clid_authen_collect)?


Thanks


Regards, FGA

vcappucc Fri, 03/19/2010 - 14:25
User Badges:
  • Bronze, 100 points or more


Hello Andrew,


CDRs are created by default in the Cisco Unified CallManager  Express system, and these records contain starts, stops, attempts,  failures, and other information about all the calls in the system.


Billing is achieved through the use of account code field in the  CDRs, the account code field is added through the use of the softkey  during the call Alerting or Connected state.


To view  an account code from the CLI, use the show call active voice command


UC500#show  call active voice  | inc AccountCode
AccountCode 1234


Please find a sample configuration:


UC500(config)#service timestamps log datetime msec  localtime
UC500(config)#aaa new-model
UC500(config)#aaa authentication login default none
UC500(config)#aaa accounting connection H.323 start-stop radius
UC500(config)#gw-accounting syslog
UC500(config)#logging 192.168.10.123  !send the call history to an  external syslog server.
UC500(config)#dial-control-mib retain-timer 10000 !log call history to  the buffer
UC500(config)#dial-control-mib max-size 500
UC500(config)#logging buffered 51200


This  Configuration is greatly explained in this link http://www.cisco.com/en/US/tech/tk1077/technologies_tech_note09186a0080094e72.shtml  also in this page you can find a sample CDR, and the meaning of each  field, and I know about cisco partner that are developing application with information gathered   please check http://forums.cisco.com/eforum/servlet/IPCApps?page=Application_Search


Also please before doing any configuration via CLI, refer to the OOB  Giude,  so the  configuration done can be recognized and read in by CCA https://supportforums.cisco.com/docs/DOC-9809



Thank you,

Victor.-

Pedro Macedo Wed, 08/24/2011 - 16:06
User Badges:

The description of the format has been extremely helpful. Unfortunately, all of the CDR's coming out of a UC540 running 8.2.0 come with a null value for field 31 "voice-tx-duration" which is suposed to be the duration, in ms, of the call.

The template format I have is set to "cdr-type 0", meaning none, so all values ought to be reported.

Should I set a flag to make the UC540 count the ms?

Thanks.

paolo bevilacqua Tue, 11/06/2012 - 07:57
User Badges:
  • Super Gold, 25000 points or more
  • Hall of Fame,

    Founding Member

Update IOS and check again.

Actions

This Discussion

Related Content