SmartAuditor SDK
SmartAuditor Event API
Overview
SmartAuditor provides the ability to record ICA sessions.The purpose of the SmartAuditor Event API is to allow third parties to augment session recordings with application specific event data. Arbitrary data can be added to the SmartAuditor recording stream in real-time during recording, and the same data can be retrieved in real-time during playback.
Basic Concept
The SmartAuditor Agent provides a simple COM interface that third party applications can use to add application specific event data into the recorded session.
Session Recording
SmartAuditor Event Data during recording 
The above diagram shows a published application running on Presentation Server with SmartAuditor session recording enabled. During the lifetime of the recorded session, the published application can add application specific event data into the recorded stream using the LogData function provided by the IUserApi interface. Application specific event data are time stamped as they are added into the recorded stream. The same event data will be available during playback of the recorded session, synchronized with the playback stream in real-time.
Session Playback 
The above diagram shows how application event data are consumed during session playback. Event data are displayed in the Events and Bookmarks panel of the SmartAuditor Player. The Player can also deliver the event data as recorded to a third party consumer application built using the Player SDK. The delivery of event data is synchronized with the playback in real-time.
SmartAuditor Event API COM Server
The SmartAuditor Event API is provided as a COM Server hosted by the SmartAuditor Agent, installed on each computer running Presentation Server with
SmartAuditor enabled. The SmartAuditor Event API can be enabled or disabled on a per-server basis. The default setting for each SmartAuditor Agent installation is for the COM interface to be disabled. Any attempts to connect to the interface will fail until it is enabled by the Presentation Server administrator. Please refer to the SmartAuditor Administrator's Guide for more information on configuring the SmartAuditor Agent. When the SmartAuditor Event API is enabled, a COM interface called IUserApi is made available for third party applications to add event data to the recorded stream. The IUserApi interface contains only one function called LogData. Event Data Storage Event data is stored in the data stream within the session recording. If the searchable flag is set when the data is added to the recording stream, a database entry will be created and indexed against the fully qualified type associated with the data. As there is some overhead in storing each searchable event, this flag should only be set if there is an intention to search on the event text. See CTX114748 - Citrix SmartAuditor Database Schema for more information on the database storage.
SmartAuditor Event Data Playback
Event data added to SmartAuditor recording files are automatically available during playback. Event data are organized in a similar manner as bookmarks, and are listed in the Events and Bookmarks panel of the SmartAuditor Player. The following screenshot shows the event data as seen in the Events and Bookmarks panel (lower left corner) of the SmartAuditor Player:

Event items are labelled with a yellow dot, both in the Events and Bookmarks panel and on the player window timeline bar. Note that only the event text is displayed in the SmartAuditor Player; event binary data can only be retrieved through custom applications built on the SmartAuditor Player SDK (see the next section for more details.) Recordings containing event data originally recorded with the searchable flag set can be found using the SmartAuditor Player's advanced search form as shown below. This allows searching by both event text and event type name.

SmartAuditor Player SDK
As indicated in the previous section, text associated with event data are automatically made available during playback within the SmartAuditor Player. Event
data can also be accessed during playback via a set of library functions provided by the SmartAuditor Player SDK. The use of the Player SDK is optional. Its primary use is the rendering binary data associated with each event during playback. The Player SDK is based on an event notification or callback interface, where a third party application registers an event handler where event data can be delivered in real-time during session playback. The following C++ code fragment illustrates a typical lifecycle of an application making use of the SmartAuditor Player SDK:
// initialize Player SDK CtxPlay_Initialize(); // register event handler for all event type CtxPlay_RegisterEventHandler(MyEventHandler, L "*"); // wait for event processing is completed (ie. via the CtxPlay_Abort() call) CtxPlay_WaitForCompletion(); // clean up CtxPlay_Dispose();
Comments (5)
Mar 14, 2008
Anonymous says:
Hi, We are evaluating SmartAuditor for integration. The SDK documentation to ad...Hi,
We are evaluating SmartAuditor for integration. The SDK documentation to add a event in the recording is helpful and we are able to implement that.
However while playback we want to launch the recorded file for a particular event and I didnt find any documentation for correlating the event with the recorded file.
Is the file name itself represent some information? Or is there a way, at the time of adding event, to findout which file we are adding the event in?
This information willbe really helpful for integration of SmartAuditor.
Thanks in advance...
Nilesh Samant.
Apr 08, 2008
Paul Ryman says:
Hi Nilesh, When you record an event with the "searchable" flag set on, the even...Hi Nilesh,
When you record an event with the "searchable" flag set on, the event type and text will be indexed in the SmartAuditor database against that recording file. From the player, you can search for files all containing this event type and text using the "Events" tab in Advanced Search dialog.
Hope this helps.
Paul.
May 17, 2008
Anonymous says:
Check [ObserveIT Terminal Session Recorder] at www.observeit-sys.co...Check [ObserveIT Terminal Session Recorder] at www.observeit-sys.com it has built in metadata capturing functionality, every user action such as files used application accessed are automatically added as searchable metadata. Further more, it is real enterprise ready software.
May 24, 2008
Anonymous says:
We're using ObserveIT to record, audit and reply any access to our server farm. ...We're using ObserveIT to record, audit and reply any access to our server farm. Although SmartAuditor is dedicated to Citrix, ObserveIT will record ANY human interaction with the servers, and it is NOT limited only to Citrix access. It will record RDP, TS, Citrix, VNC, NetOp, Damware, Radmin - you name it!
Sep 15
Anonymous says:
Can somebody guide me the installation steps of smart auditor administration. Be...Can somebody guide me the installation steps of smart auditor administration. Below are some steps which i followed.
1. Install prerequeste as per document.
2. Start installation of smartauditor administration on which i have installed sql server 2005, during the last 3 sec its fail to start the service(citrixsmartauditorstoraemanager) says its fails due to not respond in a timely manner. thenafter its starts rolling back the setup.
Please help me.
Regards,
Amit Kataria
Add Comment