Colin Sewell

Windows & OpenVMS Application Programming

Colin Sewell
Guelph, Ontario, Canada
Telephone: 519.265.7337

Home Résumé Personal OpenVMS Software OpenVMS links Printer Data Capture Other links

Get a free GoStats hit counter

Provincial 911 Printer Data Capture Downloads

This page contains customer downloads for the Provincial 911 Printer Data Capture for both British Columbia and Alberta. The Printer Data Capture is a program designed to capture the printable ASCII data sent to the LOG printer ports and Real-time printer ports of 9-1-1 Call Answer Centres in British Columbia and Alberta, split the data into separate fields, and store the fields in a database for archival, reporting, and statistical purposes.

Currently available downloads are:

Get Adobe Acrobat Reader PDF files may be viewed, navigated and printed using Adobe's Acrobat® Reader. If you do not have Acrobat® installed on your computer, visit Adobe's download site via the "Get Acrobat" button on the right. This is a FREE download.

The following are links to required software that must be installed before installing and running Printer Data Capture:

The 64-bit version of the SAP Crystal Reports runtime engine for .NET Framework 4 (64-bit) is required when installing P911PDC on an x64 Windows system.

The following are links to optional software that may be used with Printer Data Capture:

Release Notes for Printer Data Capture

Version Date Changes
V4.0.14 20-Mar-2015
  • Connect to Windows Service using hostname and port rather than creating an endpoint first.
  • When changing Windows Services address, make sure we disconnect and reconnect and connection status is updated properly.
  • Download the demo version here. (expires 1-Dec-2017).

V4.0.13 24-Oct-2013
  • Check that dependent services are running before proceeding if running as service.
  • UAC prompt for elevated privileges on Windows Vista/7/8/8.1/10.
  • Store parameters in config file rather than registry for easy copy to new machine.
V4.0.12 18-Aug-2013
  • Add ability to import TELUS files downloaded from TELUS web portal.
V4.0.11 5-Jul-2013
  • Realtime printer alarm on abandoned attempts checkbox did not enable Apply button.
V4.0.10 8-Nov-2012
V4.0.9 20-Jun-2012
  • Faster startup of Windows service
  • Detailed error trace for SQL server and SMTP errors
  • Make alarm windows display over all other windows
V4.0.8 11-Aug-2011
  • Add email notification for certain errors
  • Change date/time displays on search reports to 24 hour clock
  • Add failover server to SQL server connection string
V4.0.7 6-Jun-2011
  • Ensure that if not collecting to any database due to database startup errors and not retrying database connection, that data is logged to logfile for future import.
V4.0.6 27-Jan-2011
  • Add up to COM9 in options COM port dropdown
V4.0.5 10-Mar-2010
  • When option to start minimized was set, window would be briefly visible before minimizing when program started.
  • When program was started minimized and then restored, panels would sometimes be shifted to the right outside the window boundary.
  • Improve resizing of window when different panel and window display options were selected and unselected.
V4.0.4 4-Mar-2010
  • Improved error message when there are problems connecting to the database on application startup. If there are problems connecting to the storage database on startup, an error message will be logged indicating that data collection to the problem database will be disabled until the problem is fixed.
  • DNS host name as well as IP address may now be specified in the server address field when you are running P911PDC as a Windows Service and you wish to connect to it in client mode.
  • Display of panels and windows is now controlled only by Options->Display tab. Previously, when running in client mode, you had limited control over which panels and windows appeared. Now the client can continue to receive LOG printer and Realtime printer data from the server and has full control over what data is displayed. History is still maintained for panels and windows that are hidden.
  • Improved positioning of LOG printer and Realtime printer display panes when application window is resized.
  • When running P911PDC as a Windows Service you may now specify service dependencies. A service dependency causes the P911PDC Windows Service to delay startup until the services it is dependent on are started. Consider the scenario where P911PDC is set to store printer data in an SQL Server database running on the same machine. When the machine is booted, if the P911PDC service starts before the SQL service is started, P911PDC will fail to connect to the database and no data will be stored in SQL server until the P911PDC service is restarted. However, if a dependency is added on the SQL Server service, the P911PDC will delay startup until the SQL server service is running, thereby ensuring it can connect to the database. You should specify the service name as either:
    • MSSQLSERVER if you are running SQL Server Enterprise
    • MSSQL$EXPRESS if you are running SQL Server Express

You only need to specify the dependency if you are running P911PDC on the same machine as SQL server and you are collecting data to the local SQL server database. Leave this field blank if it does not apply.

V4.0.3 13-Jan-2010
  • Allow hiding of realtime and LOG printer panels while still collecting data.
  • Compiled to run on both x86 and x64 Windows operating systems.
