On 06/03/2013 11:20 AM, Olivier wrote:
> Hi,
> 
> When dealing with CDR SQL tables, I always added an auto-incremented
> cdr_id key as a primary key, just in case provided uniqueid key went wrong.
> 
> Now I'm facing a situation where I need to insert into a database's
> table and from the dialplan, a reference to the CDR record which is
> currently processed.
> 
> So my questions are:
> 
> 1. Can uniqueid/sequence (or uniqueid/sequence/calldate) bundle be
> safely used as CDR's table primary key  (ie I cannot have any
> uniqueid/sequence combination from one CDR record to match a past
> uniqueid/sequence combination) ?

Possibly. Things to keep in mind:

* You can run into uniqueid collisions across multiple systems if you do
not specify a system name in asterisk.conf or do not specify a unique
system name in asterisk.conf.
* You can run into uniqueid collisions if your system clock goes
backwards for any reason (the uniqueid for a channel happens to use a
timestamp for its uniqueness)

Whether or not this is unique enough will be completely dependent on
your overall system configuration.

In general, the recommended combination that *should* uniquely specify a
CDR (when configured correctly) is linkedid (which should be enabled and
added to your schema), uniqueid, and sequence number, with the asterisk
system name specified.

-- 
Matthew Jordan
Digium, Inc. | Engineering Manager
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org



--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to