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.