V4.0.2 4-Jan-2010
  • Fixed rare problem where SQL server connection errors could occur if software was collecting to both Microsoft Access database and SQL Server database, and Access database collection was turned off.
V4.0.1 12-Dec-2009
  • Regular expressions used to match printer format type and fields has been improved resulting in less "unable to parse" error messages due to unexpected data.
  • Support added form new LOG printer Type 4 format which includes Wireless Phase II location information.
  • Performance improvemnts were made to database searches, stores, and updates.
  • Multiple trailing line feeds in captured raw printer data are replaced with a single crlf.
  • The Realtime and LOG printer panels were modified to support larger font sizes. The maximum font size that may be displayed without truncation is generally 14pt, depending on the font face selected.
  • The Realtime and LOG printer panels were reformatted to optimize for a 1024x768 screen resolution.This is the smallest screen resolution supported.
  • The Realtime and LOG printer panels are now repositioned to centre them in the window when the windows size is changed.
  • Microsoft Access 2007 databases are now supported. If the database has a file type of .accdb it is assumed to be in Access 2007 format.
  • The built-in Crystal Reports for Call Details and LOG printer records have been modified to include Wireless Phase II location information.
  • The application can play a WAV audio file when a bell character is seen in printer data stream, as well as beeping the PC speaker.
V3.7.3 27-Jan-2008
  • When storing records, if the required database connection not open (OLEDB, ODBC, SQL Server), then open it before attempting to store the record. This handles case of the database being inaccessible when the program starts but comes online later.
  • Fix parsing of host address of non-local Windows Service in ConnectTo routine of SmartSockets module, broken because Vista may return a list of IPV4 and IPV6 addresses.
  • Check for proper Windows Service TCP/IP address in Options tab Other.
  • Activate proper tab when Options are in error and focus returns to the field in error.
V3.7.2 17-May-2007
  • Rearrange size and spacing of text boxes on panels to accommodate larger fonts
  • Allow changing of fonts on Realtime and LOG panels
  • Add option to format phone numbers
V3.7.1 21-Feb-2007
  • Add option to prevent closing or minimizing of window when run under non-administrative account
V3.7.0 9-Oct-2006
  • Updated documentation.
  • Support the 5 types of printer formats available from TELUS and documented in TID-08.
  • Automatic selection of proper printer format based on what is seen at the printer port.
  • Fix bug where if "display as received" was set, all raw data was displayed in the raw realtime printer display window.
  • Fix bug where clear button did not clear fields in Call Detail Report search window.
  • In order to conserve database resources, when producing reports from a client where the data collection is running as a Windows service (local or remote), only connect to database as needed, rather than keeping the connection always open.
  • When updating an existing LOG record with a realtime record, update the PSAPName since the PSAPName from the LOG record may be truncated. Conversely, when updating an existing realtime record with a LOG record, don't update the PSAPName, since it may be truncated. The realtime printer record will always contain a full PSAPName.
  • Fix bug where if a second instance of P911PDC was started and the first instance was minimized to the system tray, the second instance would not detect it.

This release of the application has been upgraded to compile under Visual Studio .NET 2005, and uses new features found only in the Microsoft .NET Framework 2.0. Consequently you must also download and install the Microsoft .NET Framework 2.0 Redistributable Package and the Crystal Reports Runtime for .NET 2.0 prior to installing this version of the application.

V3.6.2 11-Apr-2006
  • Added a print button to the LOG printer and Realtime printer panels to print the currently displayed record. Printer options may be set in the new File->Printer Settings... menu item.
  • Added print button to the Abandoned Attempt Alarm forms.
V3.6.0 07-Apr-2006
  • Connect to local service even if service is paused.
  • Add method to flush remaining records in storage queue to logfile if shutting down.
  • Only reconnect to databases if serious connectivity error occurs. This will prevent an infinite retry loop if there is an error in one of the database fields.
  • Fixed Recent record search of Call Details Report.
  • In Realtime record storage routines possible clock change wasn't being taken into account, so sometimes it wouldn't update the existing LOG record.
V3.5.4 27-Mar-2006
  • Add support for printer formats as used in TELUS Alberta.
  • Restart threads if they crash unexpectedly.
  • Upgraded to Visual Studio .NET 2005
  • Added option to switch positions of realtime and LOG printer panels
  • Make logging window, realtime printer raw data window, and LOG printer raw data window optional.
  • Reworked searching SQL code
  • Add option to beep PC speaker when BEL characters found in printer stream
  • Add option to pop up alarm window on unanswered calls (abandoned attempts)
  • Reworked database connection code.
  • Add import function to import skipped records from log file
