CSTA CSTA API's

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.5 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. Panasonic KX-NS
  7. Panasonic NXS
  8. Philips Sopho
  9. Siemens CAP
  10. Siemens Hicom 300
  11. Siemens Hipath 3000
  12. Siemens Hipath 4000
  13. Siemens Realitis
  14. Tadiran Coral
  15. Unify Openscape Business (e.g., X5 and X8)
  16. Unify Openscape 4000
  17. Unify Openscape Voice
  18. 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.


Please see the Pricing page.

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.