This document was generated from CDN thread
Created by: Chandar vr on 26-03-2010 11:37:18 AM
Hi,
I am parsing CDR files which i get from one of my Call manager.
But i noticed that for few of the records for 'origIpAddr' i am getting a negative value.
For eg : -1527805675
Please help me on this..
Thanks/Chandar
Subject: RE: Getting negative Value
Replied by: MARTIN ERMEL on 06-12-2010 03:35:52 PM
Hi,
I am parsing CDR files which i get from one of my Call manager.
But i noticed that for few of the records for 'origIpAddr' i am getting a negative value.
For eg : -1527805675
Please help me on this..
Thanks/Chandar
have a look here:
http://www.ciscosystems.cg/en/US/docs/voice_ip_comm/cucm/service/7_1_2/cdrdef/cdrcallinfo.html#wp1051240
IP Addresses
The system stores IP addresses as unsigned integers. The CDR file
displays IP addresses as signed integers. To convert the signed decimal
value to an IP address, first convert the value to a hex number, taking
into consideration that it is really an unsigned number. The 32-bit hex
value represents four bytes in reverse order (Intel standard). To
determine the IP address, reverse the order of the bytes and convert
each byte to a decimal number. The resulting four bytes represent the
four-byte fields of the IP address in dotted decimal notation.
Note The file displays a negative number when the low byte of the IP address has the most significant bit set.
For example, the IP address 192.168.18.188 displays as -1139627840. To convert this IP address, perform the following procedure:
Step 1 Convert the database display (-1139627840) to a hex value.
The hex value equals 0xBC12A8C0.
Step 2 Reverse the order of the hex bytes, as shown below:
CO A8 12 BC
Step 3 Convert the four bytes from hex to decimal, as shown below:
192 168 18 188
Step 4 The IP address displays in the dotted decimal format:
192.168.18.188
EDIT (2022-09-28): working link to a doc that explains this is:
https://www.cisco.com/en/US/docs/voice_ip_comm/cucm/trouble/3_1_1/TrblD.html#wp1003522