Anda di halaman 1dari 9

What is CSTA ?

CSTA is a kind of standard communication protocol used between PBX and


computer that is famous in Europe.

CSTA Protocol
CO Lines

Control Requests
TDA

CTI Server

Event Notifications

Extension Lines

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 ?


Encoded CSTA message

Application

KXTDA
USB driver

USB

PBX

Encoded CSTA message

Application

Windows
TCP/IP
driver

TCP/IP

PBX

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
ClearConnectionResult
ERRORS
{universalFailure} ClearConnection Request
CODE
local: 5
}
ClearConnectionArgument ::= SEQUENCE
{
connectionToBeCleared
ConnectionID,
correlatorData
CorrelatorData OPTIONAL,
userData
UserData OPTIONAL,
extensions
CSTACommonArguments
OPTIONAL}
ClearConnection Result
ClearConnectionResult ::= CHOICE
{
extensions
CSTACommonArguments,
noData
NULL}

How CSTA message is encoded?


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}

Encoding

Not supported by TDA

Decoding

to send

to read

< Transfer Syntax>


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

T Tag
L Length

SEQUENCE tag

ConnectionID

This bits stream is represented in HEX.

V Value

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
http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-X.680

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)
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

Positioning of ASN.1 in
OSI 7-Layers Reference Model
Defined by ASN.1
CSTA

Layer 7 :Application Layer


Layer 6 :Presentation Layer
Layer 5 :Session Layer

ASN.1

ACSE

Layer 4 :Transport Layer

TCP

Layer 3 :Network Layer

IP

Layer 2 :Data Link Layer

Ethernet

Layer 1 :Physical Layer

ROSE

USB

10Base-T

LAN

USB

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?


Your Application
(yyyy.h, yyyy.c)

Abstract Syntax Definition


(XXX.asn)

ASN.1 Compiler
C language structure
(xxx.h, xxx.c)
C Compiler

C Compiler

Object file : xxx.o

Object file : yyyy.o

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

Your applications executable file


****.exe

Anda mungkin juga menyukai