Feedback

  • Contents
 

Audit Table logs configuration changes

The Audit table (i3_AuditConfigChanges40) tracks changes made to configurations. Auditing authorizes each Outbound Dialer Server to record which user changed an object, and the properties of the object that changed.

When Auditing is enabled, ODS servers send logging messages to the DialerTranServer process on the Central Campaign Server. In turn, it writes records in the Audit table on the database server. The system uses one audit table (per Central Campaign Server) that is stored on the database. Audit entries that are older than a configurable retention period are automatically removed from the Audit table.

Audit Table Schema

The Audit table tracks changes made to configurations.  Auditing authorizes Dialer Manager (on each Outbound Dialer) to record which user changed an object, and the properties of the object that changed. 

When Auditing is enabled, Dialer Manager sends logging messages to the DialerTranServer process on the Central Campaign server.  In turn, it writes records in the Audit table on the database server.  The system uses one audit table (per Central Campaign server) that is stored on the database.  Audit entries that are older than a configurable retention period are automatically removed from the Audit table.

Column

SQL Server Data Type

Oracle Data type

Null

Description

audittimeUTC

PK, datetime2(2)

timestamp

NOT NULL

The date and time when the change was made. Technically the time when the audit entry was inserted into this table.

sequenceId

PK, smallint

number(5)

NOT NULL

This sequence number is incremented for records that are inserted within the same second, to ensure that even if a batch of records are inserted at the exact same instant, they can be uniquely identified, even if the audittimeUTC values are the same.

siteId

nvarchar(80)

nvarchar2(80)

NULL

The Dialer site from which the change originated. This will be null if the change was made by CampaignServer.

siteOffset

int

number(10)

NOT NULL

The time zone offset of the Dialer site from which the change originated. This is the number of seconds that should be added to the audittimeUTC value to get the local time on the site.

icuser

nvarchar(80)

nvarchar2(80)

NULL

The CIC user name of the user that made the change. This will be null if the change was made by CampaignServer.

ntuser

nvarchar(80)

nvarchar2(80)

NULL

The Windows NT user name of the person who made listed configuration changes—the logged on user. This will be null if the change was made by CampaignServer.

app

nvarchar(80)

nvarchar2(80)

NOT NULL

The Interaction Dialer application that was used to make a change (Dialer Manager, CampaignServer, etc.).

computer

nvarchar(80)

nvarchar2(80)

NOT NULL

The name of the computer used to make the change.

objectType

varchar(32)

varchar2(32)

NULL

This is the descriptive name of the type of object that was changed. Examples include Campaign, Policy Set, Contact Column and so on.

objectId

varchar(38)

varchar2(38)

NULL

The id of the object that was changed. This is the GUID of the object.

objectName

nvarchar(255)

nvarchar2(255)

NULL

The name of the object that was changed, if it has one.

propertyName

varchar(48)

varchar2(48)

NULL

The name of the property that was changed if a specific property was changed. For some changes this will be a generic description. An example would be when a schedule is changed, since schedules don't have properties in the same way as other objects, the propertyName is simply Schedule.

previousValue

nvarchar(max)

nblob

NULL

The value of the property or object before the change. This will be null if the entry is recording the creation of an object.

updatedValue

nvarchar(max)

nclob

NULL

The value of the property or object after the change. This will be null if the entry is recording the deletion of an object.

correlationId

bigint

number(38)

NOT NULL

This arbitrary number correlates simultaneous changes, meaning if a client changes multiple properties in a single operation they will each get a separate row in the auditing table but will share the same correlationId.

context

nvarchar(max)

nclob

NULL

This field records data about the context of the object that was changed in a brief XML format.It always contains the object that was changed, and if that object logically belongs to another object then it will include the parent object(s), in order.

The purpose of this field is to allow reporting to display the hierarchy of objects so that when, for example, a rule is changed it is easy to see which rule set contains that rule.

The format of the objects in this field is:

<o name="(object name)" id="(object id)" type="(object type)" />

Note that the elements are not nested, they're simply listed in order from parent to child.

An example where the details of a rule action named 'Set Call Timeout' contained in a rule named 'Set timeout values' contained in a rule set named 'Change Campaign Values' would look like this:

<o name="Change Campaign Values" id="{AB3881F7-5762-4E9C-99C5-1EB4AE262C50}" type="Rule Set" /><o name="Set timeout values" id="{61AB9BD5-212D-427B-A686-A299A6A85D5B}" type="Rule" /><o name="Set Call Timeout" id="{0C870E31-0330-4845-984F-A3FB4527AA17}" type="Rule Action" />

A multi-column primary key is defined on the table using audittimeUTC and sequenceId. As noted in the schema, object creations can be identified by rows where the previousValue is null, and object deletions can be identified by rows where the updatedValue is null.

Some object types have their values specially formatted to make changes easier to digest visually.  Zones and schedules are the only objects that do this currently.