[asterisk-users] Simple CDRs

Anthony Francis anthonyf at rockynet.com
Fri Jan 9 20:44:44 CST 2009


Tilghman Lesher wrote:
> On Friday 09 January 2009 13:52:56 Anthony Francis wrote:
>   
>> Tilghman Lesher wrote:
>>     
>>> We are entirely interested in DETERMINISTIC methods of uniqueness, not
>>> random and hope-for-the-best.  Given a truly random generator, it is
>>> possible for the same number to come up 100 times in sequence.  That is
>>> part of what random means.  It may be statistically unlikely, but it is
>>> just as likely as any other sequence.  When it comes to fragility, using
>>> a random number for a UUID is NOT deterministic and MAY produce
>>> collisions.
>>>       
>> I may be over simplifying but I would have a serial number object that
>> gets incremented anytime it is called and will be set to 0 at start-up.
>> I would then use it to generate a UUID like this:
>> MAC.serialid.64bit timedate
>>
>> Not only would this number be perfectly universally unique (as long as
>> you dont falsify the MAC) but from a record standpoint it gives you
>> easily parsable information in a single field, the id of the call for
>> referential integrity, the machine that generated the uuid, the calls
>> created since start at the time of the call creation, and the exact time
>> of creation with microseconds.
>>     
>
> Of course, one of the problems comes in with:  what do you do for machines
> which don't have a MAC address?  We've been approached by individuals who
> use virtualized network addresses and don't have direct access to their MAC
> address (which is somewhat important for things like G729 licenses).  What do
> you do for them?
>
>   
In cases of virtualization, at least in xen you can give a virtual 
machine access to a physical card, if not, then fake it using a fake mac 
address on each virtual machine in the research range of addresses, 
after all, you only really care about not conflicting with UUIDs in your 
own system.

Anthony



More information about the asterisk-users mailing list