Clarification of H.245 MTSE

Paul Long plong at SMITHMICRO.COM
Tue Sep 30 23:53:13 EDT 1997


(I just posted this to the sg16.lbc reflector, but Tom Geary suggested that I
also post it here. Sorry for the cross-posting. I believe this only affects
H.324, so all you H.323, et al., people can continue with whatever you were
doing. :-) )

Here is the text for a proposal I submitted back in Portland and that was
supposed to have been discussed in Sunriver. Since it wasn't, we need to discuss
this on the reflector before the next meeting in Geneva. If you have any problem
at all with this proposed "fix" to the MTSE, please speak up now.


This contribution proposes backward-compatible modifications to the H.245
Multiplex Table Signaling Entity (MTSE) in order to fix an apparent oversight.
These modifications allow an implementation to use the MultiplexEntrySend
message as it was intended—-with multiple multiplex entries.


1. Introduction

There is a flaw in the H.245 MTSE SDL that precludes sending the
MultiplexEntrySend message with multiple entries if there are any entries in
common between it and any of the preceeding MultiplexEntrySend messages. When
multiple entries are sent in a MultiplexEntrySend message, they all share the
same value in the sequenceNumber field, yet each out-going MTSE maintains its
own, per-entry sequence number in out_SQ. Therefore, only those entries whose
MTSE coincidentally have the same value for out_SQ can be combined in a
subsequent MultiplexEntrySend message. The trouble this causes during
implementation has resulted in some vendors deciding to not send multiple
entries in a MultiplexEntrySend message.


2. Solutions

There are two solutions to this problem.


2.1 Avoid multiple entries

Never send multiple entries in a MultiplexEntrySend message after the first one.
The first MultiplexEntrySend message may or may not contain multiple entries.
The downside is that one is not using the MultiplexEntrySend message as it was
intended to be used, thus wasting a small amount of bandwidth due to duplicated
overhead for each MultiplexEntrySend message containing a single entry and the
associated time loss, e.g., during session startup, as the sender waits for
responses to each request.


 2.2 Use a common sequence-number variable

Have all of the out-going MTSEs share a single sequence-number variable for
determining what sequence number to use for out-going MultiplexEntrySend
messages. Each MTSE continues to use its existing, MTSE-specific sequence-number
variable for recording the sequence number used in the MultiplexEntrySend
message. This is so that responses can be identified as belonging to the same
dialogue as the MultiplexEntrySend request.

This is backwards compatible with the MTSE defined in previous versions of H.245
because there is no requirement in the in-coming MTSE that the values of
MultiplexEntrySend.sequenceNumber be contiguous from one message to another for
a given MTSE instance. In effect, sequenceNumber is used as a somewhat unique
handle for a brief transaction, not as something that must increase by one each
time. The result is that this allows all out-going MultiplexEntrySend messages
to contain multiple entries.


2. Text Modifications

Here are the required text modifications for the second,
common-sequence-number-variable solution.

Replace the out_SQ definition in 8.7.3.2/H.245 with these two variables and
their descriptions.

out_SQ
This state variable is used to indicate the most recently sent
MultiplexEntrySend message for this MTSE instance. It is mapped to the
MultiplexEntrySend message sequenceNumber field before transmission of a
MultiplexEntrySend message.

global_out_SQ
This state variable is used to indicate the most recently sent
MultiplexEntrySend message for any MTSE instance. It is incremented by one and
assigned to out_SQ before out_SQ is mapped to the MultiplexEntrySend message
sequenceNumber field. Arithmetic performed on global_out_SQ is module 256.

Replace the contents of the task symbol in Figure 28(i)/H.245 containing "out_SQ
:= out_SQ + 1" with this:

global_out_SQ := global_out_SQ + 1
out_SQ := global_out_SQ


3. Proposal

That the text modifications described above be applied to H.245 version 3 to
allow all MultiplexEntrySend messages to contain multiple multiplex entries.

[end]


--
Paul Long___________________________http://www.cmpu.net/public/plong
Smith Micro Software, Inc.__________http://www.smithmicro.com/



More information about the sg16-avd mailing list