Capi20 1
Capi20 1
Version 2.0
Part I
4th Edition
June 2001
Author:
CAPI Association e.V.
All rights reserved
Editor:
AVM GmbH, Germany
E-mail: [email protected]
Publisher:
CAPI Association e.V.
http://www.capi.org/
Contents (Part I)
SPECIAL NOTICES............................................................................................................................................. 7
READER'S GUIDE .................................................................................................................................................. 7
DISCLAIMER ......................................................................................................................................................... 7
TRADEMARKS ...................................................................................................................................................... 8
PREFACE .............................................................................................................................................................. 9
1 INTRODUCTION ....................................................................................................................................... 11
1.1 SCOPE..................................................................................................................................................... 11
1.2 FEATURES .............................................................................................................................................. 11
2 OVERVIEW ................................................................................................................................................ 13
Contents 3
5.29 FACILITY_REQ................................................................................................................................... 56
5.30 FACILITY_CONF ................................................................................................................................ 57
5.31 FACILITY_IND.................................................................................................................................... 58
5.32 FACILITY_RESP ................................................................................................................................. 59
5.33 INFO_REQ............................................................................................................................................ 60
5.34 INFO_CONF ......................................................................................................................................... 61
5.35 INFO_IND............................................................................................................................................. 62
5.36 INFO_RESP .......................................................................................................................................... 63
5.37 LISTEN_REQ ....................................................................................................................................... 64
5.38 LISTEN_CONF..................................................................................................................................... 66
5.39 MANUFACTURER_REQ .................................................................................................................... 67
5.40 MANUFACTURER_CONF ................................................................................................................. 68
5.41 MANUFACTURER_IND ..................................................................................................................... 69
5.42 MANUFACTURER_RESP................................................................................................................... 70
5.43 RESET_B3_REQ .................................................................................................................................. 71
5.44 RESET_B3_CONF................................................................................................................................ 72
5.45 RESET_B3_IND ................................................................................................................................... 73
5.46 RESET_B3_RESP................................................................................................................................. 74
5.47 SELECT_B_PROTOCOL_REQ........................................................................................................... 75
5.48 SELECT_B_PROTOCOL_CONF ........................................................................................................ 76
6 PARAMETER DESCRIPTION................................................................................................................. 77
6.1 PROTOCOL-INDEPENDENT PARAMETERS ................................................................................................ 77
6.1.1 Additional Info...................................................................................................................................... 77
6.1.2 B Channel Information ......................................................................................................................... 78
6.1.3 BC......................................................................................................................................................... 80
6.1.4 Called Party Number............................................................................................................................ 80
6.1.5 Called Party Subaddress ...................................................................................................................... 81
6.1.6 Calling Party Number .......................................................................................................................... 81
6.1.7 Calling Party Subaddress..................................................................................................................... 82
6.1.8 CIP Value ............................................................................................................................................. 82
6.1.9 CIP Mask.............................................................................................................................................. 86
6.1.10 Connected Number ............................................................................................................................. 87
6.1.11 Connected Subaddress........................................................................................................................ 87
6.1.12 Controller ........................................................................................................................................... 88
6.1.13 Data .................................................................................................................................................... 88
6.1.14 Data64 ................................................................................................................................................ 88
6.1.15 Data Length ........................................................................................................................................ 89
6.1.16 Data Handle ....................................................................................................................................... 89
6.1.17 DTMF Characteristics........................................................................................................................ 89
6.1.18 Facility Awake Request Parameter .................................................................................................... 89
6.1.19 Facility Selector.................................................................................................................................. 90
6.1.20 Facility Request Parameter ................................................................................................................ 90
6.1.21 Facility Confirmation Parameter ....................................................................................................... 91
6.1.22 Facility Indication Parameter ............................................................................................................ 92
6.1.23 Facility Response Parameter.............................................................................................................. 93
6.1.24 Flags................................................................................................................................................... 93
6.1.25 HLC .................................................................................................................................................... 94
6.1.26 Info...................................................................................................................................................... 94
6.1.27 Info Element........................................................................................................................................ 96
6.1.28 Info Mask............................................................................................................................................ 96
6.1.29 Info Number........................................................................................................................................ 98
6.1.30 LI Connect Request Participant.......................................................................................................... 99
6.1.31 LI Connect Confirmation Participant............................................................................................... 100
6.1.32 LI Disconnect Request Participant................................................................................................... 100
6.1.33 LI Disconnect Confirmation participant .......................................................................................... 100
6.1.34 LI Request Parameter....................................................................................................................... 101
6.1.35 LI Confirmation Parameter .............................................................................................................. 102
6.1.36 LI Indication Parameter ................................................................................................................... 103
6.1.37 LI Service Reason ............................................................................................................................. 103
6.1.38 LLC................................................................................................................................................... 104
Contents 5
A.9.7 Call Clearing (Initiated by Remote Party) .................................................................................. 152
ANNEX B (NORMATIVE): SFF FORMAT .................................................................................................. 153
B.1 INTRODUCTION ..................................................................................................................................... 153
B.2 SFF CODING RULES ............................................................................................................................. 153
B.2.1 Document Header........................................................................................................................ 153
B.2.2 Page Header................................................................................................................................ 154
B.2.3 Page Data.................................................................................................................................... 154
ANNEX C (NORMATIVE): SUPPLEMENTARY SERVICES ................................................................... 157
Reader's Guide
This document defines COMMON-ISDN-API Version 2.0. Readers should be generally familiar with ISDN
concepts.
Chapter 1 provides an introduction into the general concepts of the application interface COMMON-ISDN-API
from a global point of view. Chapter 2 provides a detailed look at COMMON-ISDN-API's position relative to
the OSI models layers and introduces the different protocol options supported. Chapter 3 describes the basic
mechanisms that ensure operating system independence, such as messages, message structures and the message
protocol used. Chapter 4 describes the mechanisms which are necessary for messages to be exchanged between
COMMON-ISDN-API and applications. Chapter 5 and 6 specify in detail the function and coding of each mes-
sage and parameter. Chapter 7 illustrates the actions allowed in different states of a connection through state
diagrams. Chapter 8 of COMMON-ISDN-API (moved to COMMON-ISDN-API Part II) includes all operat-
ing system-dependent COMMON-ISDN-API operations needed to exchange messages. It is divided into a
subchapter for each operating system supported by COMMON-ISDN-API. Annex A contains arrow diagrams
to facilitate an intuitive understanding of how to connect, exchange data and disconnect. Annex B is added to
provide a coding scheme used to exchange G3 fax documents between COMMON-ISDN-API and applications.
Annex C (included in COMMON-ISDN-API Part III) describes the use of supplementary services not covered
in Part I. Annex D clarifies some implementation details.
The present edition of COMMON-ISDN-API Version 2.0 consists of four parts: Part I (Chapters 1 to 8, An-
nexes A, B and D) defines the basics of COMMON-ISDN-API Version 2.0 (messages, exchange mechanism,
and parameters). Part II (Chapter 8) describes the operating system-dependent exchange mechanisms. Part III
(Annex C) deals with supplementary service support not handled in Part I. Part IV deals with interoperability
between CAPI implementations based on USB and is not intended for CAPI applications.
Disclaimer
While all due care has been taken in the preparation and publication of this document, errors in content, typo-
graphical or otherwise, may occur. If you have comments concerning its accuracy, please contact the CAPI As-
sociation.
The CAPI Association makes no representations or warranties with respect to the contents or use of this manual,
and explicitly disclaims all express or implied warranties of merchantability or fitness for any particular purpose.
Furthermore, the CAPI Association reserves the right to revise this publication and to make amendments to its
content, at any time, without obligation to notify any person or entity of such revisions and changes.
Contents 7
Trademarks
The following terms are trademarks of companies, even though this is not explicitly indicated in the text.
COMMON-ISDN-API is now a well-established standard. Potential cost savings were the driving force for
COMMON-ISDN-API controller and application development. Commercial users are rapidly migrating to
ISDN (Integrated Services Digital Network) as the principal medium for exchanging data in a wide range of
formats.
In 1989, manufacturers began defining an application interface that would be accepted in the growing ISDN
market. For practical reasons, the focus of this standard was on the national ISDN protocol, since an ETSI ISDN
protocol standard was not available at that time. Work on the application interface was completed in 1990 by a
CAPI working group consisting of application providers, ISDN equipment manufacturers, bulk customers / user
groups and DBP Telekom. COMMON-ISDN-API Version 1.1 was a great step in the development of the na-
tional ISDN market in Germany. Today almost every German ISDN solution, as well as a growing number of
international products, is based on COMMON-ISDN-API.
Since then, the international protocol specification has been completed, and almost every telecommunications
provider now offers BRI / PRI lines with protocols based on Q.931 / ETS 300 102. Experience in ISDN applica-
tion interface design, knowledge of the market requirements and a large base of installed COMMON-ISDN-
API 1.1 solutions (hardware controllers and applications on a variety of operating systems) made it clear that a
new application interface was needed for use in international ISDNs.
COMMON-ISDN-API Version 2.0 reflects more than ten years of ISDN business implementation experience
in an exploding market. It incorporates all the benefits of CAPI Version 1.1 as well as all actual aspects of ISDN
(such as Group 3 fax connectivity or video-telephony). It is based on Q.931 / ETS 300 102, but not limited to
these protocols. It simplifies the development of ISDN applications through many default values which do not
need to be programmed. It keeps applications free of ISDN protocol knowledge, thus making a great variety of
applications possible.
By using COMMON-ISDN-API Version 2.0 the international market can take advantage of available know-
how and thus accelerate growth.
Preface 9
10 COMMON-ISDN-API Version 2.0
4th Edition
1 INTRODUCTION
COMMON-ISDN-API enables applications to access ISDN adapters in a straightforward manner and allows
unrestricted use of their functions through a standardized software interface.
Future expansions or hardware changes will not affect applications which use this interface. COMMON-ISDN-
API makes such changes transparent to user applications. Future extensions can preserve compatibility with the
existing software base.
COMMON-ISDN-API provides an abstraction of ISDN services that is independent of the underlying network
and of the adapter used to connect to the network. It provides an easy-to-use interface for applications and offers
a unified access to different ISDN services such as data, voice, fax, video, telephony, etc.
1.1 Scope
This document describes COMMON-ISDN-API, the application programming interface for ISDN. COM-
MON-ISDN-API’s design is message-oriented and event driven. COMMON-ISDN-API is described in three
parts: the main part defines each message used and its message parameters. This part is entirely operating system
independent. Part II deals with the operations needed to exchange these messages. Part III describes extensions
of COMMON-ISDN-API to support ISDN supplementary services.
1.2 Features
• Support for basic call features, such as call set-up and clear-down
• Support for multiple B channels, for data and/or voice connections
• Support for several logical data link connections within a physical connection
• Selection of specific services and protocols during connection set-up and on answering incoming
calls
• Transparent interface for protocols above Layer 3
• Support for one or more Basic Rate Interfaces as well as Primary Rate Interfaces on one or more
ISDN adapters
• Support for multiple applications
• Operating system-independent messages
• Operating system-dependent exchange mechanism for optimum operating system integration
• Asynchronous, event-driven mechanism for high throughput
• Well-defined mechanism for manufacturer-specific extensions
Chapter 1: Introduction 11
12 COMMON-ISDN-API Version 2.0
4th Edition
2 OVERVIEW
COMMON-ISDN-API provides a standardized interface which allows any number of application programs to
use any number of ISDN drivers and ISDN controllers. Applications can be freely assigned to specific drivers
and controllers:
Applications can use different protocols at different protocol levels; COMMON-ISDN-API provides a selection
mechanism to support this. COMMON-ISDN-API also performs an abstraction from different protocol vari-
ants, creating a standardized network access. All connection-related data such as connection state, display mes-
sages etc. is available to applications at any time.
COMMON-ISDN-API
COMMON-ISDN-API covers the entire signaling protocol as well as protocol layers 1 to 3 (physical and fram-
ing layer, data link layer and network layer) of the data channels. The interface of COMMON-ISDN-API is
located between Layer 3 and Layer 4, and provides a point of reference for applications and higher level proto-
cols.
COMMON-ISDN-API offers many commonly used protocols to applications without low-level protocol
knowledge. The default protocol is ISO 7776 (X.75 SLP), i.e. framing protocol HDLC, data link protocol ISO
7776 (X.75 SLP), and a transparent network layer.
Other supported framing layer variants are HDLC inverted, PCM (bit-transparent with byte framing) 64/56
kbit, and V.110 sync / async. COMMON-ISDN-API integrates the following data link and network layer proto-
cols: LAPD in accordance with Q.921 for X.25 D-channel implementation, PPP (Point-to-Point Protocol), ISO
8208 (X.25 DTE-DTE), X.25 DCE, T.90NL (with T.70NL compatibility) and T.30 (Group 3 fax).
Chapter 2: Overview 13
Even if not all protocols can be fit completely into the OSI scheme, COMMON-ISDN-API always supports
three layers. Applications can configure each layer. In case of illegal or meaningless protocol stack combinations
(e.g. bit-transparent 56 kbit/s and X.25 DCE), COMMON-ISDN-API reports an error.
The following chapter presents the basic mechanism used by COMMON-ISDN-API, based on message queues
for the exchange of commands and data. The operations on these message queues and the structure of the mes-
sages exchanged are described. Afterward, other functions for identification and the mechanism for manufac-
turer-specific extensions are described.
Communication between the application and COMMON-ISDN-API always uses the following general pro-
tocol:
A message is always followed by an appropriate reply. Messages going from an application to COMMON-
ISDN-API are called Requests; the corresponding answer from COMMON-ISDN-API is called a Confirma-
tion. Messages initiated by COMMON-ISDN-API are called Indications; the corresponding answer from an
application is called a Response. This is also reflected in the naming convention for messages: every message
name ends with the appropriate suffix (_REQ, _CONF, _IND and _RESP).
Each message contains a message number. COMMON-ISDN-API always returns the number used in the RE-
QUEST message in the corresponding CONFIRMATION. Applications may choose unique message numbers to
identify message correlation before interpreting incoming messages. INDICATIONS from COMMON-ISDN-
API are numbered so that an application is guaranteed to get a different message number in every incoming
INDICATION.
An application is not allowed to send RESPONSE messages without having received an INDICATION. COM-
MON-ISDN-API ignores such illegal messages.
Parameters are associated with every message exchanged. In the description of messages and their parameters,
only few basic data types are used:
All messages exchanged between applications and COMMON-ISDN-API consist of a fixed-length header and a
parameter area of variable length, with one parameter immediately following another. No padding occurs in the
message header or parameter area.
In order to facilitate future extensions, messages containing more parameters than defined shall be treated as
valid messages. COMMON-ISDN-API implementations and applications shall ignore all such additional pa-
rameters.
Manufacturer-specific extensions of COMMON-ISDN-API are possible without altering the basic structure. An
appropriate value in the command/subcommand field in the message header identifies such extensions.
The following table gives an overview of the defined messages and their functions. The complete description of
each message is given in Chapter 5.
Communication between an application program and COMMON-ISDN-API takes place via message queues.
As shown in Figure 4, there is exactly one message queue for COMMON-ISDN-API and one for each regis-
tered application program. Messages between application programs and COMMON-ISDN-API are exchanged
via these message queues. In data transfer, the messages are used for signaling purposes only, and the data itself
is transferred via a memory space shared by the application and COMMON-ISDN-API. The queues are organ-
ized first in, first out, so that COMMON-ISDN-API processes messages in the order of their arrival.
An application issues commands to an ISDN driver or controller by placing an appropriate message in the
COMMON-ISDN-API message queue. In the reverse direction, a message from an ISDN driver or controller is
transferred to the message queue of the addressed application.
This method, also used in higher-layer protocols and modern operating systems, allows flexible access by several
applications to different ISDN drivers and controllers. It also provides a powerful mechanism for processing
events that arrive asynchronously, which is a paramount requirement for high-speed data transfer.
The message queue structure is not specified. It is manufacturer-specific and transparent to the application pro-
gram. COMMON-ISDN-API simply defines the necessary access operations.
Application 1 Application 2
COMMON-ISDN-API
Controller 1 Controller 2 ... Controller n
4.2.1 Overview
The message queues described represent the link between an application and COMMON-ISDN-API, with its
subordinate ISDN controllers and drivers. Only four operations are required to use the message queues. The op-
erations on the message queues are not restricted to a particular system specification. Their respective charac-
teristics and implementation are specific to each given operating system. This chapter describes the operating
system-independent functions of COMMON-ISDN-API’s exchange operations. COMMON-ISDN-API Part
II, Chapter 8 defines the operating system-specific implementation.
Before an application can issue commands to COMMON-ISDN-API, it must be registered with COMMON-
ISDN-API. The CAPI_REGISTER function is used to do this. COMMON-ISDN-API uses this function to as-
sign a unique application number (ApplID) to the application. The message queue to the application is set up at
the same time.
COMMON-ISDN-API manages a message queue for each application and puts all messages to the application
in this queue. Applications use the operation CAPI_GET_MESSAGE to read new messages from this queue.
When this function is called, it returns the received message. If the application’s message queue is empty, the
operation CAPI_GET_MESSAGE returns an error. If an application does not retrieve these messages or the
message queue size was configured too small, this queue may overflow. In this case, one or more messages from
COMMON-ISDN-API are lost. The application is informed of this error in the next CAPI_GET_MESSAGE
operation.
It is recommended that applications not ‘poll’ the queue for incoming messages. Instead, COMMON-ISDN-
API provides mechanisms to inform an application that messages are present: CAPI_SET_SIGNAL or
CAPI_WAIT_FOR_SIGNAL, depending on the resources offered by the operating system.
Additional operations are available to obtain information about the manufacturer, software releases, configura-
tion and serial numbers. Depending on the operating system, callback functions can be registered, which are
activated when a new message is placed in the application's message queue.
4.2.2.1 CAPI_REGISTER
Applications use CAPI_REGISTER to register their presence with COMMON-ISDN-API. Registration parame-
ters specify the maximum number of logical ISDN connections, the message buffer size, the number of data
buffers and the data buffer size required by the application. The message buffer size is normally calculated in
accordance with the following formula:
Successful registration causes COMMON-ISDN-API to assign and return to the caller a unique application
identifier. This application identifier is used in subsequent COMMON-ISDN-API function calls as well as in
defined COMMON-ISDN-API messages.
Some operating systems require applications to pass a memory buffer or other additional information to COM-
MON-ISDN-API.
4.2.2.2 CAPI_RELEASE
Applications use CAPI_RELEASE to terminate their registration with COMMON-ISDN-API. All memory and
other resources allocated to the application by COMMON-ISDN-API are released.
4.2.2.3 CAPI_PUT_MESSAGE
4.2.2.4 CAPI_GET_MESSAGE
The contents of the message block returned by CAPI_GET_MESSAGE is valid until the same application calls
CAPI_GET_MESSAGE again. Applications which process the message asynchronously or need to preserve the
message beyond the next call to CAPI_GET_MESSAGE must make a local copy of the message.
4.2.2.5 CAPI_SET_SIGNAL
4.2.2.6 CAPI_WAIT_FOR_SIGNAL
Type Description
2 bytes Number of installed controllers, least significant byte first
2 bytes Number of supported B-channels, least significant byte first
4 bytes Global options (bit field):
[0]: Internal controller supported
[1]: External equipment supported
[2]: Handset supported (external equipment must also be set)
[3]: DTMF supported
[4]: Supplementary Services (see Part III)
[5]: Channel allocation supported (leased lines)
[6]: Parameter B channel operation supported
[7]: Line Interconnect supported
[8]...[31]: reserved
4 bytes B1 protocol support (bit field):
[0]: 64 kbit/s with HDLC framing, always set.
[1]: 64 kbit/s bit-transparent operation with byte framing
from the network
[2]: V.110 asynchronous operation with start/stop byte fram-
ing
[3]: V.110 synchronous operation with HDLC framing
[4]: T.30 modem for Group 3 fax
[5]: 64 kbit/s inverted with HDLC framing.
[6]: 56 kbit/s bit-transparent operation with byte framing
from the network
[7]: Modem with all negotiations
[8]: Modem asynchronous operation with start/stop byte
framing
[9]: Modem synchronous operation with HDLC framing
[10]...[31]: reserved
4 bytes B2 protocol support (bit field):
[0]: ISO 7776 (X.75 SLP), always set
[1]: Transparent
[2]: SDLC
[3]: LAPD in accordance with Q.921 for D-channel X.25
(SAPI 16)
[4]: T.30 for Group 3 fax
[5]: Point-to-Point Protocol (PPP)
[6]: Transparent (ignoring framing errors of B1 protocol)
[7]: Modem error correction and compression (V.42 bis or
MNP5)
[8]: ISO 7776 (X.75 SLP) modified supporting V.42 bis
compression
[9]: V.120 asynchronous mode
[10]: V.120 asynchronous mode supporting V.42 bis
[11]: V.120 bit-transparent mode
[12]: LAPD in accordance with Q.921 including free SAPI
selection
[13]...[31]: reserved
4.2.2.8 CAPI_GET_MANUFACTURER
Applications call CAPI_GET_MANUFACTURER to retrieve information about the manufacturer of the speci-
fied ISDN controller. COMMON-ISDN-API copies this information to a 64-byte buffer passed by the calling
application.
4.2.2.9 CAPI_GET_VERSION
Applications call CAPI_GET_VERSION to retrieve version information from the specified ISDN controller.
Major and minor version numbers are returned for both COMMON-ISDN-API and the manufacturer-specific
implementation.
4.2.2.10 CAPI_GET_SERIAL_NUMBER
Applications call CAPI_GET_SERIAL_NUMBER to retrieve the serial number of the specified ISDN control-
ler. COMMON-ISDN-API copies this information to a buffer of eight bytes passed by the calling application.
4.2.2.11 CAPI_INSTALLED
Applications call CAPI_INSTALLED to determine whether the ISDN controller and all necessary drivers are
installed.
4.2.2.12 CAPI_MANUFACTURER
Operation Description
* Operations marked with an asterisk ( * ) are only available in implementations for certain operating systems.
The following section defines all COMMON-ISDN-API messages with their respec-
tive parameters. Parameters are explained in more detail in Chapter 6.
Messages are listed alphabetically, but disregarding the extension (_REQ, _CONF,
_IND, _RESP), which indicates the initiator of the exchange and the direction of the
message. For each basic message name, the following order is observed: REQUEST,
CONFIRMATION, INDICATION, RESPONSE.
5.1 ALERT_REQ
Description
Note
Description
Note
Info 0x0003 is returned if another application has already initiated the sending of an
ALERT message to the network. In this case, the Additional info parameter of the cor-
responding ALERT_REQ has been ignored.
See also
Description
Note
If an application provides BC, LLC and/or HLC, the parameters are used without
checking the resulting combination.
The absence (i.e. coding as an empty structure) of the B protocol parameter results in
the default protocol behavior: ISO 7776 (X.75) and window size seven. This is a rec-
ommended selection to obtain general connectivity with the benefits of HDLC error
recovery. Note that ISO 7776 defines a default maximum data length of 128 octets,
whereas COMMON-ISDN-API is able to handle up to at least 2048 octets, depending
on the CAPI_REGISTER parameters values of the given application.
Description
This message confirms the initiation of a call set-up. This connection is assigned a
PLCI, which serves as an identifier in further processing. Errors are returned in the pa-
rameter Info.
Note
Upon confirmation, the connection is in the set-up phase. Successful switching is indi-
cated by the subsequent message CONNECT_ACTIVE_IND.
Description
This message indicates an incoming call for a physical connection. The incoming call
is assigned a PLCI which is used to identify this connection in subsequent messages.
Note
Incoming calls are only signaled if the application has sent the message LISTEN_REQ
to COMMON-ISDN-API.
All information available from the network at this point is signaled to the application.
Empty structs indicate the absence of this information.
Incoming calls are not signaled for security reason if the combination of Calling party
number, Calling party subaddress and CIP Value is not allowed by Call Control Su-
pervision (see Annex D.2).
Description
This message is used by the application to react to an incoming call. The incoming call
is identified by the parameter PLCI. The parameter Reject is used to accept, reject or
ignore the call.
Note
The parameter LLC can optionally be used for LLC negotiation if supported by the
network.
Any Reject value other than accept call causes a DISCONNECT_IND to be sent to the
application.
The absence (i.e. coding as an empty structure) of the parameter B protocol results in
the default protocol behavior: ISO 7776 (X.75) and window size seven. This is a rec-
30 COMMON-ISDN-API Version 2.0
4th Edition
ommended selection to obtain general connectivity with the benefits of HDLC error
recovery. Note that ISO 7776 describes a default maximum data length of 128 octets,
whereas COMMON-ISDN-API is able to handle up to at least 2048 octets, depending
on the CAPI_REGISTER values of an application.
Description
Note
The parameters Connected number/subaddress and LLC are filled in completely if the
network provides this information. The absence of network information is indicated by
empty structures.
Description
Description
This message indicates the logical connection of a B channel. The connection is identi-
fied by the parameter NCCI. The parameter NCPI is used to transfer additional proto-
col-dependent information.
Note
In the case outgoing calls using the protocol T.30, this message does not imply suc-
cessful training between both sides. This is to enable an application to send data to
COMMON-ISDN-API without waiting for termination of the training phase. If the
training phase is not successful, COMMON-ISDN-API indicates this in the message
DISCONNECT_B3_IND.
Description
Description
This message initiates the setting up of a logical connection. The physical connection
is identified by the parameter PLCI. Protocol-dependent information can be trans-
ferred using the parameter NCPI.
Note
Description
This message confirms the initiation of a logical connection set-up. The logical con-
nection is assigned an NCCI for subsequent identification. Error information is sup-
plied in the parameter Info.
Note
This confirmation means that the connection is now in the set-up phase. Successful
set-up is indicated by the subsequent message CONNECT_B3_ACTIVE_IND.
If the value 0x0001 is returned in the parameter Info, then the set-up of a logical con-
nection has been initiated, but the parameter NCPI was ignored. In that case, the Layer
3 protocol used does not support the specified value of NCPI (e.g. the transparent
mode of Layer 3).
Description
Note
This message means that the connection is in the set-up phase. Successful set-up is in-
dicated by the subsequent CONNECT_B3_ACTIVE_IND message.
In case of B3 protocol 5 (T.30 for Group 3 fax with extensions), this message is sent to
the application after receipt of the T.30 DTC or DCS frame. If these frames are not re-
ceived within the defined time-out, a CONNECT_B3_IND directly followed by a
DISCONNECT_B3_IND shall be sent to the application.
For modem operation with B3 protocols 0 or 7, this message shall be sent to the appli-
cation when modem training and negotiation starts.
Description
With this message the application accepts or rejects an incoming logical connection.
The incoming call is identified by the parameter NCCI. The call is accepted or rejected
using the parameter reject. The parameter NCPI can be used to transfer additional pro-
tocol-dependent information.
Note
Any other value of parameter Reject results in the call being rejected.
Description
This message indicates the change from T.70 to T.90 within a logical connection on a
B channel. The connection is identified by the parameter NCCI. The parameter NCPI
is used to transfer additional T.90 information.
Note
This message is only generated if the selected B3 protocol is T.90NL with T.70NL
compatibility in accordance with T.90 Appendix II. In this case, the protocol initially
used is T.70. This message indicates the negotiation and change to T.90.
Description
Description
This message sends data within the logical connection identified by the NCCI. Data to
be sent are referenced by the parameters Data/Data length. The data is not contained
in the message: a 32-bit pointer is used to transfer the address of the data area. The ap-
plication issues a unique identifier for this data block in the parameter Data handle.
This handle is used in a later DATA_B3_CONF. It is possible to set additional infor-
mation, such as an indication that more data follows, delivery confirmation etc. in the
parameter Flags. The flags are not supported by all protocols.
Note
An application must not change or free the data area before the corresponding
DATA_B3_CONF is received.
Flags are protocol-dependent. If an application sets reserved bits in the Flags parame-
ter, COMMON-ISDN-API rejects the DATA_B3_REQ. This is to allow future ex-
pansion of this parameter. If an application sets bits in the Flags parameter which are
not supported by the current protocol, COMMON-ISDN-API accepts the
DATA_B3_REQ, but returns error information in the corresponding
DATA_B3_CONF.
64bit applications have to use the Data64 parameter. In this case the Data parameter
has to be coded as 0.
Description
This message confirms the acceptance of a data package to be sent. The logical con-
nection is identified by the parameter NCCI. The parameter Data handle contains the
identifier given by the application in the associated DATA_B3_REQ. After receiving
this message, the application can reuse the referenced data area.
Note
Description
This message indicates incoming data within a logical connection. The logical connec-
tion is identified by the NCCI. The length of the incoming data area is indicated by the
parameter Data length. The incoming data area itself can be referenced by the parame-
ter Data. The data is not contained in the message: a 32-bit pointer is used to commu-
nicate the address of the data area. COMMON-ISDN-API also issues a handle corre-
sponding to this data area in the parameter Data handle. When the application con-
firms receipt of the data by sending a DATA_B3_RESP message, it must also supply
this handle. Additional protocol-specific information available—such as an indication
that more data follows, delivery confirmation etc.—is supplied in the parameter Flags.
Note
The data area that contains the data remains allocated until the corresponding
DATA_B3_RESP is received. However, expedited data is only valid until the next
CAPI_GET_MESSAGE is called by the application.
On receiving DATA_B3_IND messages with reserved bits set in the parameter Flags,
the application must ignore the data area but process the message, i.e. send a
DATA_B3_RESP to COMMON-ISDN-API. This is to allow future expansion of the
parameter Flags.
Chapter 5: Message Description 45
In case of 64bit applications the Data64 parameter is used. In this case the Data pa-
rameter is coded as 0.
Description
With this message, the application acknowledges receipt of an incoming data package.
The logical connection is identified by the parameter NCCI. The parameter Data han-
dle identifies the corresponding DATA_B3_IND.
Note
This message frees the data buffer referenced by Data handle for reuse by COM-
MON-ISDN-API.
Description
This message initiates the clearing down of the logical connection identified by the pa-
rameter NCCI. The parameter NCPI can be used to transfer additional protocol de-
pendent information.
Note
In the case of Group 3 fax (B protocol T.30) and voice (B1 protocol bit-transparent,
B2/B3 protocol transparent), outgoing data received from the application by means of
DATA_B3_REQ messages is sent before the logical connection is disconnected.
Description
This message confirms that a logical connection clear-down has been initiated. Any
errors are coded in the parameter Info.
Description
This message indicates the clearing down of the logical connection identified by the
parameter NCCI. The parameter Reason_B3 indicates whether this clear-down was
caused by incorrect protocol behavior or by Call Control Supervision (see Annex D.2).
The parameter NCPI is used to indicate additional protocol-dependent information, if
available.
Note
After this message, no further messages concerning this NCCI are sent to the applica-
tion. The application must answer this message with a DISCONNECT_B3_RESP in
order to free the resources allocated to the NCCI.
Description
With this message, the application acknowledges the clearing down of a logical con-
nection.
Note
Description
This message initiates the clearing of a physical connection, identified by the parame-
ter PLCI.
Note
Description
This message confirms the initiation of clearing a physical connection. Any errors are
coded in the parameter Info.
Description
This message indicates the clearing of the physical channel identified via the parame-
ter PLCI. The parameter Reason indicates the cause for this clearing.
Note
After this message, no further messages concerning this PLCI are sent to the applica-
tion. The application must answer this message with DISCONNECT_RESP to free the
resources allocated to the PLCI.
Outgoing physical connections could be cleared for security reason (Reason = 0x3305)
if the combination of Called party number, Called party subaddress and CIP Value of
the corresponding CONNECT_REQ is not allowed by Call Control Supervision. In
case of overlap sending security clearing could occur after any INFO_REQ that builds
a Called party number which is not allowed. In case of overlap receiving security
clearing could occur after any INFO_IND that builds a Calling party number which is
not allowed (see Annex D.2).
Description
With this message, the application acknowledges the clearing down of the physical
channel.
Note
Description
This message is used to handle optional facilities on the controller or facilities related
to connections identified by Controller, PLCI or NCCI. At the moment, facility sup-
port is defined for handsets, DTMF, V.42 bis, Supplementary Services and power
management wakeup.
Handset, DTMF, V.42 bis, Supplementary Services and power management wakeup
support are optional COMMON-ISDN-API features. In the case that COMMON-
ISDN-API does not support these facilities, an appropriate information value is re-
turned in the FACILITY_CONF.
DTMF can not be used with all B protocols. Normally it is used with 64 kbit/sec
speech and T.30 audio. Supplementary Services may be used with all B protocols.
Normally they are used with speech services. However, hold/retrieve, terminal port-
ability functions and especially call forwarding are defined operations for other ser-
vices such as data communications as well. Line Interconnect is also primarily in-
tended for speech services but may also be used for data applications. The use of
power management wakeup is independent of the selected B channel protocol.
Description
This message confirms the acceptance of the FACILITY_REQ. Any error is coded in
the parameter Info.
Note
Description
Note
In case of facility selector 0 (Handset Support) this message may allocate a new PLCI
(in the case that the handset goes off-hook). This PLCI must be released later by
means of DISCONNECT_IND / DISCONNECT_RESP.
Description
With this message, the application acknowledges receipt of a facility indication mes-
sage.
Description
This message permits sending of protocol information, such as overlap sending, for a
physical connection.
Note
The first parameter identifies a physical connection (if a PLCI is given) or the ad-
dressed controller (if the PLCI field of parameter Controller/PLCI is zero). Different
messages are sent to the network depending on this parameter.
Description
Description
Note
If the PLCI field in the Controller/PLCI parameter is zero, the network has sent in-
formation not associated with a physical connection.
When information is received from the network which leads to other COMMON-
ISDN-API messages (as when the controller receives a RELEASE from the network
which includes charge information), it is guaranteed that an application receives the
INFO_IND messages before the other COMMON-ISDN-API messages. There is one
exception: information related to new connections (e.g. information included in an in-
coming SETUP) will be indicated after the corresponding message
(CONNECT_IND).
Description
Description
More than one application may listen to the same CIP Values. Every application lis-
tening to a matching value is informed about incoming calls. If more than one applica-
tion attempts to accept the call, the first CONNECT_RESP received by COMMON-
ISDN-API is accepted. Every other application receives a DISCONNECT_IND mes-
sage which indicates this situation in the Reason parameter.
Note
Clearing all bits in the CIP Mask disables the signaling of incoming calls to the appli-
cation.
Calling party number/subaddress are used only for external ISDN equipment (hand-
sets), which might need the (local) line’s own address to handle outgoing calls.
Description
This message confirms the acceptance of the LISTEN_REQ. Any errors are coded in
the parameter Info.
Description
Note
Description
Description
Note
Description
Description
With this message, the application initiates a reset of the specified logical connection.
The logical connection is identified by the parameter NCCI.
Note
If a reset procedure is not defined for the protocol, a RESET_B3_REQ causes the
controller to generate a RESET_B3_CONF with info value Reset procedure not sup-
ported by current protocol (0x300D). No further action is taken.
Description
With this message, the controller confirms the initiation of a logical connection reset.
Description
This message indicates that a logical connection has been reset. The logical connection
is identified by the NCCI.
Note
Description
With this message, the application acknowledges the resetting of a logical connection.
Description
This message allows an application to change the current protocol during a physical
connection, i. e. after receipt of the message CONNECT_ACTIVE_IND. Support for
this message is optional. If a particular COMMON-ISDN-API implementation does
not support this change, the Info parameter of the corresponding SELECT_B_-
PROTOCOL_CONF is set to Message not supported in current state (0x2001).
Description
This message confirms the change of protocol stack for a physical connection. Any er-
ror is shown in the Info parameter.
Some parameter values are defined in accordance with ETS 300 102-1 or Q.931.
There is no private COMMON-ISDN-API coding for such parameters. They are
coded as COMMON-ISDN-API structures starting with a length octet and the re-
mainder of the parameter coded as defined in ETS 300 102-1 / Q.931 from octet three
onwards. References to the contents of a structure in this chapter always use the index
0 to identify the first octet of information, i.e. the octet following the length octet.
Parameters may not be omitted. Instead, an empty structure shall be used. An empty
structure is coded as a single length octet containing a value of zero.
Parameters may themselves contain parameters, which are then referred to as “sub-pa-
rameters”.
The purpose of the parameter additional info is to exchange information specific to the signaling
protocol of the network. Depending on the signaling protocol, only the relevant elements of this
structure are used. For example, the B channel information is ignored in the message DISCON-
NECT_REQ.
ALERT_REQ
CONNECT_REQ
CONNECT_IND
CONNECT_RESP
DISCONNECT_REQ
The purpose of the sub-parameter B channel information is to choose between B channel data ex-
change, D channel data exchange or pure user-user data exchange. If this struct is empty, the de-
fault value is assumed.
This sub-parameter is coded as a structure. Depending on the parameter Channel (the first element
of the structure), additional information is included. Parameter Channel can have following values:
0: Use B channel
1: Use D channel
2: Use neither B channel nor D channel
3: Use channel allocation (leased lines only)
4: Use channel identification information element
The parameter Operation defines the mode (DTE or DCE) in which the B-channel protocols (e.g.
X.75 or X.25, etc.) are operated. The Channel mask array specifies the channels and subchannels
to be bundled to one physical connection. In each mask byte, the least significant bit (LSB) corre-
sponds to the LSB of the respective channel on the BRI or PRI. Bandwidth values may be selected
within the range 0..64 kbit/s in units of 8 kbit/s. The default value for this mask array is {0, 255, 0,
0, …, 0}, thus allocating B Channel 1 with 64 kbit/s on a BRI. In the case of a BRI, the unused
channel mask array bytes 3..30 shall be ignored. See the example below for different channel
allocations:
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
O c tet 0 O c te t 1 O c te t 2
T = 125µs
The message CONNECT_CONF with Info value 0x300E indicates overlapping channel masks
(such as {0,255,15,0,...} and {0,0,255,0,…}) in different CONNECT_REQ messages.
The purpose of the parameter Channel Identification is to identify a channel within the interface(s)
controlled by these signaling procedures.
Additional information
B Protocol (struct)
The purpose of the parameter B protocol is to select and configure the B channel protocols. The
parameter B protocol is protocol-dependent: see Subclause 6.2.
B1 Protocol (word)
The purpose of the sub-parameter B1 protocol is to specify the physical layer and framing used for
this connection. The sub-parameter B1 protocol is protocol-dependent: see Subclause 6.2.
The purpose of the sub-parameter B2 protocol is to specify the data link layer used for this connec-
tion. The sub-parameter B2 protocol is protocol-dependent: see Subclause 6.2.
B3 Protocol (word)
The purpose of the sub-parameter B3 protocol is to specify the network layer used for this connec-
tion. The sub-parameter B3 protocol is protocol-dependent: see Subclause 6.2.
B1 Configuration (struct)
B2 Configuration (struct)
B3 Configuration (struct)
BC (struct)
The purpose of the parameter Bearer Capability (BC) is to indicate a requested CCITT Recom-
mendation I.231 bearer service to be provided by the network. It contains information which may
be used only by the network. The information element is coded in accordance with ETS 300 102-1
/ Q.931.
CONNECT_IND
CONNECT_REQ
The purpose of the parameter Called party number is to identify the party called in the call estab-
lishment process. The information element is coded in accordance with ETS 300 102-1 / Q.931.
CONNECT_IND
CONNECT_REQ
The purpose of the parameter Called party subaddress is to identify the subaddress of the party
called in the call establishment process. The information element is coded in accordance with ETS
300 102-1 / Q.931.
CONNECT_IND
CONNECT_REQ
The purpose of the parameter Calling party number is to identify the origin of a call. The informa-
tion element is coded in accordance with ETS 300 102-1 / Q.931.
Byte 0 Type of number and numbering plan identification (byte 3 of the Calling party number
information element, see ETS 300 102).
The value supplied by the application at the calling end is transmitted over the netw-
ork. 0x00 is the suggested default value.
At the called interface, the value received from the network is passed to the applica-
tion. The extension bit is always cleared.
Byte 1 Presentation and screening indicator (byte 3a of the Calling party number information
element). This byte may be used to allow or suppress the presentation of the caller's
number in an incoming call.
The value supplied by the application at the originating interface is transmitted over
the network. 0x80 is the suggested default value, which allows presentation of the
caller’s number. 0xA0 suppresses presentation of the calling number if the network
supports this mechanism.
At the called interface, the value received from the network is passed to the applica-
tion. If this byte was not transmitted from the network, the controller inserts the valid
default value 0x80 (user-provided, not screened).
CONNECT_IND
CONNECT_REQ
LISTEN_REQ
The purpose of the parameter Calling party subaddress is to identify a subaddress associated with
the origin of a call. The information element is coded in accordance with ETS 300 102-1 / Q.931.
CONNECT_IND
CONNECT_REQ
LISTEN_REQ
The purpose of parameter CIP Value is to identify a complete profile of the compatibility informa-
tion Bearer Capability, Low Layer Compatibility and High Layer Compatibility. With this parame-
ter, standard applications are not required to do complex coding and decoding of these individual
information elements.
Some of the CIP values only define a Bearer Capability (CIP 1 to 9), and some define a combina-
tion of Bearer Capability and High Layer Compatibility (CIP 16 to 28). A Low Layer Compatibil-
ity information element is not defined by the CIP, but must be provided by the application if nec-
essary.
Note: This coding applies to ISDN with A-Law default coding for speech/audio. For ISDN with µ-
Law default coding, the corresponding values are used.
CONNECT_IND
CONNECT_REQ
The purpose of the parameter CIP Mask is to select basic classes of incoming calls. The bit posi-
tion within this mask identifies the related CIP value. When an incoming call is received, COM-
MON-ISDN-API tries to match this incoming call to the enabled CIP values (more than one value
may match). A CONNECT_IND message is sent to the application if the bit position within the
CIP Mask of any matching CIP value is set to 1. The CIP value in the CONNECT_IND message is
set to the highest matching CIP value.
The following rules are defined for determining matching CIP values:
1. CIP values defining a Bearer Capability only (CIP values 1 to 9) generate a match with any
incoming call that includes this Bearer Capability information. Additional information in-
cluded in the Bearer Capability information element is ignored. The match is generated re-
gardless of any Low Layer Compatibility or High Layer Compatibility received.
2. CIP values defining a Bearer Capability and a High Layer Compatibility (CIP values 16 to 28)
generate a match with any incoming call that includes a Bearer Capability and a High Layer
Compatibility with the same information. The match is generated regardless of any Low Layer
Compatibility received.
Bit 0 in the CIP Mask has a special meaning. When no other matching bit is set in the CIP Mask
except bit 0, a CONNECT_IND is sent to the application with a CIP value of 0. In this case, the
application must evaluate the parameters Bearer Capability, Low Layer Compatibility and High
Layer Compatibility to decide whether or not it is compatible with the call.
Examples:
LISTEN_REQ
The purpose of the parameter Connected number is to indicate which number is connected to a
call. The information element is coded in accordance with ETS 300 097.
Byte 0 Type of number and numbering plan identification (byte 3 of the connected number
information element; see ETS 300 097).
In the direction from application to COMMON-ISDN-API, the value supplied by the
application is transmitted over the network. 0x00 is the suggested default value.
In the direction from COMMON-ISDN-API to application, the value received from the
network is passed to the application. The extension bit is always cleared.
Byte 1 Presentation and screening indicator (byte 3a of the connected number information
element).
In the direction from application to COMMON-ISDN-API, the value supplied by the
application is transmitted over the network. 0x80 is the suggested default value.
In the direction from COMMON-ISDN-API to application, the value received from the
network is passed to the application. If this byte was not received over the network,
the controller supplies the value 0x80 (user-provided, not screened).
CONNECT_ACTIVE_IND
CONNECT_RESP
The purpose of the connected subaddress is to identify the subaddress of the connected user an-
swering a call. The information element is coded in accordance with ETS 300 097.
CONNECT_ACTIVE_IND
CONNECT_RESP
The purpose of the parameter Controller is to address a hardware unit that provides the application
with access to ISDN. A controller may support zero, one or several physical and logical con-
nections. The parameter Controller is a dword (to be compatible in size with PLCI and NCCI) in
the range from 1 to 127 (0 is reserved). Bit 7 additionally indicates whether the message applies to
internal (0) or external (1) equipment. Controllers are numbered sequentially and can be designed
to handle external equipment in addition to internal capabilities, or may provide access exclusively
to external equipment, such as a handset, for example.
CONNECT_REQ
FACILITY_REQ
FACILITY_CONF
FACILITY_IND
FACILITY_RESP
LISTEN_REQ
LISTEN_CONF
MANUFACTURER_REQ
MANUFACTURER_CONF
MANUFACTURER_IND
MANUFACTURER_RESP
Data (dword)
The purpose of the parameter Data is to hold a 32-bit pointer to the data area containing the infor-
mation.
DATA_B3_REQ
DATA_B3_IND
Data64 (qword)
The purpose of the parameter Data64 is to hold a 64-bit pointer to the data area containing the
information (64bit applications only).
DATA_B3_REQ
DATA_B3_IND
The purpose of the parameter Data length is to specify the length of the data area.
DATA_B3_REQ
DATA_B3_IND
The purpose of the parameter Data handle is to identify the data area referred to in data exchange
messages.
DATA_B3_REQ
DATA_B3_CONF
DATA_B3_IND
DATA_B3_RESP
The purpose of the parameter Facility awake request parameter is to offer additional information
concerning the parameter Facility request parameter in case of Facility Selector 4. It includes a
combination of Called party number and CIP Mask which enables the generation of a CON-
NECT_IND.
The purpose of the parameter Facility selector is to identify the requested COMMON-ISDN-API
facility.
FACILITY_REQ
FACILITY_CONF
FACILITY_IND
FACILITY_RESP
The purpose of the parameter Facility request parameter is to offer additional information con-
cerning the message FACILITY_REQ.
This parameter is coded as a structure with the following elements depending on the value of Fa-
cility selector:
Facility selector:
Sending DTMF characters interrupts the transmission of DATA_B3_REQ data. After DTMF
generation, the data transmission is resumed.
A FACILITY_REQ with Facility selector 2 (V.42 bis compression) is valid in all states except
State N0 (see Chapter 7: State Diagram).
5 Line Interconnect:
FACILITY_REQ
The purpose of the parameter Facility confirmation parameter is to offer additional information
concerning the message FACILITY_CONF.
This parameter is coded as a structure with the following elements depending on the value of Fa-
cility selector:
Facility selector:
5 Line Interconnect:
FACILITY_CONF
The purpose of the parameter Facility indication parameter is to offer additional information con-
cerning the message FACILITY_IND.
This parameter is coded as a structure with the following elements depending on the value of Fa-
cility selector:
Facility selector:
0 Handset Support:
Handset digits byte array Characters received, coded as IA5-char. '0' to '9', '*', '#', 'A',
'B', 'C' or 'D'; or
'+': Handset off-hook
'-': Handset on-hook
DTMF digits byte array Received characters, coded as IA5-char. '0' to '9', '*', '#', 'A',
'B', 'C' or 'D'; or
‘X’: Recognition of fax tone CNG (1.1 kHz)
‘Y’: Recognition of fax tone CED (2.1 kHz)
3 Supplementary Services:
see COMMON-ISDN-API Part III
5 Line Interconnect:
FACILITY_IND
The purpose of the parameter Facility response parameter is to offer additional information con-
cerning the message FACILITY_RESP.
This parameter is coded as a structure with the following elements depending on the value of Fa-
cility selector:
Facility selector:
3 Supplementary Services:
see COMMON-ISDN-API Part III
FACILITY_RESP
Flags (word)
DATA_B3_REQ
DATA_B3_IND
HLC (struct)
The purpose of the High Layer Compatibility (HLC) information element is to provide a means for
compatibility checking by the remote user. The information element is coded in accordance with
ETS 300 102-1 / Q.931.
CONNECT_IND
CONNECT_REQ
Info (word)
The purpose of the parameter Info is to provide error information to the application. A unique code
is defined for each error which can be detected by the controller. This code is independent of the
error context.
COMMON-ISDN-API shall not generate other information values than those defined below. In
case additional information values are defined in future, however, an application should interpret
any information value except class 0x00xx as an indication that the corresponding request was
rejected by COMMON-ISDN-API. Class 0x00xx indicates successful handling of the corre-
sponding request and returns additional information.
Class 0x00xx: Informative values (the corresponding request message was processed)
Value Reason
0 Request accepted
0x0001 NCPI not supported by current protocol, NCPI ignored
0x0002 Flags not supported by current protocol, flags ignored
0x0003 Alert already sent by another application
Value Reason
0x1001 Too many applications
0x1002 Logical block size too small; must be at least 128 bytes
0x1003 Buffer exceeds 64 kbytes
0x1004 Message buffer size too small, must be at least 1024 bytes
0x1005 Max. number of logical connections not supported
0x1006 reserved
0x1007 The message could not be accepted because of an internal busy condition
0x1008 OS resource error (e.g. no memory)
0x1009 COMMON-ISDN-API not installed
0x100A Controller does not support external equipment
Value Reason
0x1101 Illegal application number
0x1102 Illegal command or subcommand, or message length less than 12 octets
0x1103 The message could not be accepted because of a queue full condition. The error
code does not imply that COMMON-ISDN-API cannot receive messages directed to
another controller, PLCI or NCCI.
0x1104 Queue is empty
0x1105 Queue overflow: a message was lost. This indicates a configuration error. The only
recovery from this error is to do the CAPI_RELEASE operation.
0x1106 Unknown notification parameter
0x1107 The message could not be accepted because of an internal busy condition
0x1108 OS resource error (e.g. no memory)
0x1109 COMMON-ISDN-API not installed
0x110A Controller does not support external equipment
0x110B Controller supports only external equipment
Value Reason
0x2001 Message not supported in current state
0x2002 Illegal Controller/PLCI/NCCI
0x2003 No PLCI available
0x2004 No NCCI available
0x2005 No Listen resources available
0x2006 No fax resources available (protocol T.30)
0x2007 Illegal message parameter coding
0x2008 No interconnection resources available
Value Reason
0x3001 B1 protocol not supported
0x3002 B2 protocol not supported
0x3003 B3 protocol not supported
0x3004 B1 protocol parameter not supported
0x3005 B2 protocol parameter not supported
0x3006 B3 protocol parameter not supported
0x3007 B protocol combination not supported
0x3008 NCPI not supported
0x3009 CIP Value unknown
0x300A Flags not supported (reserved bits)
0x300B Facility not supported
0x300C Data length not supported by current protocol
0x300D Reset procedure not supported by current protocol
0x300E TEI assignment failed / overlapping channel masks
0x300F Unsupported interoperability (see Part IV)
0x3010 Request not allowed in this state
0x3011 Facility specific function not supported
CONNECT_B3_CONF
CONNECT_CONF
INFO_CONF
DATA_B3_CONF
DISCONNECT_B3_CONF
The purpose of the parameter Info element depends on the value of the parameter Info number.
If the Info number specifies an information element, then Info element contains that information
element with coding as defined in ETS 300 102-1 / Q.931.
If the Info number specifies the charge information Charge units, then Info element contains a
dword indicating the sum of charging units accumulated by the network up to this moment.
If the Info number specifies the charging information National currency then Info element contains
the following struct:
If the Info number specifies a message type, then the Info element is an empty COMMON-ISDN-
API struct.
INFO_IND
The parameter Info mask specifies which type of information for a physical connection or control-
ler is provided by COMMON-ISDN-API. The selected information is indicated in INFO_IND
messages to the application. A given Info mask (set in LISTEN_REQ) is valid until it is super-
seded by another LISTEN_REQ, and applies to all information concerning the corresponding
application. The Info mask is coded as a bit field. A bit set to 1 means that corresponding
INFO_IND messages are generated. A bit set to 0 means the specified information is suppressed.
In the default Info mask, all bits are set to 0. If an application wants to change this value, it must
send a LISTEN_REQ message, even if it does not want to be informed about incoming calls.
LISTEN_REQ
The purpose of the parameter Info number specifies the coding of the parameter Info element and
the type of information which is carried by the given INFO_IND message. The high byte is struc-
tured as a bit field and indicates which type of information is contained in the low byte:
If bit 15 is set, then the low byte containing the message type is coded in accordance with ETS
300 102-1 / Q.931. In this case, the INFO_IND message indicates the occurrence of a network
event corresponding to the specified message, and the parameter Info element is an empty COM-
MON-ISDN-API struct.
If bits 14 and 15 are cleared, then the low byte represents an information element type, coded in
accordance with ETS 300 102-1 / Q.931. The parameter info element contains the information
element itself.
If bit 14 is set, then the low byte represents supplementary information. The defined values are
0 Total charges in charge units. In this case, the Info element parameter contains the
information element.
1 Total charges in national currency. In this case, the Info element parameter contains
the information element.
INFO_IND
Note: If Bit 2 is set, DATA_B3_INDs will be generated for the participating PLCI if it has a layer-
3-connection, otherwise DATA_B3_INDs will stop coming in. If Bit 3 is set, all
DATA_B3_REQs transferred for participating PCLI will be mixed to all other data sent to the
channel of the participating PLCI. If Bit 4 is set, all interconnection data – even of later intercon-
nected entities - which is sent to the channel of the participating PLCI will also be mixed into the
DATA_B3_INDs of the participating PLCI. If bit 5 is set, all DATA_B3_REQs which are trans-
ferred for the participating PCLI will also be mixed into the channels of all interconnected entities
– even if they are interconnected later on.
CAPI-application CAPI-application
Partici- M M Main
pating 7 PLCI
PLCI 4
2 M M
0 1
8
5
3
M M
6
M M
ISDN-line ISDN-line
LI Request Parameter
LI Confirmation Parameter
LI Request Parameter
Participating PLCI dword Identifier of entity to disconnect from entity identified by PLCI
in main-part of FACILITY_REQ
Participating Info word 0x0000: Request accepted
0x2001: Message not supported in current state
0x2002: Incorrect Controller/PLCI/NCCI
0x2007: Illegal message parameter coding
0x3011: Facility specific function not supported
LI Confirmation Parameter
0x0001 Connect
Data Path dword See figure below. Bit field, coding as follows:
[0]: reserved
[1]: reserved
[2]: Enable monitoring of channel data for PLCI in main-part
of FACILITY_REQ
[3]: Enable mixing into data channel of PLCI in main-part of
FACILITY_REQ
[4]: Enable monitoring of channel data of all PLCIs intercon-
nected to PLCI in main-part of FACILITY_REQ
[5]: Enable mixing into data channel of all PLCIs intercon-
nected to PLCI in main-part of FACILITY_REQ
[6]: Incoming line-data will be looped back.
[7]: Incoming application-data (DATA_B3_REQ) will be
looped back (DATA_B3_IND)
[8]: Incoming conference-data will be looped back.
[9 to 31]: reserved
LI Connect Request struct Sequence of participant-structs for the interconnection with
Participant the PLCI in main-part of FACILITY_REQ
Note: If Bit 2 is set, DATA_B3_INDs will be generated for the main PLCI if it has a layer-3-
connection, otherwise DATA_B3_INDs will stop coming in. If Bit 3 is set, all DATA_B3_REQs
transferred for the main PCLI will be mixed to all other data sent to the channel of the main PLCI.
If Bit 4 is set, all interconnection data – even of later interconnected entities - which is sent to the
channel of the main PLCI will also be mixed into the DATA_B3_INDs of the main PLCI. If bit 5
is set, all DATA_B3_REQs which are transferred for the main PCLI will also be mixed into the
channels of all interconnected entities – even if they are interconnected later on. If the two lowest
bits of a Participant Interconnect Mask are 0, a Line Interconnect indication “Disconnect” will be
generated. In all other bit-combinations a Line Interconnect indication “Connect” will result in
case of success. General interconnect-behavior may also change depending on the value of bit 9 of
the parameter Info Mask in the LISTEN_REQ (early B3).
CAPI-application CAPI-application
Partici- M M Main
pating 7 PLCI
PLCI 4
M M 2
8
5
3
M M
6
M M
ISDN-line ISDN-line
0x0001 Connect
Main Info word 0x0000: Request accepted
0x2001: Message not supported in current state
0x2002: Incorrect Controller/PLCI/NCCI
0x2007: Illegal message parameter coding
0x2008: No interconnection resources available
0x3011: Facility specific function not supported
LI Connect Confirma- struct Sequence with structs of participant(s) and their correspond-
tion Participant ing info-values, for the interconnection with the PLCI in main-
part of FACILITY_CONF.
0x0002 Disconnect
Participating PLCI dword Identifier of entity disconnected from entity identified by PLCI
in main-part of FACILITY_IND.
LI Service Reason word 0x0000: User initiated
0x3800: PLCI has no b-channel
0x3801: Lines not compatible
0x3802: PLCI(s) is (are) not in any or not in the same inter-
connection
Note: The participant structs are not available for indications, as the events that trigger these in-
dications will not happen at the same time. The participant structs are only a syntactical tool for
ease of use when starting & terminating interconnects. One might as well send multiple re-
quests instead of one with all participants included. In the disconnect-case the main PLCI will
not be the instance which caused this message either by a FACILITY-request or due to the cor-
responding line disconnecting for example but the PLCI of the instance which is affected by this
event.
The purpose of the parameter Line Interconnection Service Reason is to provide error information
to the application regarding establishment of line interconnections. The defined values are:
Value Reason
0x0000 User initiated
0x3800 PLCI has no B-channel
0x3801 Lines not compatible
0x3802 PLCI(s) is (are) not in any or not in the same interconnection
LI Indication Parameter
The purpose of the parameter Low Layer Compatibility (LLC) is to provide a means for compati-
bility checking by an addressed entity (such as a remote user, an interworking unit or a network
node with a high layer function addressed by the calling party). The Low Layer Compatibility
information element is transferred transparently by ISDN between the entity originating the call
(e.g. the calling user) and the addressed entity. If the network allows Low Layer Compatibility
negotiation, then the Low Layer Compatibility information element is also passed transparently
from the addressed entity to the originating entity. The information element is coded in accordance
with ETS 300 102-1 / Q.931.
CONNECT_ACTIVE_IND
CONNECT_IND
CONNECT_REQ
CONNECT_RESP
Manu ID (dword)
The purpose of the parameter Manu ID is to communicate a dword which identifies the manufac-
turer in MANUFACTURER messages. Every manufacturer supplying MANUFACTURER mes-
sages should choose a unique value (such as an abbreviation of the company name).
MANUFACTURER_REQ
MANUFACTURER_RESP
MANUFACTURER_IND
MANUFACTURER_CONF
Manufacturer-Specific
MANUFACTURER_REQ
MANUFACTURER_RESP
MANUFACTURER_IND
MANUFACTURER_CONF
NCCI (dword)
The purpose of the parameter NCCI is to identify a logical connection. The NCCI (Network Con-
trol Connection Identifier) is assigned by COMMON-ISDN-API on creation of a logical connec-
tion. Depending on the Layer 3 protocol selected (e.g. ISO 8208), it is possible to have multiple
NCCIs based on a single PLCI. The NCCI parameter is a dword with a range from 1 to 65535 (0
reserved), coded as described below, and also includes the corresponding PLCI and controller
number.
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE_RESP
CONNECT_B3_CONF
CONNECT_B3_IND
CONNECT_B3_RESP
DATA_B3_CONF
DATA_B3_IND
DATA_B3_REQ
DATA_B3_RESP
DISCONNECT_B3_CONF
DISCONNECT_B3_IND
DISCONNECT_B3_REQ
DISCONNECT_B3_RESP
FACILITY_REQ
FACILITY_CONF
FACILITY_IND
FACILITY_RESP
RESET_B3_CONF
RESET_B3_IND
RESET_B3_REQ
RESET_B3_RESP
NCPI (struct)
The purpose of the parameter NCPI is to provide additional protocol-specific information. The
parameter NCPI is protocol-dependent, see Subclause 6.2.
PLCI (dword)
The purpose of the parameter PLCI is to identify a physical connection between two endpoints.
The PLCI (Physical Link Connection Identifier) is assigned by COMMON-ISDN-API during
creation of the physical connection. The PLCI parameter is a dword with the range from 1 to 255
(0 reserved), coded as described below, and also includes the controller number.
CONNECT_ACTIVE_IND
CONNECT_ACTIVE_RESP
CONNECT_B3_REQ
CONNECT_CONF
CONNECT_IND
CONNECT_RESP
DISCONNECT_REQ
DISCONNECT_CONF
DISCONNECT_IND
DISCONNECT_RESP
FACILITY_REQ
FACILITY_CONF
FACILITY_IND
Reason (word)
The purpose of the parameter Reason is to provide error information to the application regarding
the clearing down of a physical connection. The defined values are:
DISCONNECT_IND
Reason_B3 (word)
The purpose of the parameter is to provide error information to the application regarding the clear-
ing down of a logical connection. The parameter Reason_B3 is protocol-dependent: see Subclause
6.2. The defined protocol-independent values are:
DISCONNECT_B3_IND
Reject (word)
The purpose of the parameter reject is to define the action of COMMON-ISDN-API for incoming
calls.
CONNECT_B3_RESP
CONNECT_RESP
The purpose of the sub-parameter Sending Complete is to enable the origination of a Sending
Complete Information Element at the completion of the Called Party Number by means of a
CONNECT_REQ or an INFO_REQ. If this struct is empty, the default value is assumed.
Additional information
The purpose of the sub-parameter B Channel Operation is to specify the mode (DTE or DCE) in
which the B channel protocols are operated, regardless of which end initiated the call establish-
ment.
Note (Default mode): On the calling side (CONNECT_REQ), the B channel runs in the DTE mode
(CONNECT_B3_REQ). On the called side (CONNECT_IND) the B channel runs in the DCE
mode (CONNECT_B3_IND).
Global Configuration
B Protocol (struct)
The purpose of the parameter B protocol is to select and configure the B channel protocols. The
parameter contains a protocol identifier and configuration information for each layer. If this struct
is empty, the default value is assumed.
CONNECT_REQ
CONNECT_RESP
SELECT_B_PROTOCOL_REQ
The purpose of the sub-parameter B1 protocol is to specify the physical layer and framing used for
this connection.
Note 1: Recommendation V.110 describes two different frame alternatives for 56 kbit/s rate adap-
tation. COMMON-ISDN-API uses frame alternative 1 (V.110 table 7b).
B protocol
B2 Protocol (word)
The purpose of the sub-parameter B2 protocol is to specify the data link layer used for this connec-
tion.
Note 1:
V.120 multiframe mode supported (data transmission uses I-frames, not UI-frames).
V.120 flow control by Q.921 mechanism supported (RR/RNR, usage of V.120 CS-header byte is
implementation-dependent).
V.120 break signal /error handling is indicated.
V.120 Multi-Link operation is not supported.
V.120 in-band negotiation is not supported.
B protocol
B3 Protocol (word)
The purpose of the sub-parameter B3 protocol is to specify the network layer used for this connec-
tion.
0: Transparent (default)
1: T.90NL with compatibility to T.70NL in accordance with T.90 Appendix II.
2: ISO 8208 (X.25 DTE-DTE)
3: X.25 DCE
4: T.30 for Group 3 fax
5: T.30 for Group 3 fax extended (see Note 1)
6: reserved
7: Modem (see Note 2)
Note 1: Includes support for fax-polling mode and detailed status information (see parameter
NCPI).
Note 2: Modem capability is also possible with B3 Protocol 0 (Transparent), but applications must
use B3 Protocol 7 to obtain information about the results of modem negotiation (see parameter
NCPI).
B protocol
B1 Configuration (struct)
The coding of the parameter B1 configuration for each protocol is described below:
B1 Configuration for B1 protocol 2: V.110 asynchronous operation with start/stop byte framing:
Maximum bit rate word Coded as unsigned integer value (default: 0 : adaptive)
Bits per character word Coded as unsigned integer value (default: 8)
Parity word 0: None (default)
1: Odd
2: Even
Stop bits word 0: 1 stop bit (default)
1: 2 stop bits
Maximum bit rate word Coded as unsigned integer value, default: 56 kbit
Bits per character word reserved, coded as 0
Parity word reserved, coded as 0
Stop bits word reserved, coded as 0
Maximum bit rate word Coded as unsigned integer value (default: 0 : adaptive)
Transmit level in word Coded as signed integer value. If this parameter or its value is
dB not supported by the ISDN controller, it is ignored.
reserved1 word reserved, coded as 0
reserved2 word reserved, coded as 0
Maximum bit rate word Coded as unsigned integer value (default: 0 : adaptive)
Bits per character word Coded as unsigned integer value, default: 8
Parity word 0: None (default)
1: Odd
2: Even
Stop bits word 0: 1 stop bit (default)
1: 2 stop bits
B1 Configuration for B1 protocol 8: Modem asynchronous operation with start/stop byte framing:
Maximum bit rate word Coded as unsigned integer value (default: 0 : adaptive)
Bits per character word reserved, coded as 0
Parity word reserved, coded as 0
Stop bits word reserved, coded as 0
B protocol
B2 Configuration (struct)
The coding of the parameter B2 configuration for each protocol is described below:
B2 Configuration for B2 protocol 8: ISO 7776 (X.75 SLP) modified supporting V.42 bis compres-
sion:
B2 Configuration for B2 protocol 10: V.120 asynchronous mode with V.42 bis compression:
B2 Configuration for B2 protocol 12: LAPD in accordance with Q.921 including free SAPI selec-
tion:
B protocol
The default values of maximum transmit and receive packet size are taken from the
CAPI_REGISTER parameters.
The default values of maximum transmit and receive packet size are taken from the
CAPI_REGISTER parameters.
The default values of maximum transmit and receive packet size are taken from the
CAPI_REGISTER parameters.
The headline which is generated at the top of each fax page sent should contain the following
fields:
The font, order and position of these fields within the complete headline is implementation-
dependent.
Note 1: If negotiation is successful, the data format is changed to native, see parameter NCPI.
The headline which is generated at the top of each fax page sent should contain the following
fields:
The font, order and position of these fields within the complete headline is implementation-
dependent.
B protocol
B Protocol
NCPI (struct)
NCPI for B3 protocol 1: T.90NL with T.70NL compatibility in accordance with T.90 Appendix II:
Flags byte [0]: Enable the use of the delivery confirmation procedure in
call set-up and data packets (D-bit)
[1..7]: reserved
Group byte Logical channel group number of the permanent virtual circuit
(PVC) to be used. In the case of virtual calls (VC), this num-
ber must be set to zero.
Channel byte Logical channel number of the permanent virtual circuit (PVC)
to be used. In the case of virtual calls (VC), this number must
be set to zero.
Contents byte array Bytes following the packet type identifier field in the X.25 PLP
packets.
Options byte [0]: Enable the use of the delivery confirmation procedure in
call set-up and data packets (D-bit)
[1...7]: Reserved
Group byte Logical channel group number of the permanent virtual circuit
(PVC) to be used. In the case of virtual calls (VC), this num-
ber must be set to zero.
Channel byte Logical channel number of the permanent virtual circuit (PVC)
to be used. In the case of virtual calls (VC), this number must
be set to zero.
Contents byte array Bytes following the packet type identifier field in the X.25 PLP
packets.
Rate word Actual bit rate used, coded as unsigned integer value
NCPI for B3 protocol 4: T.30 for Group 3 fax (all messages except DISCONNECT_B3_IND):
NCPI for B3 protocol 5: T.30 for Group 3 fax extended (messages CONNECT_B3_IND, CON-
NECT_B3_ACTIVE_IND, DISCONNECT_B3_IND):
Rate word Actual bit rate used, coded as unsigned integer value
• CONNECT_B3_IND: bit rate as coded in B3 Configura-
tion
• CONNECT_B3_ACTIVE_IND: bit rate currently used
• DISCONNECT_B3_IND: last bit rate used
Options word [Bit 0]: Enable high resolution
[Bit 1]: Fax-polling request / indication
[Bit 2]: Request / indication to send / poll another document
after the current document (prevents remote station
from disconnecting the D channel)
[Bit 10]: This is a JPEG continuous-tone colour connection
with data format according to T.4 Annex E (see note)
[Bit 11]: This is a JBIG colour and gray-scale connection with
data format according to T.43 Table 7 (see note)
[Bit 12]: This is a connection with JBIG progressive bi-level
image compression
[Bit 13]: This is a connection with MR compression
[Bit 14]: This is a connection with MMR compression
[Bit 15]: This is not an ECM connection
Format word 0: SFF (default)
1: Plain fax format (modified Huffman coding)
2: PCX
3: DCX
4: TIFF
5: ASCII
6: Extended ANSI
7: Binary file transfer
8: Native format (see note)
Pages word Number of pages, coded as unsigned integer value
• CONNECT_B3_IND: reserved, coded as 0
• CONNECT_B3_ACTIVE_IND: reserved, coded as 0
• DISCONNECT_B3_IND: number of pages
Receive ID struct ID of remote station
• CONNECT_B3_IND: ID of remote station
• CONNECT_B3_ACTIVE_IND: ID of remote station
• DISCONNECT_B3_IND: ID of remote station
Note: In case of Format 8 (Native) the data format is indicated by the the parameter Option.
Rate word Actual bit rate used, coded as unsigned integer value. If
receive and transmit rates are different the lower rate is dis-
played.
Protocol Word Result of negotiation
[Bit 0]: V.42 / V.42 bis successfully negotiated
[Bit 1]: MNP4/MNP5 successfully negotiated
[Bit 2]: Transparent mode successfully negotiated
[Bit 3]: reserved
[Bit 4]: Compression successfully negotiated
[other]: reserved
CONNECT_B3_ACTIVE_IND
CONNECT_B3_T90_ACTIVE_IND
CONNECT_B3_IND
CONNECT_B3_REQ
CONNECT_B3_RESP
DISCONNECT_B3_IND
DISCONNECT_B3_REQ
RESET_B3_REQ
RESET_B3_RESP
Reason_B3 (word)
The purpose of the parameter Reason_B3 is to provide error information to the application regard-
ing the clearing of a logical connection. The defined values are:
Protocol independent:
0 Normal clearing, no cause available
0x3301 Protocol error, Layer 1 (interrupted line or B channel removed by signaling protocol)
0x3302 Protocol error, Layer 2
0x3303 Protocol error, Layer 3
B3 protocol 7 (Modem):
0x3500 Normal end of connection
0x3501 Carrier lost
0x3502 Error in negotiation, i.e. no modem with error correction at the other end
0x3503 No answer to protocol request
0x3504 Remote modem only works in synchronous mode
0x3505 Framing fails
0x3506 Protocol negotiation fails
0x3507 Other modem sends wrong protocol request
0x3508 Sync information (data or flags) missing
0x3509 Normal end of connection from the other modem
0x350a No answer from other modem
0x350b Protocol error
0x350c Error in compression
0x350d No connect (timeout or a wrong modulation)
0x350e No protocol fall-back allowed
0x350f No modem or fax at requested number
0x3510 Handshake error
DISCONNECT_B3_IND
To explain the message exchange between CAPI and the application, a graphic description is in order. In the ab-
sence of an international standard for the description of message exchange between two local entities, a new sort
of representation was created. On the following pages, the state machines are described in the form of a state
diagram depicting application and controller. Such a state diagram is a monitor view of an idealized interface. In
reality, CAPI is not only an interface definition but also a concrete instantiation.
The state diagram on the following pages is split into three separate state machines:
On every physical connection, identified by a PLCI, several logical Layer 3 links could exist, each identified by
a NCCI. This necessitates a division into PLCI and NCCI state machines. A description of n physical links with
m logical links at one time in one state machine is not feasible. Therefore, only one PLCI and one NCCI at a
time is considered in the state diagram.
The COMMON-ISDN-API messages LISTEN_REQ and LISTEN_CONF are described in a separate state
diagram because the availability of a successful LISTEN setting exceeds the lifetime of logical and/or physical
connections.
The state diagrams assume an error-free exchange of messages. The point of control and observation (PCO) for
the message exchange description is at the level of the CAPI operations. For real implementations, an asynchro-
nous exchange of messages is not allowed to result in an error condition.
The state diagrams describe the flow of the messages at the PCO without consideration of their possible asyn-
chronicity in real implementations.
For the sake of simplicity, confirmations and responses which do not induce a state transition are not shown in
these state diagrams.
Requests with an invalid PLCI or an invalid NCCI are incorrect messages and are therefore not described in the
state diagrams.
INFO_REQ and INFO_IND are network-specific elements which can appear at any time. The use of
INFO_REQ for "overlap sending" in particular is described in the PLCI state machine 1/2.
MS-DOS
Windows 3.x application level
OS/2 application level
OS/2 device driver level
UNIX
NetWare
Windows NT application level
Windows NT device driver level
Windows 95 application level
Windows 95 device driver level
Windows 95 IOCtl Access
Windows 98 application level
Windows 98 device driver level
Windows 2000 application level
Windows 2000 device driver level
Linux application level
Linux kernel level
Windows XP 32bit application layer
Windows XP 64bit application layer
Windows XP device driver level
Depending on the operating system, the following COMMON-ISDN-API operations may also be available:
CONNECT_REQ
CONNECT_CONF
CONNECT_ACTIVE_IND
CONNECT_ACTIVE_RESP
CONNECT_B3_REQ
CONNECT_B3_CONF
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE__RESP
LISTEN_REQ
LISTEN_CONF
CONNECT_ IND
CONNECT_RESP
CONNECT_ACTIVE_IND
CONNECT_ACTIVE_RESP
CONNECT_ B3_IND
CONNECT_B3_RESP
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE__RESP
DATA_B3_REQ(1)
DATA_B3_CONF(1)
DATA_B3_REQ(2)
DATA_B3_REQ(3)
DATA_B3_CONF(2)
DATA_B3_REQ(4)
DATA_B3_CONF(3)
DATA_B3_REQ(5)
DATA_B3_CONF(4)
DATA_B3_CONF(5)
DATA_B3_ IND(1)
DATA_B3_RESP(1)
DATA_B3_ IND(2)
DATA_B3_ IND(3)
DATA_B3_ IND(4)
DATA_B3_RESP(2)
DATA_B3_RESP(3)
DATA_B3_RESP(4)
DISCONNECT_B3_REQ
DISCONNECT_B3_CONF
DISCONNECT_B3_ IND
DISCONNECT_B3_RESP
DISCONNECT_REQ
DISCONNECT_CONF
DISCONNECT_ IND
DISCONNECT_RESP
DISCONNECT_B3_ IND
DISCONNECT_B3_RESP
DISCONNECT_ IND
DISCONNECT_RESP
Application CAPI
DISCONNECT_REQ
DISCONNECT_ IND
After DISCONNECT_IND, no more messages
are sent to the application, so DISCON-
DISCONNECT_RESP
NECT_REQ is not confirmed.
____________________
Application CAPI
DISCONNECT_ IND
After DISCONNECT_IND, no more messages
are sent to the application, so DISCON-
DISCONNECT_REQ
NECT_REQ is not confirmed.
DISCONNECT_RESP
____________________
Application CAPI
DISCONNECT_REQ
DISCONNECT_IND
After DISCONNECT_IND, no more messages
are sent to the application, so DISCON-
NECT_REQ is not confirmed.
DISCONNECT_RESP
DISCONNECT_CONF
DISCONNECT_CONF must not be sent.
CONNECT_REQ
CONNECT_CONF
CONNECT_ACTIVE_IND
CONNECT_ACTIVE_RESP
CONNECT_ B3_IND
CONNECT_B3_RESP
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE__RESP
CONNECT_REQ
CONNECT_CONF
CONNECT_B3_REQ
CONNECT_B3_CONF
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE__RESP
DATA_B3_IND
Receiving announcements from local exchange
DATA_B3_RESP
CONNECT_ACTIVE_IND
CONNECT_ACTIVE_RESP
DATA_B3_IND
Receiving data from the destination of the call
DATA_B3_RESP
CONNECT_REQ
CONNECT_CONF
INFO_IND (DISCONNECT)
INFO_RESP
DATA_B3_IND
Receiving announcements from local exchange
DATA_B3_RESP
CONNECT_REQ
CONNECT_CONF
CONNECT_B3_REQ
CONNECT_B3_CONF
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE__RESP
DATA_B3_IND
Receiving announcements from local exchange
DATA_B3_RESP
DISCONNECT_B3_IND
DISCONNECT_B3_RESP
DISCONNECT_IND
DISCONNECT_RESP
Application CAPI
CONNECT_ACTIVE_IND
Local supplied messages; no D channel mes-
sages to or from network
CONNECT_ACTIVE_RESP
CONNECT_B3_REQ
CONNECT_B3_CONF
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE_RESP
CONNECT_ACTIVE_IND
Local supplied messages; no D channel mes-
sages to or from network
CONNECT_ACTIVE_RESP
CONNECT_B3_ IND
CONNECT_B3_RESP
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE__RESP
Application CAPI
CONNECT_REQ
B2 protocol = 12
CONNECT_CONF B Channel Information Channel = 1
CONNECT_ACTIVE_IND
CONNECT_ACTIVE_RESP
CONNECT_B3_REQ
CONNECT_B3_CONF
CONNECT_B3_ACTIVE_IND
D channel access established (NCCI)
CONNECT_B3_ACTIVE_RESP
DATA_B3_REQ
Sending Layer 3 messages on NCCI, e.g.
DATA_B3_CONF SETUP
DATA_B3_IND
Receiving Layer 3 messages on NCCI, e.g.
SETUP ACKNOWLEDGE
DATA_B3_RESP
DISCONNECT_B3_REQ
DISCONNECT_B3_CONF
DISCONNECT_B3_ IND
DISCONNECT_B3_RESP
SELECT_B_PROTOCOL_REQ
Select new B protocol
SELECT_B_PROTOCOL_CONF (B channel operation: default)
CONNECT_B3_REQ
CONNECT_B3_CONF
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE__RESP
DISCONNECT_B3_REQ
E.g. for connectionless protocols
DISCONNECT_B3_CONF
DISCONNECT_B3_ IND
DISCONNECT_B3_RESP
SELECT_B_PROTOCOL_REQ
Select new B protocol
SELECT_B_PROTOCOL_CONF (B channel operation: default)
CONNECT_B3_IND
CONNECT_B3_RESP
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE__RESP
DISCONNECT_B3_REQ
DISCONNECT_B3_CONF
DISCONNECT_B3_ IND
DISCONNECT_B3_RESP
SELECT_B_PROTOCOL_REQ
Select new B protocol
SELECT_B_PROTOCOL_CONF B channel operation: DCE mode (answer)
CONNECT_B3_IND
CONNECT_B3_RESP
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE__RESP
DISCONNECT_B3_REQ
E.g. for connectionless protocols
DISCONNECT_B3_CONF
DISCONNECT_B3_ IND
DISCONNECT_B3_RESP
SELECT_B_PROTOCOL_REQ
Select new B protocol
SELECT_B_PROTOCOL_CONF B channel operation: DTE mode (originate)
CONNECT_B3_REQ
CONNECT_B3_CONF
CONNECT_B3_ACTIVE_IND
CONNECT_B3_ACTIVE__RESP
FACILITY_IND (5: Line Interconnect indication parameter) Successful interconnection between PLCI A
and PLCI B is signaled)
FACILITY__RESP (5: no parameter)
At this point the data of the b-channels of the
connections of PLCI A & B will be fed into each
other. The application will get no more
DATA_B3_IND for these PLCIs – even if an
established Layer3 exists.
FACILITY_IND (5: Line Interconnect indication parameter) Successful interconnection between PLCI A
and PLCI B is signaled
FACILITY__RESP (5: no parameter)
At this point the data of the b-channels of the
connections of PLCI A & B will be fed into each
other. The application will get no more
DATA_B3_IND for these PLCIs – even if an
established Layer3 exists.
FACILITY_REQ (5:Line Interconnect request parameter: Connect
Main Mask: 0x03, Participating Mask: 0x03)
Interconnecting PLCI C (main PLCI) to PLCI A
and PLCI B (participating PLCIs) is initiated
FACILITY_CONF (5: Line Interconnect confirmation parameter)
FACILITY_IND (5: Line Interconnect indication parameter) Successful interconnection between PLCI C
and PLCI A is signaled
FACILITY__RESP (5: no parameter)
Establishing a symmetric conference for more than three participants is analog. One would simply add all
existing participants to the Interconnection Connect Request Participants struct for each new invocation of
the line-interconnect-connect FACILITY_REQ (so one more participant for each new invocation)
FACILITY_IND (5: Line Interconnect indication parameter) Successful interconnection between PLCI A
and PLCI B is signaled
FACILITY__RESP (5: no parameter)
At this point the data of the b-channels of the
connections of PLCI A & B will be fed into each
other. The application will get no more
DATA_B3_IND for these PLCIs – even if an
established Layer3 exists.
DATA_B3_REQ (PLCI A)
Data is being mixed with the data of b-channel
of PLCI A and streamed into b-channel of PLCI
DATA_B3_CONF (PLCI A) B and mixed with the data of b-channel of PLCI
B and streamed into b-channel of PLCI A
FACILITY_REQ (5:Line Interconnect request parameter: Connect) Interconnecting PLCI A to PLCI B is initiated
FACILITY_REQ (5:Line Interconnect request parameter: Connect) Interconnecting PLCI A to PLCI B is initiated
FACILITY_REQ (5:Line Interconnect request parameter: Connect) Interconnecting PLCI A to PLCI B is initiated
FACILITY_REQ (5:Line Interconnect request parameter: Connect) Interconnecting PLCI A to PLCI B is initiated
DISCONNECT_IND (PLCI B)
One of the participants has disconnected the
physical connection – therefore the basis for an
DISCONNECT__RESP interconnections has ceased to exist.
B.1 Introduction
SFF (Structured Fax File) is a representation especially for Group 3 fax documents. It
consists of information concerning the page structure and the compressed line data of
the fax document. An SFF-formatted document always starts with a header, which is
valid for the complete document. Every page starts with a page header. This is fol-
lowed by the pixel information, line by line. As the SFF format is a file format specifi-
cation, some entries in header structures (e.g. double-link chaining of pages) may not
be used or supported by COMMON-ISDN-API.
After processing the internal C_INIT primitive following successful V.42 bis negotia-
tion, the V.42 bis encoder and decoder begin working in compressed mode. Subse-
quent C_INIT primitives ('reset' procedures) do not change the state of the en-
coder/decoder; i.e. they do not cause a switch to compressed mode.
The C_FLUSH primitive processed (implicitly or explicitly) at the end of a data block
executes the “Exception Process Next Character” procedure, whether in transparent or
compressed mode: see Figure C-1.
Transparent
Mode ?
Compressed mode
Check
codeword size
Send
codeword
Yes
Octet
aligned ?
No
Send FLUSH
codeword
Send 0s to
octet align
Exception
process next
character
Figure C-1
Flush procedure at end of data block
Coding of the XID frame contents / UA frame extension (in accordance with Annex A
of V.42 bis):
Bit
7 0
11110000 Private parameter set (ISO 8885, Addendum 3)
00000000 Length of parameter field (MSB)
00010110 Length of parameter field (LSB)
00000000 Parameter set identifier
00001010 Length of string
01000011 'C’
01000001 ‘A’
01010000 ‘P’
01001001 ‘I’
00110010 ‘2’
00110000 ‘0’
00101111 ‘/’
01011000 ‘X’
00110111 ‘7’
00110101 ‘5’
00000001 Rec. V.42 bis: Data compression request
00000001 Length of field
000000nn Request for compression in:
00: Neither direction
01: Initiator to responder only
10: Responder to initiator only
11: Both directions
00000010 Rec. V.42 bis: Number of code words
00000010 16-bit integer
Nnnnnnnn Value of parameter P1 (MSB)
Nnnnnnnn Value of parameter P1 (LSB)
00000011 Rec. V.42 bis: Maximum string length
00000001 8-bit integer
Nnnnnnnn Value of parameter P2
In the receiving direction, an application may receive more than one DATA_B3_IND
for one V.120 I-frame if the contents of the I-frame do not fit into the application’s
block size after decompression.
To negotiate the data compression mode, the XID negotiation procedure must be used
(see §8.10 of Recommendation V.42). Coding of the XID frame contents (in accor-
dance with Annex A of V.42 bis):
Bit
7 0
11110000 Private parameter set (ISO 8885, Addendum 3)
00000000 Length of parameter field (MSB)
00010000 Length of parameter field (LSB)
00000000 Parameter set identifier
00000100 Length of string
01010110 ‘V’
00110001 ‘1’
00110010 ‘2’
00110000 ‘0’
00000001 Rec. V.42 bis: Data compression request
00000001 Length of field
000000nn Request for compression in:
00: Neither direction
01: Initiator to responder only
10: Responder to initiator only
11: Both directions
00000010 Rec. V.42 bis: Number of code words
00000010 16-bit integer
nnnnnnnn Value of parameter P1 (MSB)
nnnnnnnn Value of parameter P1 (LSB)
00000011 Rec. V.42 bis: Maximum string length
00000001 8-bit integer
nnnnnnnn Value of parameter P2
Outgoing calls are cleared for security reason, if the combination of called party num-
ber, called party subaddress and CIP Value of the corresponding CONNECT_REQ is
not allowed by Call Control Supervision. In case of overlap sending security clearing
occurs after any INFO_REQ that builds a called party number which is not allowed.
Incoming calls are not signaled for security reason if the combination of calling party
number, calling party subaddress and CIP Value is not allowed by Call Control Su-
pervision. In case of overlap receiving security clearing could occur after any
INFO_IND that builds a calling party number which is not allowed.
Call Forwarding (CF Activate) is rejected for security reason, if parameters (Basic
Service, Served User Number, Forwarded-to Number and Forwarded-to Subaddress)
of the corresponding FACILITY_REQ are not allowed.
Call Deflection (CD) is rejected for security reason, if parameters (Deflected-to Num-
ber and Deflected-to Subaddress) and CONNECT_IND (CIP Value) are not allowed.
The sub parameter keypad facility is a member of parameter Additional Info which oc-
curs in different messages. It is used to send extra digits of dial information e.g. for
overlap sending.
The sub parameter facility data array is a member of parameter Additional Info which
occurs in different messages. It is used to carry additional network specific elements.
The B2 Protocol 12 (“LAPD in accordance with Q.921 including free SAPI selec-
tion”) is used to get direct access to the D channel layer 2.
This feature leaves great concerns about security because an application can get access
to the network in a way that could not be controlled by the COMMON-ISDN-API
implementation.