Implementing H.323 terminal: H.245 Subsystem

Michał Konrad Rój

mroj@elka.pw.edu.pl

Abstract

This work relates to H.245 control protocol, the protocol that is used to exchange signalling information between H.323 endpoints. It is defined by ITU-T Recommendation H.245. Although all the descriptions is this work refer to the H.323 multimedia terminal, most of the H.245 capabilities refer also to the other endpoints (MCU, Gatekeepers, H-series terminals).

The first chapter introduces the essential terms and capabilities of a system based on ITU-T Rec. H.245. Since the compatibility with the Recommendation is the most important goal of this work, the chapter is elemental. In the next chapter all mandatory H.245 parts in H.323 terminal are described in details. Finally, a design and implementation of the H.245-based system are described. The system was developed during the author's gradutating process.

This work does not describe the ASN.1 encoding (but it has to be mentioned here) nor Call Signalling procedures used to establish the control channel. These aspects are beyond the scope of this work.


Table of Contents
1. H.245 Tutorial
1.1. Rationale
1.2. Basic Concepts
1.2.1. Control Channel
1.2.2. Messages and Procedures
1.2.3. H.245 Signalling Entities
1.3. Description of Entities
1.3.1. Capability Exchange Signalling Entity
1.3.2. Master Slave Determination Signalling Entity
1.3.3. Uni-directional Logical Channel Signalling Entity
1.3.4. Close Logical Channel Signalling Entity
1.3.5. Mode Request Signalling Entity
1.3.6. Round Trip Delay Signalling Entity
2. H.245 in H.323.
3. H.245 Subsystem Implementation
3.1. Architecture
3.2. Implementing Entities
3.3. Implementing primitives and messages
3.4. Programming Interface
Bibliography
List of Figures
1-1. Connection between H.323 terminals
1-2. Signalling Entities
1-3. H.245 Protocol Stack
1-4. Diagram Symbols
1-5. Capability Exchange (CESE)
1-6. Master Slave Determination (MSDSE)
1-7. Logical Channel Signalling Entity (LCSE)
1-8. Close Logical Channel Signalling Entity (CLCSE)
1-9. Mode Request Signalling Entity (MRSE)
1-10. Round Trip Delay Signalling Entity (RTDSE)
2-1. H.245 Initial Sequence
2-2. Opening logical channels
2-3. CLCSE and MRSE procedures
2-4. Closing the connection
3-1. H.245 Subsystem
3-2. H.245 Managers
3-3. User Manager Pseudocode
3-4. TCP Manager Pseudocode
3-5. H.245 Subsystem Internals
3-6. Conversion of SDL blocks into code.
3-7. Structures
3-8. H.245 Subsystem API