Index: Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/Makefile,v retrieving revision 1.141 diff -u -r1.141 Makefile --- Makefile 12 Mar 2005 05:37:32 -0000 1.141 +++ Makefile 17 Mar 2005 16:58:11 -0000 @@ -225,6 +225,7 @@ LIBS+=-lpthread -ldl -lnsl -lsocket -lresolv -L/usr/local/ssl/lib endif LIBS+=-lssl +LIBS+=-luuid OBJS=io.o sched.o logger.o frame.o loader.o config.o channel.o \ translate.o file.o say.o pbx.o cli.o md5.o term.o \ ulaw.o alaw.o callerid.o fskmodem.o image.o app.o \ Index: cdr.c =================================================================== RCS file: /usr/cvsroot/asterisk/cdr.c,v retrieving revision 1.31 diff -u -r1.31 cdr.c --- cdr.c 23 Feb 2005 22:48:47 -0000 1.31 +++ cdr.c 17 Mar 2005 16:58:12 -0000 @@ -25,6 +25,7 @@ #include #include #include +#include int ast_default_amaflags = AST_CDR_DOCUMENTATION; char ast_default_accountcode[20] = ""; @@ -532,6 +533,7 @@ int ast_cdr_init(struct ast_cdr *cdr, struct ast_channel *c) { + uuid_t uuid; char *chan; char *num; char tmp[AST_MAX_EXTENSION] = ""; @@ -573,8 +575,10 @@ /* Destination information */ strncpy(cdr->dst, c->exten, sizeof(cdr->dst) - 1); strncpy(cdr->dcontext, c->context, sizeof(cdr->dcontext) - 1); + /* Unique call identifier */ - strncpy(cdr->uniqueid, c->uniqueid, sizeof(cdr->uniqueid) - 1); + uuid_generate_time(uuid); + uuid_unparse(uuid, cdr->uniqueid); } cdr = cdr->next; } Index: include/asterisk/cdr.h =================================================================== RCS file: /usr/cvsroot/asterisk/include/asterisk/cdr.h,v retrieving revision 1.21 diff -u -r1.21 cdr.h --- include/asterisk/cdr.h 23 Feb 2005 22:48:47 -0000 1.21 +++ include/asterisk/cdr.h 17 Mar 2005 16:58:14 -0000 @@ -77,8 +77,8 @@ char accountcode[20]; /*! flags */ unsigned int flags; - /* Unique Channel Identifier */ - char uniqueid[32]; + /* Globally Unique Identifier (16-byte UUID in standard 36-byte format + null) */ + char uniqueid[37]; /* User field */ char userfield[AST_MAX_USER_FIELD];