Proposed Corrections to Phase B (for Implementors Guide)

Dave Walker dave_walker at Mitel.COM
Wed Jan 27 10:32:39 EST 1999

I would like to hear people's opinion on whether we should
modify the requirements of Call Signalling Procedures Phase B
(section 8.2 of H.323v2).  In particular, I want to remove the
requirements that Terminal Capability Set be the first message
sent on the H.245 Control Channel, and the requirements that
terminal capability exchange and Master-Slave determination
complete before anything else is permitted on the control
channel (this requirement may only be implied).  I think that
it was probably only due to oversight that these changes
weren't included in version 2 when other text was approved
which necessitated less stringent requirements.  So my proposal
is that these changes be captured in the Implementors Guide and
then rolled into H.323 version 3.

To show the proposed changes to the text in ASCII, I'll bracket
text to be inserted like this:  <ADD>new text to be inserted</ADD>
and text to be removed like this:  <DEL>existing text to be

The first paragraph of 8.2 requires that an H.245 Control
Channel be established once the Phase A call signalling
exchange is completed.  This requirement should not always
apply, for example, where Fast Connect has been used.  So the
proposed change is:

  Once both sides have exchanged call set-up messages from
  Phase A, the endpoints shall<ADD>, if required,</ADD>
  establish the H.245 Control Channel. The procedures of
  Recommendation H.245 are used over the H.245 Control Channel
  for the capability exchange and to open the media channels.

Paragraph 3 requires that the first H.245 message sent shall be
the terminalCapabilitySet.  This is not always necessary or
desireable.  For example,

  - The Fast Connect procedure was used, and now I simply want
    to send a UserInputIndication through the available but as
    yet unused H.245 tunnel (TerminalCapabilitySet and Master-
    Slave Determination messages haven't been sent yet).
    At least partial support for UserInputIndication is mandatory,
    so I shouldn't have to go through full capability exchange and
    Master-Slave Determination just to send a keypress.
    Section 8.2 does not actually require that TCS procedures
    *complete* prior to the next H.245 message being sent (so a
    userInputIndication could be sent in another message
    immediately after sending the message containing the TCS).
    But section states that where Fast Connect has been
    used, "When H.245 procedures are activated, all mandatory
    procedures of H.245 that normally occur upon initiation of an
    H.245 connection shall be completed prior to initiation of any
    additional H.245 procedures".  This implies (by the requirements
    of 8.2) TCS exchange and Master-Slave Determination.
    Regardless, at least two TCP messages are required to get the
    UserInputIndication sent.
  - In the white paper for H.323 Annex F, H.245 tunnelling support
    is mandatory (at least for transmission of UserInputInd, and
    possibly other reasons such as "conference-awareness"), yet a
    SUD may only send an empty TCS.  But reception of an empty TCS
    at the peer has the effect of resetting H.245 state, and
    probably closing media channels.
  - Both endpoints have a priori knowledge of each other's
    capabilities, obviating the need for successful completion of
    the terminal capability exchange procedure prior to performing
    other H.245 operations.

So the proposed change is:

  Endpoint system capabilities are exchanged by transmission of the
  H.245 terminalCapabilitySet message. This capability message <DEL>
  shall</DEL><ADD>should</ADD> be the first H.245 message sent.<ADD>
  If, prior to successful completion of terminal capability exchange,
  any other H.245 procedure fails, is rejected, is not understood, or
  not supported, and the reason for such an outcome is the incomplete
  nature of the capabilities exchange, then before retrying the
  procedure the terminal capability exchange should be performed as
  specified in Recommendation H.245.</ADD>

There are a couple of minor associated changes that I will list at the

The fourth paragraph contains a requirement that Master-Slave
determination take place.  Master-Slave Determination is used for a
variety of purposes, such as to choose MC for a conference, for
determining a master for resolving conflicting requests such as may
arise in opening bi-directional channels, and for assigning sessionIds.
Endpoints exist which will use only well-known sessionIds, will never
issue a potentially conflicting request and which will not act as an MC.
Therefore the proposal is to change the text as follows:

  <ADD>Except as otherwise allowed by this clause, the</ADD><DEL>The
  </DEL>master-slave determination procedure of H.245 shall take place
  as described in In cases where both endpoints in a call
  have MC capability, the master-slave determination is used for
  determining which MC will be the active MC for the conference. The
  active MC may then send the mcLocationIndication message. The
  procedure also provides master-slave determination for opening
  bidirectional channels for data.<ADD> An endpoint which will not
  act as an MC and which will not require a master entity on the
  call may choose not to initiate the master-slave determination
  procedure, however if that procedure is initiated by a peer
  endpoint, the procedure must be supported as described in
  Recommendation H.245.</ADD>

The proposed changes to capability exchange and master-slave
determination requirements also affect the final paragraph of
section 8.2, which should be changed as so:

  Following <DEL>this exchange of capabilities</DEL><ADD>successful
  completion of the requirements of Phase B</ADD>, the endpoints
  shall proceed directly to the desired operating mode, <DEL>i.e.
  </DEL><ADD>normally</ADD> Phase C.

In addition to redundantly requiring exchange of capabilities and
master-slave determination, Phase C of the H.323 Call Signalling
procedures currently implies that these procedures must be followed
by opening logical channels.  There exist circumstances where there
is no need to open logical channels at this time, so that the first
paragraph of section 8.3 should be clarified to read:

  <DEL>Following the exchange of capabilities and master-slave
  determination, the procedures of Recommendation H.245 shall then
  be used to open logical channels for the various information streams.
  </DEL><ADD>Following the opening of the H.245 Control Channel in
  Phase B, only the procedures of Recommendation H.245 shall be used
  to open logical channels for the various information streams.</ADD>
  The audio and video streams, which are transmitted in the logical
  channels set-up in H.245, are transported over dynamic TSAP
  Identifiers using an unreliable protocol (see Recommendation
  H.225.0). Data communications which is transmitted in the logical
  channels set-up in H.245, are transported using a reliable protocol
  (see Recommendation H.225.0).


Dave Walker
Mitel Corporation
Ontario, CANADA

More information about the sg16-avd mailing list