CSTA is a kind of standard communication protocol used between PBX and computer that is famous in...

9
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

Transcript of CSTA is a kind of standard communication protocol used between PBX and computer that is famous in...

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.

http://www.ecma-international.org

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

PBXTCP/IP

USB

KXTDA USB driver

Windows TCP/IP driver

Application

Application

Encoded CSTA message

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 ::={ ARGUMENT ClearConnectionArgument

RESULT ClearConnectionResultERRORS {universalFailure}CODE local: 5

}ClearConnectionArgument ::= SEQUENCE{ connectionToBeCleared ConnectionID,

correlatorData CorrelatorData OPTIONAL,userData UserData OPTIONAL,extensions CSTACommonArguments OPTIONAL}

ClearConnectionResult ::= CHOICE{ extensions CSTACommonArguments,

noData NULL}

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.

< Abstract Syntax>ClearConnectionArgument ::= SEQUENCE{ connectionToBeCleared ConnectionID,

correlatorData CorrelatorData OPTIONAL,userData UserData OPTIONAL,extensions CSTACommonArguments OPTIONAL}

How CSTA message is encoded?

< Transfer Syntax>

ConnectionIDSEQUENCE tag

T Tag

L Length

V Value

Encoding

to sendDecoding

to read

Not supported by TDA

30 13 6B 11 30 0F 80 04 30 30 32 44 A1 07 30 05 80 03 31 30 34

This bits stream is represented in HEX.

What is ASN.1 ?If you want the official specification book, please get the ITU-Trecommendation book (onerousness).ITU-T X.680 and X.690 is the basic rule about ASN.1 and its coding.

ITU-T X.680Information technology - Abstract Syntax Notation One (ASN.1):Specification of basic notation

http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-X.680

ITU-T X.690Information technology - ASN.1 encoding rulesSpecification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER)and Distinguished Encoding Rules (DER)

http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-X.690

And the following reference book(free download) is also very useful to understand ASN.1.

http://www.oss.com/asn1/booksintro.html

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

ACSE ROSE

IP

TCP

Ethernet

10Base-T

USB

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.

http://www.oss.com/products/products.html

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 application’s executable file

****.exe

C Compiler

Object file : yyyy.o

Link with ASN.1 runtime library (encoder / decoder)