Paul,
The problem with this is that with the way certain stacks work an
application (such as a gatekeeper) can not necessarily get hold of things
that weren't fully decoded ASN.1-wise, and therefore can not relay them
onwards. What would happen when, for instance, the Madge gatekeeper
(H.323v2), received a message from (say) a v4 endpoint containing "new"
mandatory fields, is that it would be able to forward only that part of the
message which is understood in the (v2) ASN.1 of which it is aware.
To do anything different for future versions may or may not be possible (my
understanding of PER encoding isn't quite up to being definitive on this)
but if it is possible it would require many stack vendors and people with
their own stacks to do some significant rewriting.
I think Jim's right, much as it would be nice to be cleverer.
Chris
-----Original Message-----
From: Paul Long [mailto:Plong@SMITHMICRO.COM]
Sent: 21 January 1999 10:21
To: ITU-SG16@MAILBAG.INTEL.COM
Subject: Re: Relationship of H.323 and H.245 versions
From: Jim Toga [SMTP:jim.toga@INTEL.COM]
This is getting close. One potential
problem surrounds
intermediaries
(for example GKs in a GK-routed call). We
need to indicate
what exactly is
the expected behaviour of 'M' entities when
they get 'N' type
messages
(that look like 'M' messages with extentions.)
I would contend that the reality of the
situation is that all
we can
stipulate, is that the 'M' entities don't crash in the
presense of 'N'
messages. We can't mandate that 'M's pass new
(uninterpreted/not-understood) data on.
Obviously if there is
an existing
opaque field defined, this _shall_ be forwarded.
comments?
I thought I addressed this in the last sentence, "In
addition, if a >product
is relaying an ASN.1 value, it shall encode the same value
that it >decoded,
regardless of its own version or the version of the value's
sender." This is
for intermediate entities such as gatekeepers that relay, or
route, call
signaling and control messages between entities. My company
is not in the
gatekeeper business, so with my lack of familiarity I could
be off base here,
but I believe this statement is necessary to mitigate the
earlier statement,
"Each product shall _encode_ and decode the H.245 and H.225.0
ASN.1 syntax
trees defined in their respective version of H.323." The last sentence
sanctions, for example, a v1 gatekeeper relaying v2 messages.
I assume this is
a requirement and that we can indeed mandate it.
Was I not clear, or did I simply not address your concern?
Paul Long
Smith Micro Software, Inc.