A collection of various API's that support the Computer Supported Telecommunications Applications (CSTA) protocol.

Our CSTADLL product is a collection of DLLs for the Microsoft .NET platform (4.0 or higher) that allow a developer to perform ACSE, ECMA-354 session management, and CSTA operations for any of the three BER CSTA phases and XML CSTA editions 3 through 6.

CSTADLL specifically includes support for the following PBX devices:

  1. Alcatel 4400
  2. Alcatel OXO
  3. Panasonic KX-TDA
  4. Panasonic KX-TDE
  5. Panasonic NCP
  6. Siemens CAP
  7. Siemens Hicom 300
  8. Siemens Hipath 3000
  9. Siemens Hipath 4000
  10. Siemens Realitis
  11. Tadiran Coral
  12. Unify Openscape Business (e.g., X5 and X8)
  13. Unify Openscape 4000
  14. Unify Openscape Voice
  15. Philips Sopho
  16. Vodia SNOMOne

The generic (i.e., non-device-specific) helper classes included in the DLLs should be sufficient to allow developers to work with many standard PBX devices that aren't given in the list above.

The helper classes provide methods for several common ACSE and CSTA operations. Examples include establishing an ACSE session with a PBX, instructing a PBX to make a call, transfer a call, query a device, etc.

The helper classes also provide the ability for a client program to specify an asynchronous callback function that will be invoked whenever asynchronous messages are received from the PBX. A common use for this feature would likely be CSTA monitoring functions, in which messages with monitor data are sent asynchronously to the client from the PBX. Receiving Call Detail Record (CDR) messages is also supported.

The CSTADLL software can be used in multiple ways, depending on the needs of the client program. The diagram below illustrates one way of using the CSTADLL software. In this scenario a client program is using just the helper classes to do ACSE and CSTA operations and communicate with the PBX. This way of using the software would allow the client program to perform some common ACSE and CSTA operations and find out if they were successful. It would not allow the client program to see any content that the PBX returns in the form of an ACSE or CSTA message. It would also not allow the client program to send any messages to the PBX for which the CSTADLL software doesn't expose a helper method. The appropriate DLL that's included with the CSTADLL software is identified as the all-phases DLL in this diagram.

This next diagram shows the client program using both the helper classes and the generated classes. This approach allows the client program to view content that the PBX sends back, and it also allows the client program to send messages for which no helper method is exposed by CSTADLL.

This last diagram shows the client program using only the generated classes that are within CSTADLL. This approach might be useful if the client program needs to manage its own communication with a PBX device. The PBX device, for example, might not support TCP/IP communication or might work better if a different communication paradigm is used.

A 30-day free evaluation of the product may be obtained by clicking on the Download button below. This will redirect you to our login page where you will first need to create a user account if you don't already have one. Be sure to provide a valid E-mail address as the product license file will be sent to this address.

The CSTADLL distribution includes the following:

  1. Several Microsoft .NET DLLs that contain the following:
    1. Class definitions generated using ASN1C from the ACSE and CSTA ASN.1 specifications for all three CSTA BER phases.
    2. Class definitions generated using XBinder from the ECMA-354 session management and CSTA XML specifications for editions 3 through 6.
    3. Helper classes to assist with some common CSTA operations and manage a TCP/IP session with a PBX device.
    4. Helper classes for several specific PBX devices, as listed above.
  2. Two client programs with their source code that can serve as samples. One client is a console mode client written in C#. The other client is a simple GUI client written in Visual BASIC.
  3. A sample call management application named CallMan with its source code.
  4. Several additional sample programs.
  5. The source code for the class definitions generated by ASN1C from the ACSE and CSTA ASN.1 specifications for the three BER phases.
  6. The source code for the class definitions generated by XBinder from the ECMA-354 session management and CSTA XML specifications for editions 3 through 6.
  7. The ACSE and CSTA ASN.1 specifications used to generate the relevant classes.
  8. The ECMA-354 and CSTA XML schema specifications used to generate the relevant classes.
  9. Documentation, both in PDF and HTML format.

The CSTADLL software is licensed in two separate parts:

  • Development - this allows for application development and use on a few computers
  • Deployment - this allows CSTADLL to be packaged with a value-added application and redistributed to third party end users.


The cost is $495 per host (node-locked) license. This is the cost of a development license or limited use license if application is only to be used on a few machines.


If a user is developing an application that is to be deployed on many computers, a royalty is to be paid on each redistributed copy. The first ten development and/or deployment licenses would be at the development license cost ($495 per machine for a total cost of $4,950). After that, additional licenses may be purchased as described in the following table:

Quantity Price per Unit
1 to 10 units $495
11 to 50 units $200
51 to 100 units $100
101 to unlimited $10

In this case a "unit" is a host computer on which the application linked with CSTADLL is run.

The value-added application program must be approved by Objective Systems in order to receive this discount schedule. A written description of the application is required and/or a working demo copy.

An initial deposit of $4,950 may be provided to remove license checking from the product (the cost of the first 10 licenses). The user also has the option to "pay as he goes", but in this case, license checking will remain in place and the user must provide a host name for each licensed computer on which the application will be run until the deposit amount is received.


Support entitles the user to phone and E-mail support with guaranteed response within 2 business days. It also provides the user with access to all new releases, both minor and major. Support for the first year is included in the initial development fee cost. After that, support may be renewed annually at a cost of 20% of the total license fees paid to date. Continuing support is optional, if not renewed, the user may continue to use and deploy applications with the current version of the product they are using. Royalty fees may still apply, however.

API Reference: PDF |  HTML

Release Notes

Change Log

APIs are available for ECMA CSTA Phase 1, 2, and 3 specifications. These APIs include the ROSE and ACSE layers and have been implemented in the C++, C#, and Java programming languages.

Extended sample versions of the CSTA Phase 1, 2, and 3 C/C++ API's are available for Windows. The phase 1 and 2 API's contains a test client progam for testing connectivity with compliant devices with a TCP/IP interface. The phase 3 API contains a Siemens PBX test client to test connectivity with these types of devices.

Extended sample programs require a working installation of ASN1C to be present before they can be used. To install, unpack the distribution file in either the cpp or java subdirectory of an ASN.1 installation. The API can then be used in the same way as an ASN1C sample program.

Click on one of the following links to download:

If purchased, a stand-alone version of the API can be provided.

The CSTA XML API's implement the 'ECMA-323 XML Protocol for Computer Supported Telecommunications Applications (CSTA) Phase III' standard. Support is also provided for SOAP WSDL as published in ECMA-348. The code consists of a C or C++ API generated with our XBinder compiler. This is a standalone API - it is not necessary to have XBinder or ASN1C installed to use it.

Click on one of the following links to download:

Once you download a kit, send an email to support@obj-sys.com to request an evaluation license.