This file contains introductory information about the CSTADLL software and release notes about the current release.
Thank you for your interest in this release of the CSTADLL software. CSTADLL is a collection of software that allows a developer using the Microsoft .NET platform (version 2.0 or higher) to work with CSTA messages in any of the three phases. The CSTADLL software allows you to send CSTA messages to a PBX device and receive the responses that the PBX sends back. The collection consists of a DLL, two clients (one in C# and one in VB) along with their source code that show how the DLL can be used, several additional samples, and documentation. The DLL contains all of the classes generated by ASN1C from the ACSE and CSTA ASN.1 specifications plus several additional classes that act as helper classes in working with CSTA messages.
This release of CSTADLL adds the following new capabilities:
- Panasonic NCP Class
A PanasonicNCP class is now included for working with the Panasonic NCP PBX device.
- LoggingFolder Property
A LoggingFolder property has been added to the PBXSessionHelper class. This property can be used to specify a location for log files. If no value is specified, the behavior is as before; i.e., the log file is located in the same folder as the .exe that is using the all-phases DLL.
- Phase 3 Support for Sending Text
This release of CSTADLL adds support for sending text to a telephony device controlled by a phase 3 PBX. The DLL has a new method in the appropriate phase 3 classes called SetDisplay. Both the VB sample GUI client and the C# sample console-mode client support this feature. A C# sample called DLLCsSendText is also included.
- Phase 3 Support for Ringing a Device
This release of CSTADLL adds support for ringing a telephony device controlled by a phase 3 PBX. The DLL has new methods in the appropriate phase 3 classes to start ringing a device and stop ringing a device, including support for specifying the ring pattern to use. Both the VB sample GUI client and the C# sample console-mode client support this feature.
- Phase 3 Support for Manipulating the Message Waiting Indicator
This release of CSTADLL adds support for turning on and off the message waiting indicator on a telephony device controlled by a phase 3 PBX. The DLL has new methods in the appropriate phase 3 classes to turn on and off the indicator. Both the VB sample GUI client and the C# sample console-mode client support this feature.
- Panasonic Support for Acquiring and Releasing Device Control Rights
This release of CSTADLL adds support for acquiring and releasing the right to control a device to the Panasonic KX-TDA and KX-TDE classes. These steps are necessary for some telephony devices (e.g., DECT telephony devices) that are controlled by one of these PBX devices.
- Phase 3 Support for Start Data Path, Stop Data Path, and Send Data
This release of CSTADLL adds methods to the phase 3 classes for the CSTA Start Data Path, Stop Data Path, and Send Data messages.
- Sample Clients Detect if ACSE Connection Not Made
Both the VB sample GUI client and the C# sample console-mode client in this release detect if a CSTA operation is being attempted without an ACSE connection having been done first. Both clients then ask the user if he wants to do the ACSE connection before the CSTA operation continues. The user has the option to do the ACSE connection, continue without doing the ACSE connection, or abort the CSTA operation.
In future releases this section will detail any issues related to compatibility with previous releases that the current release introduces.
The CSTADLL kit includes both HTML and PDF documentation that describes the classes that the kit contains. In addition to the classes described in the documentation, the kit also contains all of the ACSE and CSTA classes generated by ASN1C from the ACSE and CSTA ASN.1 specifications.
The steps to install CSTADLL on a Windows system are as follows:
- The software is packaged into a zip archive that can be expanded anywhere on your system. There is no dependency on any particular folder hierarchy.
- After installation is complete, the license file must be installed to allow the product to operate. This was sent in the osyslic.txt file that was attached to the E-mail message that was sent at the time the product was downloaded. If you did not receive a license file, please contact us.
- The osyslic.txt file must be copied to a location where the software can find it. This can be done in one of the following ways:
- a. The file can be copied to a directory that is pointed to by an environment variable named OSLICDIR, or
- b. The file can be copied into any of the directories specified within your PATH environment variable (copying to the c:\windows directory works on most systems), or
- c. The file can be copied to the same directory that an executable that uses the DLL is located in. This would include the csharpclient directory in the kit and the vbclient directory in the kit.
The software should now be operational.
The following subdirectories contain the following files (note: <installdir> refers to the installation directory that was specified during the installation process):Binaries and Documentation
- <installdir>\dll\CSTAAllPhasesDLL.dll
This file is the Microsoft .NET DLL that contains generated object definitions for the ACSE and CSTA objects as well as additional helper objects. This DLL file is also present in the two client folders and the top-level samples folder.
- <installdir>\dll\asn1rt.dll
This file is the ASN1C C# runtime DLL. The ASN1C C# runtime is used by CSTAAllPhasesDLL.dll to do encoding and decoding operations. This DLL file is also present in the two client folders and the top-level samples folder.
- <installdir>\doc\HTML
This folder contains HTML documentation that describes the helper classes contained within the all-phases DLL. This documentation does not describe the generated classes. Refer to the ASN1C C# Compiler User Manual for documentation about the generated classes.
- <installdir>\doc\pdf
This folder contains a PDF file that describes the helper classes contained within the all-phases DLL. This documentation does not describe the generated classes. Refer to the ASN1C C# Compiler User Manual for documentation about the generated classes.
Sample Clients
- <installdir>\csharpclient\CSTAAllPhasesConsole.exe
This file is the executable image for a console-mode sample client that uses the DLL and is written in C#.
- <installdir>\csharpclient\*.cs
The .cs files in this directory are the source files for the C# console- mode client.
- <installdir>\csharpclient\CSTAAllPhasesConsole.csproj
This file is a Visual Studio 2005 C# project file that will allow you to work with the source code for the C# console-mode client from within Visual Studio (2005 or higher).
- <installdir>\vbclient\CSTAAllPhasesClient.exe
This file is the executable image for a GUI sample client that uses the DLL and is written in Visual BASIC.
- <installdir>\vbclient\*.vb
The .vb files in this directory are the source files for the Visual BASIC GUI client.
- <installdir>\vbclient\CSTAAllPhasesClient.vbproj
This file is a Visual Studio 2005 Visual BASIC project file that will allow you to work with the source code for the Visual BASIC GUI client from within Visual Studio (2005 or higher).
Other Samples
- <installdir>\samples\csharp\CSTACsClearConnection
This folder contains a C# sample that illustrates how the DLL can be used to work with a CSTA message for which the DLL doesn't expose any explicit helper methods.
- <installdir>\samples\csharp\DLLCs*
These folders contain C# samples that show how the DLL's exposed helper methods can be used for various operations.
Specifications and Generated Files
- <installdir>\specs
This folder contains the ACSE and CSTA ASN.1 specifications that were used to generate most of the objects contained within the DLL.
- <installdir>\phase1Generated
- <installdir>\phase2Generated
- <installdir>\phase3Generated
These folders contain the generated C# source files that define most of the objects contained within the DLL. These files were generated using ASN1C from the ASN.1 files contained in the <installdir>\specs folder.
If you're not familiar with CSTA in general, there is some helpful information at this location.You may first want to spend some with with either the C# console-mode client program or the Visual BASIC GUI client program to familiarize yourself with the types of operations involved with CSTA. Note that these clients only do a small subset of the total number of CSTA operations.
To use one of the clients you will need the IP address (or well-known name) of the PBX device with which you wish to work and the port number that the PBX uses for CSTA communication.
If you wish to use the Visual BASIC GUI client, the README.txt file in that client's folder explains how.
Both clients have their source code included in the kit. You may also want to investigate some of the additional samples to get more ideas about how the all-phases DLL can be used. The DLL should be consumable by any Microsoft .NET programming language. These would include C#, Visual BASIC, and C++/CLI.
The all-phases DLL can log message traffic between a client program and the PBX device if so desired. The logging is controlled by the LoggingEnabled property with the PBXSessionHelper class. The logging is off by default. Both of the provided sample clients enable the logging. The log file used is named cstadll_<program>.log, where <program> is the name of the executable image that is using the DLL. The location of the log file is the folder where the executable image resides. If the log file grows to more than 5 Mb, it is copied to cstadll_<program>.backup.log, and a new log file is opened. If there is already a file with the backup file name, it is overwritten.
Report problems you encounter by sending E-mail to support@obj-sys.com. Please provide sample code and indicate where in the code the problem occurs.
If you have any further questions or comments on what you would like to see in the product or what is difficult to use or understand, please communicate them to us. Your feedback is important to us. Please let us know how it works out for you - either good or bad.