V3.4.1 30-Jun-2005
  • Transfer PSAP Name wasn't being collected if call was not answered at transferred-to PSAP.
  • Saved SQL Server database name was being ignored and "p911callstats" was always being opened.
  • Added Call Details report.
  • Add pause/resume so that application can disconnect from database temporarily while still collecting data but not storing it until resume is selected. This allows an Access database to be modified and not lose any data
V3.3.4 27-May-2005
  • Add trace facility to debug matching and updating of Realtime and LOG records.
  • Better handling of record locking in Access database.
  • Improve method by which LOG and Realtime printer records are matched and updated in the databases.
V3.3.2 22-Apr-2005
  • Correct bug when updating existing Realtime data from LOG printer data in SQL Server.
  • Add statistics display.
  • Improve algorithm that finds existing Realtime printer data to update with LOG printer data for all databases.
  • Fix display of SQL SELECT statement when more than one existing Realtime printer record is updated with LOG printer data.
V3.3.1 18-Apr-2005
  • Add ability to change font type, size, and color in LOG printer, Realtime printer and Logging output windows.
V3.3.0 15-Apr-2005
  • Remove ProcessBuffer thread and add ProcessData routine called in each serial port read thread.
  • Increase serial port input buffer size to prevent buffer overruns.
  • Prevent multiple duplicate entries from appearing in dropdown lists on search forms.
  • Change raw printer text output windows from RichTextBox to multiline TextBox and limit the amount of text displayed to prevent memory consumption.
  • Add a registry fix to prevent the Jet OLE DB provider from consuming too much memory as outlined in Microsoft Knowledgebase article
  • Increase process priority of data collector so it will be more responsive to incoming data.
  • Show a wait cursor when doing a lengthy database search.
  • When searching for LOG or Realtime printer records to update, update the first matching record with the minimum time difference between RTCallTime and AnswerTime (or DisconnectTime if abandoned).
  • Display raw printer output in log file when there is an error storing it in all databases.
V3.2.1 23-Mar-2005
  • Prevent running multiple programs. If another copy is started, activate the existing running program and exit. When in client mode, if a printer is not defined, and a message comes in to update that printers' window, make the window visible.
  • Respace form controls slightly so that more can be seen on low resolution screens. Make search form font match that of the main form.
V3.2.0 18-Mar-2005
  • Added a Search button for both LOG print and Realtime print display panels.  The Search button brings up a Search window that allows you to search for records based on input selections such as date, PSAP Name, ESZ, Customer Name, Address, etc.  The search results are shown in a Crystal Reports report window, allowing you to print or export the report.  This distribution file is larger than normal due to the necessity of providing the Crystal Reports .NET runtime libraries along with the application.
V3.1.1 24-Feb-2005
  • Rewrite application in C#.
  • Only log LOG or Realtime data record when there is an error storing it in all databases.
  • Implement "local service" so P911PDC.EXE can be used in "client only" mode and connect to a server running elsewhere.
  • Combine LOG and Realtime printer data processing threads into one.
  • Add native SQL Server support.
  • Add "Test" buttons to database tab of Options form to test connectivity to selected database.
V3.0.0 15-Oct-2004
  • Split data capture, settings save/restore, and logger into classes.
  • Add P911PDCService program so data capture can be run as a Windows Service.
  • Add ClientUpdate class and SmartSocket class so service can send updates to display client(s).
  • Add an installer.
  • Move all common routines to a support library.

Although the installer should not overwrite your existing database on install, or remove it on an uninstall, please back up your database before upgrading.

V2.3.2 1-Jul-2004
  • Task bar icon wasn't being restored when program was restored from system tray icon.
V2.3.1 29-Jun-2004
  • Added options to start the program minimized and to hide the program in the system tray when minimized.
V2.3 23-Apr-2004
  • Merge and store data from real-time printer in database. Fixed size and positions of real-time and log printer record windows.
  • Fixed crash when ODBC database is changed in options menu due to misreferenced variable.
V2.2.1 13-Apr-2004
  • Fix 24-hour clock times displayed and stored.
  • Correct parsing of RCER dates and times where OFFER, ANSWER, TRANSFER, and TRANSFER ANSWER times may be in previous day than DISCONNECT time.
V2.2 7-Apr-2004
  • Fix ParseRCER parsing of date routine.
  • Format date with alpha month to make month and day unambiguous.
  • Fix parsing of LOG and real-time printer records with an ESZ present but no Municipality or Postal Code.
V2.1 1-Apr-2004
  • Add ability to use incoming TCP/IP connections for printers rather than serial ports (for testing purposes).
  • Fix bug where using Access Database file selection button on Options form would cause Options form to close because button returned Cancel/OK.
V2.0 1-Mar-2004 Original version of program.