CSTA is a kind of standard communication protocol used between PBX and computer that is famous in Europe. What is CSTA ? Control Requests Event Notifications CSTA Protocol CO Lines Extension Lines TDA CTI Server
If you want to study about CSTA, please access to the following URL. At the top page, select "Publications". Then, select "list" at the section of "ECMA Standards (blue cover) - see index or list". In the list of the documents, "ECMA-269" is the services specification on the CSTA. And "ECMA-285" is the protocol specification. They may help your understanding.
How does it communicate with PBX ? PBX TCP/IP USB KXTDA USB driver Windows TCP/IP driver Application Encoded CSTA message
How can you describe CSTA message ? Each message of CSTA is described by using the manner of ASN.1 (Abstract Syntax). It is described by the abstract syntax as following example. Example: Definition about clearConnection message clearConnection OPERATION ::= {ARGUMENTClearConnectionArgument RESULTClearConnectionResult ERRORS{universalFailure} CODE local: 5 } ClearConnectionArgument ::= SEQUENCE {connectionToBeClearedConnectionID, correlatorDataCorrelatorData OPTIONAL, userDataUserData OPTIONAL, extensionsCSTACommonArguments OPTIONAL} ClearConnectionResult ::= CHOICE {extensionsCSTACommonArguments, noDataNULL} ClearConnection Request ClearConnection Result
Each message of CSTA defined by ASN.1 (abstract syntax) is encoded into transfer syntax according to Basic Encoding Rule (BER) which is sent / received between PBX and Computer. ClearConnectionArgument ::= SEQUENCE {connectionToBeClearedConnectionID, correlatorDataCorrelatorData OPTIONAL, userDataUserData OPTIONAL, extensionsCSTACommonArguments OPTIONAL} How CSTA message is encoded? ConnectionID SEQUENCE tag T Tag L Length V Value Encoding to send Decoding to read Not supported by TDA B F A This bits stream is represented in HEX.
What is ASN.1 ? If you want the official specification book, please get the ITU-T recommendation book (onerousness). ITU-T X.680 and X.690 is the basic rule about ASN.1 and its coding. ITU-T X.680 Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation ITU-T X.690 Information technology - ASN.1 encoding rules Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) And the following reference book(free download) is also very useful to understand ASN.1.
LAN Positioning of ASN.1 in OSI 7-Layers Reference Model Layer 1 :Physical Layer Layer 2 :Data Link Layer Layer 3 :Network Layer Layer 4 :Transport Layer Layer 5 :Session Layer Layer 6 :Presentation Layer Layer 7 :Application Layer CSTA ACSEROSE IP TCP Ethernet 10Base-T USB ASN.1 Defined by ASN.1
How to apply the ASN.1? In general, the description of CSTA message by ASN.1 is not directory understood by the programming tool of Windows. We usually need to use some ASN.1 compiler. The followings are the major commercial compiler. ASN.1 compiler takes ASN.1 specification as input, and generates programming language data structures. It also provides encoder / decoder of CSTA messages for the MS-Windows (or other platforms). For example, if you select the ASN.1 compiler for C, the compiler generates (1) C header file that is describing the CSTA message data Structures. (2) C source code file for encoder / decoder (runtime library). By including these files in your application software source codes of C language, you can send and receive the encoded form of CSTA messages by the simple data Structure of C language.
How to use ASN.1 compiler? Abstract Syntax Definition (XXX.asn) C language structure (xxx.h, xxx.c) Your Application (yyyy.h, yyyy.c) C Compiler ASN.1 Compiler Object file : xxx.o Your applications executable file ****.exe C Compiler Object file : yyyy.o Link with ASN.1 runtime library (encoder / decoder)