[Asterisk-Dev] Real UniqueIDs (GUID/UUID) for CDRs

Paul Querna chip at force-elite.com
Wed Mar 30 15:56:18 MST 2005


Paul Querna wrote:
> Tilghman Lesher wrote:
> 
>> On Wednesday 30 March 2005 14:41, Michael Giagnocavo wrote:
>>
>>> A bit ago, there was a conversation about having GUIDs/UUIDs in CDRs.
>>> Something that'll be guaranteed unique even with a large farm of
>>> Asterisk servers busily generating CDRs.
>>>
>>> Instead of making up an algorithm, I just added support for uuids
>>> (libuuid), which bases off the MAC address and some other things, and
>>> gives a guarantee of uniqueness for a high-volume environment.
>>>
>>> There's a patch to the core CDR code, plus I made cdr_csv support it
>>> as well. To anyone interested, please add on patches for other CDR
>>> modules (I'm not familiar with them at all).
>>>
>>> http://bugs.digium.com/bug_view_page.php?bug_id=0003780
>>
>>
>>
>> libuuid is licensed under GPL, which is incompatible with the Asterisk
>> license, unless you can convince Digium to make another license
>> exception for libuuid.  Other than that, you'll also have to write your
>> own builtin implementation of uuid_generate_time(), as *BSD does not
>> contain an implementation of uuid_generate_time() either.
>>
> 
> UUID Code is available in FreeBSD under the BSD License:
> http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/uuid/
> 
> I wrote the code in the Apache Portable runtime that uses this...
> 

And, on further thought, the UUID generation function signatures are not 
protected by the GPL.

They are set by the OSF DCE 1.1 standard, and are available on other 
platforms like Solaris, as a system library.

And, on even further investigation, the libuuid provided as part of 
e2fsprogs is *NOT* even under the GPL. Look at 
e2fsprogs-1.36/lib/uuid/COPYING.  This entire discussion is void.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
    notice, and the entire permission notice in its entirety,
    including the disclaimer of warranties.
2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote
    products derived from this software without specific prior
    written permission.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.



More information about the asterisk-dev mailing list