One document matched: draft-rfced-info-lantz-00.txt
INTERNET-DRAFT EXPIRES: SEPTEMBER 1997 INTERNET-DRAFT
Internet-Draft Philip Lantz
Category: Informational Intel Corporation
Expires in six months February 1997
Usage of H.323 on the Internet
<draft-rfced-info-lantz-00.txt>
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as "work in
progress".
To learn the current status of any Internet-Draft, please check the
"1id-abstract.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).
Abstract
The H.323 standard defined by the International Telecommunication
Union (ITU) describes "Visual telephone systems and equipment for
local area networks which provide a non-guaranteed quality of
service", that is to say, video conferencing over Local Area Networks
and the Internet.
Although it has been generally accepted that H.323 is an appropriate
standard for audio/video telephony on the Internet, it is a complex
standard. It describes a broad and complex set of capabilities,
including interoperation with other types of video conferencing
systems, and contains references to a number of other ITU standards.
This document describes the parts of the standard that are necessary
for Internet telephony and multipoint conferencing. It describes the
messages that are necessary to work with other H.323 implementations.
In a separate section, it also lists the messages that must be
implemented to be H.323 compliant.
This document is a guide to make the standard more accessible. It is
not intended to duplicate information in the standard. It does not
contain specifications of the messages or details of the protocol.
1. Introduction
The H.323 standard covers tightly-controlled point-to-point and
multipoint audio and video conferencing over non-guaranteed quality
of service networks. In addition to video conferencing terminals,
H.323 describes gateways, which allow interoperation of H.323 systems
with audio/video conferencing systems on ISDN, POTS, and other
transports. It also describes gatekeepers, which provide admission
control and address translation.
Lantz [Page 1]
I-D Usage of H.323 on the Internet February 1997
Definition of the H.323 standard was begun by the ITU to enable
interoperation between existing H.320 systems and new LAN-based video
conferencing systems. Early in the standardization process, it became
clear that enabling calls between systems on a LAN was equally
important. It has since become clear that H.323 is also appropriate
for video conferencing over the Internet.
Because of its history, and the ITU standardization process, the
H.323 standard requires a number of features which are of little
importance in some environments. An implementation that is designed
to work in a known environment may take some shortcuts such that the
implementation would not be compliant with the standard but would
still interoperate with most compliant implementations in the
specified environment. It is hoped that full H.323 implementations
will be tolerant of peers that are not fully compliant, to allow
communication among a wide range of implementations.
This document describes the basic messages used to set up a point-
to-point or multipoint conference, which enable a relatively simple
conferencing application to interoperate with compliant H.323
implementations on the Internet. This document purposely does not go
into details of all the standard's requirements. It glosses over
some finer points and recommends simplifying courses of action which
do not take into account all of the complex features of the standard.
The standard itself should be consulted to determine its exact
requirements.
The final section of this document is a synopsis of the messages
required to be fully compliant with the standard. For most messages,
only a minimal implementation is necessary to be fully compliant.
1.1. H.323 Terminology
"terminal": an endpoint in a conference with a user and audio/video
input and output. This document is primarily focused on the
implementation of an H.323 terminal.
"gatekeeper": controls usage of the network for conferencing and may
perform address translation and other services
"gateway": enables H.323 terminals to connect to ITU terminals on
ISDN, POTS, or other types of networks
"Multipoint Controller (MC)": provides centralized control for a
conference with three or more terminals or gateways
"Multipoint Control Unit (MCU)": provides audio and/or video
processing for a conference with three or more terminals or
gateways so they don't have to manage multiple audio and video
streams
1.2. Standards Documents
H.323 standard-based video conferencing is described by a number of
ITU documents. H.323 itself describes the system components and the
procedures for establishing conferences. H.225.0 specifies the call
Lantz [Page 2]
I-D Usage of H.323 on the Internet February 1997
setup and gatekeeper messages and describes the usage of RTP. The
call setup messages in H.225.0 are based on messages defined in
Q.931. Q.931 is the definition of part of the signaling system for
ISDN, and parts of it were adapted for use in H.323. Q.931 must be
consulted for the specification of those parts of the messages which
H.225.0 inherits. H.245 specifies the conference control and
capability exchange messages. H.245 defines control messages for
several ITU conferencing standards. H.323 uses a subset of these
messages. The H.323 Implementer's Guide contains corrections to the
standards documents and clarifications which are necessary to
properly implement the standard. There are additional documents
which describe the audio and video codecs, message encoding rules,
and other topics.
1.3. ASN.1
The structure of H.245 messages is described using a language called
ASN.1, defined in X.680. The extensions to Q.931 messages defined in
H.225.0 are also described using ASN.1. The encoding of ASN.1 is
described in X.691. While it may be possible to hand-generate code
to encode H.245 messages, it is not very practical. There are tools
available which read the ASN.1 syntax (extracted directly from the
standard) and generate a header file defining a structure for each
message and code to encode and decode the messages. Use of these
tools will also help ensure compatibility with other implementations.
2. Overview of point-to-point conference operation
Establishment of a point-to-point H.323 conference requires two TCP
connections between the two terminals, one for call setup and the
other for conference control and capability exchange. The initial
connection is made from the caller to a well-known port on the
callee. This connection carries the call setup messages defined in
H.225.0, and is commonly called the Q.931 channel. Upon receipt of
the incoming call, the callee listens for a TCP connection on a
dynamic port; the callee communicates this port in the acceptance
message. The caller then establishes the second TCP connection to
that port. The second connection carries the conference control
messages defined in H.245. Once the H.245 channel is established, the
first connection is no longer necessary (in a simple conference
environment) and may be closed by either endpoint.
The H.245 channel is used by the terminals to exchange audio and
video capabilities and perform master/slave determination. It is
then used to signal opening logical channels for audio and video,
which causes RTP sessions to be created for the media streams. The
H.245 channel remains open for the duration of the conference. It is
used to signal the end of the conference.
Lantz [Page 3]
I-D Usage of H.323 on the Internet February 1997
3. Call Setup
Call setup messages are sent on the first TCP connection the caller
establishes to the callee. Four call setup messages are necessary
for simple conferences. Their use and syntax are defined in H.225.0
and Q.931. The necessary messages are:
Setup
Alerting
Connect
Release Complete
The caller sends Setup to initiate the conference immediately after
establishing the TCP connection. The Setup message contains the
caller's name and IP address. The callee sends Alerting after
notifying the user of the incoming call, if the call will not be
accepted without user intervention. The callee sends Connect to
accept the call or Release Complete to refuse the call. The Connect
message contains the address and port on which the callee is
listening for the H.245 connection.
Either Alerting, Connect, or Release Complete must be sent by the
callee immediately upon receipt of Setup; one of these must be
received by the caller before its setup timer expires. After Alerting
is sent, the user has up to 3 minutes to accept or refuse the call.
To be fully H.323 compliant, four additional messages must be
supported. See section 9, "Compliance".
3.1. Setup
The following fields of the Setup message carry useful information
for simple point-to-point conferences. Some of these fields are in
the Q.931-defined part, and some are in the H.225.0-defined
extensions. See H.225.0 and Q.931 for information on the content and
formatting of these fields.
Display - should contain caller name for display to the callee
sourceInfo - manufacturer and product version information
sourceCallSignalAddress - IP address of caller
The following additional fields must be included as part of the
syntax. Except as noted, they may have fixed values for all simple
conferences.
Protocol discriminator
Call reference - unique for simultaneous calls
Message type
Bearer capability
protocolIdentifier
destCallSignalAddress - IP address of callee
activeMC
conferenceID - unique for every call
conferenceGoal
callType
Lantz [Page 4]
I-D Usage of H.323 on the Internet February 1997
3.2. Alerting
The Alerting message contains no useful fields. When it is received,
the calling terminal should provide outgoing ring indication to the
user and stop the setup timer, which was started when the Setup
message was sent. The following fields must be included as part of
the syntax. Except as noted, they have fixed values.
Protocol discriminator
Call reference - the value received in the Setup message
Message type
protocolIdentifier
destinationInfo - manufacturer and product version information
3.3. Connect
The following fields of the Connect message carry useful information
for simple point-to-point conferences.
Display - should contain callee name for display to the caller
h245Address - IP address and port to establish H.245 connection
destinationInfo - manufacturer and product version information
The following additional fields must be included as part of the
syntax. Except as noted, they have fixed values.
Protocol discriminator
Call reference - the value received in the Setup message
Message type
protocolIdentifier
conferenceID - the value received in the Setup message
3.4. Release Complete
The only useful information in the Release Complete message is the
reason for refusing the call. This may be carried in either the Cause
field or the reason field, depending on the specific reason. Reasons
defined by Q.850 are coded in the Cause field. Additional reasons
defined by H.225.0 are coded in the reason field. Either the Cause
field or the reason field must be present.
The following additional fields must be included as part of the
syntax. Except as noted, they have fixed values.
Protocol discriminator
Call reference - the value received in the Setup message
Message type
protocolIdentifier
4. Conference control
Conference control and capability exchange messages are sent on the
second TCP connection, which the caller establishes to a dynamic port
on the callee. The messages are defined in H.245.
Lantz [Page 5]
I-D Usage of H.323 on the Internet February 1997
The following H.245 messages are necessary for a simple conference:
Terminal Capability Set, Acknowledge
Master/Slave Determination, Acknowledge, Reject
Open Logical Channel, Acknowledge, Reject
End Session
To be fully H.323 compliant, additional messages must be supported.
See section 9, "Compliance".
4.1. Terminal Capability Set
Terminal Capability Set is the first message sent by each terminal on
the H.245 channel. It contains a potentially complex description of
the audio, video, multipoint, and data capabilities of the terminal.
In the simplest case, the terminal capability set may list a set of
audio and video capabilities, and indicate that the terminal can do
any of them simultaneously. If a terminal has bandwidth or processing
limits which constrain which capabilities can be performed
simultaneously, the terminal capability set can describe these
constraints. The terminal capability set may contain transmit
capabilities as well as receive capabilities, but it need not; a
terminal may choose to send any media type and format allowed by the
peer's receive capabilities, whether or not the format is listed as a
transmit capability in its own capability set. The format of the
terminal capability set is fully described in H.245.
4.2. Master/Slave Determination
In an H.323 conference, one entity in the conference is identified as
the master. In a multipoint conference, the master is called the
Multipoint Controller (MC), and has a significant role, as described
in section 6, "Multipoint". In a point-to-point conference, the
master has a variety of minor roles. The master in a point-to-point
conference is chosen at random, if the two terminals have similar
capabilities. However, if one terminal is capable of being MC and
the other is not, the MC-capable terminal will always be selected
master, to allow the conference to expand to multipoint if desired.
Master/Slave Determination is sent by each terminal after it has sent
Terminal Capability Set. The terminal does not need to wait for a
response to Terminal Capability Set before sending Master/Slave
Determination. If a terminal receives Master/Slave Determination
before sending its own, it does not need to send it, but only needs
to send Master/Slave Determination Ack.
Each terminal generates a random number and sends it in the
Master/Slave Determination message. Which terminal is the master is
determined by comparison of the terminal types and the random
numbers. If both endpoints send Master/Slave Determination, both
endpoints will reach the same conclusion about who is master. If one
endpoint receives Master/Slave Determination before sending its own,
it makes the determination. In any case each terminal sends
Lantz [Page 6]
I-D Usage of H.323 on the Internet February 1997
Master/Slave Determination Ack indicating its conclusion.
Master/Slave Determination Reject is sent if the random numbers
chosen by the two endpoints are the same; when this message is
received, Master/Slave Determination is sent again with a new random
number.
4.3. Open Logical Channel
Logical channels for audio and video are always opened by the
terminal that will send data on the channel. The Open Logical
Channel message indicates to the peer the intent to send audio or
video in a specific format. It must specify an Audio Capability or
Video Capability that is compatible with a receive capability in the
peer's terminal capability set. The Open Logical Channel message also
includes the RTCP address and port on which the opener expects to
receive receiver reports. The peer responds with an Open Logical
Channel Ack message which includes the RTP address and port at which
it expects to receive the media stream and the RTCP address and port
at which it expects to receive sender reports. (When the underlying
network is UDP, the RTP and RTCP addresses differ only in that the
UDP port for the RTCP address is one greater than the UDP port for
the RTP address. However, H.323 does not assume this, and both
addresses must be fully specified in the Open Logical Channel Ack
message.)
If the media format is not one for which a static RTP payload type is
defined, the master assigns a dynamic payload type. If the master is
opening the channel, it puts the dynamic payload type in the Open
Logical Channel message; if the slave is opening the channel, the
master puts the dynamic payload type in the Open Logical Channel Ack
message.
Note that there is no mechanism for the two terminals to agree on
common data formats, nor is it necessary. Each terminal chooses the
data format(s) it wishes to send, within the constraints imposed by
the receive capabilities in the peer's terminal capability set. If a
terminal is unable to support an asymmetric mode (in which it is
sending and receiving different formats), it should express this
constraint in its terminal capability set.
The master is expected to recognize conflicts between simultaneous
open logical channel requests. If the master receives an open logical
channel request from the slave which it determines is incompatible
with an open logical channel request that it has sent, it must reject
the request from the slave. The slave is expected to accept the
channel opened by the master. The slave may then open a logical
channel that is compatible with the already opened channel(s).
4.4. End Session
End Session is sent by either terminal to terminate the call. When a
terminal receives End Session, it should stop sending audio and video
Lantz [Page 7]
I-D Usage of H.323 on the Internet February 1997
and respond with an End Session (although it should not be surprised
if the H.245 connection has already been closed!).
5. RTP/RTCP
H.225.0 includes the entire text of the definition of RTP/RTCP in an
annex. Although the description of RTP/RTCP was modified by the
editor of H.225.0, and it states that RTP must be used according to
the description in H.225.0, rather than according to the primary
specification of RTP, there are no substantive differences between
RTP as defined by RFC 1889 and 1890 and RTP as defined by H.225.0.
There are a few minor differences: 1) H.225.0 says that the RTCP BYE
message cannot be relied on to terminate a session; the appropriate
H.245 procedures must be used. For consistency with RTP, an H.323
terminal should send BYE, but it should not expect to receive it and
should ignore it if it is received. 2) H.225.0 says that the marker
bit need not be set in a video frame if it would increase end-to-end
latency (i.e., if an implementation does not know where the end of a
frame is until the start of the next frame). I expect most, if not
all, H.323 implementations to set the marker bit appropriately.
3) H.225.0 says that a single RTP packet cannot contain video from
more than one video frame. RFC 1890 does not have this restriction.
6. Multipoint
In a multipoint conference, conference control is centralized in an
entity called the Multipoint Controller (MC). The MC may reside in
any of the terminals, or in a gatekeeper, gateway, or MCU. The
location of the MC is determined at the beginning of each conference,
during master/slave determination. By building MC capability into
each terminal, no additional equipment is required to support a
multipoint conference, and a point-to-point conference can be easily
expanded into a multipoint conference. Each terminal in a multipoint
conference establishes its Q.931 and H.245 connections with the MC.
H.323 defines two modes of media distribution for multipoint
conferences, centralized and distributed. In a centralized multipoint
conference, each terminal sends its audio and video streams to a
Multipoint Control Unit (MCU), which redistributes them to the
terminals in the conference. In a distributed multipoint conference,
audio and video streams are sent directly from each source to all
receivers (using multicast, if available). The standard also defines
mixed mode, in which audio is centralized and video is distributed,
or vice versa.
A terminal signals its ability to participate in a distributed
multipoint conference in the Terminal Capability Set message. It
need not be capable of taking the role of MC to participate, but it
does need to be able to send its own audio and video streams to all
other participants, receive multiple audio and video streams from the
other participants, mix the audio streams, and select one or more of
Lantz [Page 8]
I-D Usage of H.323 on the Internet February 1997
the video streams to display.
6.1. Multipoint Call Setup
The steps for multipoint call setup are the same as for point-to-
point call setup. However, each terminal must call or be called by
the MC. If a terminal that is not in a conference calls a terminal
that is in a conference but is not the MC, the called terminal
responds with the H.225.0 Facility message, which informs the caller
that it should call the MC and gives it the MC call signaling address
and the conference ID. (The callee could of course refuse the call
with a busy indication instead.)
If a terminal in a multipoint conference wishes to invite another
terminal into the conference, it sends the Setup message to the MC.
The MC then establishes a connection to the new terminal and forwards
the Setup message to it. The calling terminal receives the Alerting
and Connect messages from the new terminal (forwarded by the MC), but
once the new terminal has accepted the call, there is no further
relationship between the calling terminal and the new terminal; the
new terminal simply appears as another terminal which has joined the
conference.
6.2. Multipoint Conference Control
The following H.245 messages are used in multipoint conferences:
MC Location Indication
Multipoint Mode Command
Communication Mode Command
Terminal Number Assign
Enter H243 Terminal ID, Terminal ID Response
Terminal List Request, Response
Request Terminal ID, MC Terminal ID Response
Terminal Joined Conference
Terminal Left Conference
The first five of these messages are sent by the MC to each terminal
when it joins the multipoint conference. MC Location Indication
tells the terminal where to route callers that wish to join the
multipoint conference, as described in section 6.1, "Multipoint Call
Setup". (MC Location Indication may also be sent by the master in a
point-to-point conference, to allow the slave to expand the
conference to multipoint.) Multipoint Mode Command simply informs the
terminal that it is participating in a multipoint conference.
Communication Mode Command tells the terminal the RTP sessions that
make up the multipoint conference. The terminal should generally open
a channel for each of these sessions, and expect to receive an Open
Logical Channel command for each session from the MC on behalf of
each terminal. Terminal Number Assign tells the terminal what its
terminal number is. It must use this value as the low byte of the
SSRC for each of its media streams. This enables other terminals to
associate the media streams with the terminal so it may be correlated
Lantz [Page 9]
I-D Usage of H.323 on the Internet February 1997
with other information about that terminal received from the MC.
Enter H243 Terminal ID is used by the MC to request the terminal's
id, which is a text string containing the human-readable name of the
terminal or (preferably) its user. The terminal responds with
Terminal ID Response.
The terminal may request information about the other terminals in the
conference with the rest of the messages. Terminal List Request is
used by a terminal to obtain from the MC a list of the terminal
numbers of all the terminals in the conference. The MC responds with
Terminal List Response. The terminal may obtain the Terminal ID of
each terminal in the conference by sending Request Terminal ID for
each terminal. The MC responds with MC Terminal ID Response for each
request. The MC sends Terminal Joined Conference and Terminal Left
Conference indications as additional terminals join and leave the
conference so each terminal can maintain an up-to-date list of the
terminals currently in the conference.
7. Gateways/Proxies
Gateways are defined in H.323 to provide interoperability with
previously defined ITU video conferencing standards such as H.320
(ISDN) and H.324 (POTS). A gateway which allows an H.323 terminal to
call a standard telephone (or vice versa) is also possible. Although
proxies were not anticipated by the standard, they can be thought of
as H.323-H.323 gateways, and the implementers group has described
their use.
For the most part, a gateway presents itself as an H.323 terminal, so
an H.323 terminal that is communicating with a non-H.323 terminal
doesn't have to function any differently than if it were
communicating with an H.323 terminal. The only difference is in the
Setup message, which must contain information specific to the path
the call is actually being routed on (such as a phone number). A
proxy also requires additional information in the Setup message, to
communicate the intended recipient of the call. The details of this
addressing information can be found in the H.323 Implementer's Guide.
8. Gatekeepers
The original purpose of the gatekeeper in H.323 is to control access
to the network for video conferencing. Along the way, it gained some
other responsibilities, such as address translation, which can be
used to locate gateways. Gatekeeper vendors are also adding other
features, such as conference and bandwidth usage logging, which can
be used for billing. Gatekeepers could also be used to control and
bill for access to services such as gateways to standard telephones.
A compliant terminal is required to attempt to locate and register
with a gatekeeper before conferencing, but not doing so will not
prevent it from interoperating with any other terminal.
Lantz [Page 10]
I-D Usage of H.323 on the Internet February 1997
9. Compliance
The previous sections describe the usage of H.323 for simple
conferences. There are a number of additional messages which H.323
requires be handled. Although most H.323 implementations, even fully
compliant ones, should work with a peer that does not handle these
messages, they must be implemented to be fully compliant.
H.323 also requires that every terminal have certain capabilities.
Every terminal must support centralized multipoint conferences, and
the H.245 messages associated with it. Every terminal must support
G.711 (although this requirement obviously cannot be met over a
modem--current implementations which are intended to operate over
low-bit-rate links use G.723.1). Every terminal that supports video
must support H.261 QCIF. Every terminal that supports H.263 must
support H.263 QCIF.
Every terminal must attempt to locate a gatekeeper. If a gatekeeper
responds, the terminal must register with it, send admission requests
before conferencing and abide by the gatekeeper's responses. This
document does not list the required gatekeeper messages.
9.1. Call Setup
H.225.0 requires support for the following eight messages:
Setup
Call Proceeding
Alerting
Connect
Release Complete
Status
Status Enquiry
Facility
Setup, Alerting, Connect, and Release Complete were discussed above.
Release Complete is also sent during conference shutdown if the Q.931
channel is still open. In a conference involving only two terminals,
either terminal may close the Q.931 channel as soon as the H.245
channel is opened, but in a conference involving a gatekeeper or
gateway, the terminal must keep the Q.931 channel open and send
Release Complete upon termination of the conference.
Call Proceeding should be sent upon receipt of the Setup message if
no other response can immediately be sent. In general this should
not be necessary for a terminal, because Alerting can be sent
instead. If Call Proceeding is received, the only action that is
required is to disable the 4 second timer which was started when the
Setup message was sent.
Status is sent in response to a Status Enquiry message or any message
that is not understood. If a terminal does not send either Status
Enquiry or any undefined messages, it does not need to handle receipt
Lantz [Page 11]
I-D Usage of H.323 on the Internet February 1997
of a Status message. A terminal is required to send Status at the
proper time to be compatible with entities which expect it.
Facility is used to redirect incoming calls, either for the purpose
of call forwarding or to cause all participants in a multipoint
conference to contact the MC. When a terminal receives Facility in
response to Setup, it sends Release Complete and closes the Q.931
channel, then establishes a new TCP connection to the call signaling
address given in the Facility message and sends a new Setup message.
(If the reason given in the Facility message is Route Call to MC, the
calling terminal may wish to ask the user if he wants to join a
multipoint conference before proceeding.)
This table lists all the H.225.0 messages which are required and the
required usage for each of these messages.
_____________________________________________________________________
| Message | When to send | What to do on receipt |
|___________________|_______________________|________________________|
| Setup | to initiate a | respond with |
| | conference | Alerting, Connect or |
| | | Release Complete |
|___________________|_______________________|________________________|
| Call Proceeding | on receipt of | stop 4 second timer |
| | Setup if neither | |
| | Alerting, Connect, | |
| | nor Release | |
| | Complete can be | |
| | sent immediately | |
|___________________|_______________________|________________________|
| Alerting | on receipt of | stop 4 second timer; |
| | Setup if user has | start 180 second |
| | been notified of | timer |
| | incoming call | |
|___________________|_______________________|________________________|
| Connect | after receipt of | establish H.245 |
| | Setup to accept | connection |
| | the incoming call | |
|___________________|_______________________|________________________|
| Release Complete | after receipt of | close Q.931 channel |
| | Setup to refuse an | and end call |
| | incoming call or | |
| | during conference | |
| | shutdown if Q.931 | |
| | channel is still | |
| | open | |
|___________________|_______________________|________________________|
| Status | on receipt of | may be ignored |
| | Status Enquiry | |
| | | |
| | | |
|___________________|_______________________|________________________|
Lantz [Page 12]
I-D Usage of H.323 on the Internet February 1997
_____________________________________________________________________
| Message | When to send | What to do on receipt |
|___________________|_______________________|________________________|
| Status Enquiry | not required | send Status |
|___________________|_______________________|________________________|
| Facility | on receipt of | send Release Complete |
| | Setup to forward | and establish new |
| | the incoming call | call to specified |
| | to another | address |
| | terminal or to the | |
| | MC in a multipoint | |
| | conference | |
|___________________|_______________________|________________________|
9.2. H.245 Messages
H.323 requires the use of the following H.245 messages:
Terminal Capability Set, Acknowledge, Reject, Release
Master/Slave Determination, Acknowledge, Reject, Release
Open Logical Channel, Acknowledge, Reject
Close Logical Channel, Acknowledge
Request Channel Close, Reject, Release
Request Mode, Acknowledge, Reject, Release
Round Trip Delay Request, Response
Maintenance Loop Request, Reject, Off Command
Send Terminal Capability Set
Flow Control Command
End Session Command
Function Not Supported
H2250 Maximum Skew
User Input Indication
Video Freeze Picture
Video Fast Update Picture
Video Fast Update GOB
Video Fast Update MB
Multipoint Mode Command
Cancel Multipoint Mode Command
MC Location Indication
Communication Mode Command
Terminal Number Assign
Terminal Capability Set Reject is sent if a Terminal Capability Set
message is received that is badly-formed or too large for the
receiving terminal to handle. If a terminal receives this, its
choices are to simplify its capability set or simply send End Session
to end the conference.
Logical channels for audio and video are always opened by the
terminal that will send data on the channel, but either terminal may
wish to close the channel. If a terminal wants to close a channel
Lantz [Page 13]
I-D Usage of H.323 on the Internet February 1997
that it has opened, it sends Close Logical Channel, which must be
acknowledged. (The peer cannot prevent a terminal from closing one of
its own channels!) If a terminal wants to close a channel that the
peer has opened, it sends Request Channel Close. The terminal
receiving this message may reject it for any reason, or it may
respond with Close Logical Channel.
Request Mode is used to request the peer to send specific data
formats, in contrast to Terminal Capability Set, which describes what
a terminal is able to receive, not necessarily what it wants to
receive. Request Mode may be sent in a point-to-point conference
only if transmit capabilities were included in the peer's terminal
capability set, so a terminal may avoid having to process this
message by simply omitting any transmit capabilities from its
terminal capability set. If a terminal does receive this message, it
may acknowledge the request and begin using one of the modes
requested, or it may reject the request, with or without a reason. In
a multipoint conference, the MC may send Request Mode to any
terminal, and the terminal is required to comply if the requested
mode is within its capabilities.
The Release messages for Terminal Capability Set, Master/Slave
Determination, Request Channel Close, and Request Mode are sent if no
response is received to the corresponding Request message within the
timeout period. (However, no value or range of values for the
timeout period is specified by the standard.)
Round Trip Delay Request must be responded to with Round Trip Delay
Response. Maintenance Loop Request may be rejected for any reason.
Maintenance Loop Off Command turns off any loopback in effect, and
may be ignored if no loopback modes are supported.
Send Terminal Capability Set requests the peer to re-send all or part
of its terminal capability set. A compliant endpoint must respond to
this by sending a Terminal Capability Set message. Flow Control
Command specifies a maximum bit rate for a specific logical channel
or the entire set of open logical channels. The bit rate limit
specified must be honored. Function Not Supported is sent if an
unsupported request, response, or command is received.
H2250 Maximum Skew specifies the time skew between when audio and
video that were captured at the same instant are delivered to the
network. Since this time is likely to be overwhelmed by jitter in the
network, I think it is a meaningless value, but the standard requires
that an estimate be made.
A terminal is required to allow the user to input the characters 0-9,
#, and * and send them in the User Input Indication message. This is
so that a gateway, phone mail system, or other H.323 entity can
provide services with a known user interface that all terminal will
support. This message may be ignored on receipt.
Lantz [Page 14]
I-D Usage of H.323 on the Internet February 1997
This table lists the H.245 messages which are required by H.323
(except for those described in section 4, "Conference Control", and
section 6, "Multipoint") and the simplest compliant behavior for each
of these messages. More sophisticated behavior is of course possible.
Where no action is specified on receipt, the message may be ignored.
_____________________________________________________________________
| Message | When to send | What to do on receipt |
|___________________|________________________|_______________________|
| Terminal | on receipt of a | send a simpler |
| Capability Set | Terminal | capability set or end |
| Reject | Capability Set | the conference |
| | that is badly- | |
| | formed or too | |
| | large to handle | |
|___________________|________________________|_______________________|
| Close Logical | if no response is | send Close Logical |
| Channel | received to Open | Channel Ack |
| | Logical Channel | |
| | within the timeout | |
| | period | |
|___________________|________________________|_______________________|
| Request Channel | | send Request Channel |
| Close | | Close Reject |
|___________________|________________________|_______________________|
| Request Mode | | In a point-to-point |
| | | conference: send |
| | | Request Mode Reject. |
| | | In a multipoint |
| | | conference: if the |
| | | requested mode is |
| | | within capabilities, |
| | | send Request Mode |
| | | Acknowledge and begin |
| | | using the requested |
| | | mode; otherwise send |
| | | Request Mode Reject |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
|___________________|________________________|_______________________|
Lantz [Page 15]
I-D Usage of H.323 on the Internet February 1997
_____________________________________________________________________
| Message | When to send | What to do on receipt |
|___________________|________________________|_______________________|
| Terminal | if no response is | |
| Capability Set | received to the | |
| Release | corresponding | |
|___________________| request within the | |
| Master/Slave | timeout period | |
| Determination | | |
| Release | | |
|___________________| | |
| Request Channel | | |
| Close Release | | |
|___________________| | |
| Request Mode | | |
| Release | | |
|___________________|________________________|_______________________|
| Round Trip Delay | | send Round Trip Delay |
| Request | | Response |
|___________________|________________________|_______________________|
| Maintenance Loop | | send Maintenance Loop |
| Request | | Reject |
|___________________|________________________|_______________________|
| Maintenance Loop | | turn off any loopback |
| Off Command | | in effect; ignore if |
| | | no loopback modes are |
| | | supported |
|___________________|________________________|_______________________|
| Send Terminal | | re-send all or part |
| Capability Set | | of the terminal |
| | | capability set, |
| | | according to the |
| | | request |
|___________________|________________________|_______________________|
| Flow Control | | adjust bit rates or |
| Command | | close channels to |
| | | meet the specified |
| | | bit rate |
|___________________|________________________|_______________________|
| Function Not | a request, | |
| Supported | response, or | |
| | command is | |
| | received that | |
| | cannot be decoded | |
| | or is not | |
| | supported | |
|___________________|________________________|_______________________|
| H2250 Maximum | after opening | |
| Skew | associated audio | |
| | and video channels | |
| | | |
|___________________|________________________|_______________________|
Lantz [Page 16]
I-D Usage of H.323 on the Internet February 1997
_____________________________________________________________________
| Message | When to send | What to do on receipt |
|___________________|________________________|_______________________|
| User Input | on user request | |
| Indication | | |
|___________________|________________________|_______________________|
| Video Freeze | | stop sending video at |
| Picture | | the end of the |
| | | current frame |
|___________________|________________________|_______________________|
| Video Fast Update| | perform a fast update |
| Picture | | of the specified |
|___________________| | picture element at |
| Video Fast Update| | the earliest |
| GOB | | opportunity |
|___________________| | |
| Video Fast Update| | |
| MB | | |
|___________________|________________________|_______________________|
| Cancel Multipoint| | no longer required to |
| Mode Command | | comply with Request |
| | | Mode |
|___________________|________________________|_______________________|
10. References
[1] ITU-T Recommendation H.323 (1996), "Visual Telephone Systems and
Equipment for Local Area Networks which provide a Non-Guaranteed
Quality of Service".
[2] ITU-T Recommendation H.225.0 (1996), "Media Stream Packetization
and Synchronization for Visual Telephone Systems on Non-
Guaranteed Quality of Service LANs".
[3] ITU-T Recommendation H.245 (1996), "Control Protocol for
Multimedia Communication".
[4] ITU-T Recommendation H.320 (1995), "Narrow-band ISDN Visual
Telephone Systems and Terminal Equipment".
[5] ITU-T Recommendation H.324 (1995), "Terminal for Low Bitrate
Multimedia Communications".
[6] ITU-T Recommendation Q.931 (1993), "ISDN User-Network Interface
Layer 3 Specification for Basic Call Control".
[7] ITU-T Recommendation Q.850 (1993), "Usage of Cause and Location
in the Digital Subscriber Signaling System No. 1 and the
Signaling System No. 7 ISDN User Part".
Lantz [Page 17]
I-D Usage of H.323 on the Internet February 1997
[8] ITU-T Recommendation X.680 (1994), "Information Technology -
Abstract Syntax Notation One (ASN.1) Specification of Basic
Notation".
[9] ITU-T Recommendation X.691 (1994), "Information Technology -
ASN.1 Encoding Rules - Specification of Packed Encoding Rules
(PER)".
[10] RFC 1889, "RTP: A Transport Protocol for Real-Time
Applications".
[11] RFC 1890, "RTP Profile for Audio and Video Conferences with
Minimal Control".
[12] ITU-T AVC-1100, "Implementer's Guide for the ITU-T H.323
Recommendation Series".
11. Author's Address
Philip Lantz
Intel Corporation, JF2-58
2111 NE 25th Ave.
Hillsboro, OR 97124
Phone: 503-264-8896
E-mail: prl@ibeam.intel.com
INTERNET-DRAFT EXPIRES: SEPTEMBER 1997 INTERNET-DRAFT
| PAFTECH AB 2003-2026 | 2026-04-23 15:46:18 |