On Thu, 9 May 2002 [EMAIL PROTECTED] wrote:
> Hello All,
>
> I am a new comer to ASN.1, I require your help in understanding empty extensible
>information object set
>
> I have the following ASN.1 Definition, of which I have doubt in ExtensionSet
> (as defined in 3GPP TS 29.002 (V3.12.0) section 17.7.11 Extension data types. )
>
> MAP-ExtensionDataTypes {
> ccitt identified-organization (4) etsi (0) mobileDomain (0)
> gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version6 (6)}
>
> DEFINITIONS
> IMPLICIT TAGS
> ::=
> BEGIN
> EXPORTS
> PrivateExtension,
> ExtensionContainer
> ;
> MAP-EXTENSION ::= CLASS {
> &ExtensionType OPTIONAL,
> &extensionId OBJECT IDENTIFIER }
> ExtensionContainer ::= SEQUENCE {
> privateExtensionList [0]PrivateExtensionList OPTIONAL,
> pcs-Extensions [1]PCS-Extensions OPTIONAL,
> ...}
>
> PrivateExtension ::= SEQUENCE {
> extId MAP-EXTENSION.&extensionId
> ({ExtensionSet}),
> extType MAP-EXTENSION.&ExtensionType
> ({ExtensionSet}{@extId}) OPTIONAL}
> ExtensionSet MAP-EXTENSION ::=
> {...
> -- ExtensionSet is the set of all defined private extensions
> ...}
>
> END
>
>
> According to ( ITU-T Rec. X.681 (1997 E)), ExtensionSet is dynamically
> extensible object set , which could be expanded or contracted by the
> Application Program
>
> Doubt 1) How exactly is this( ExtensionSet) dynamic ? Which is the
> application program that shall alter this?
Your application program would alter the information object set before
using it if it is initially empty but extensible. In most applications
such an information object set is typically not dynamically expanded; the
implementor instead at ASN.1-compile time (or at implementation time if
they are not using an ASN.1 compiler that allows dynamic expansion of
information object sets) inserts into the information object set the set
of objects that they are going to support. The only cases that I am aware
of where information object sets are dynamically expanded are related to
some implementations of the Directory protocol; of course there may be
other cases.
> Doubt 2) How will the application Expand or contract the Object Set(
> ExtensionSet) ?
It is tool-specific. For example, with the OSS ASN.1 Tools functions
are provided that make it easy for you to dynamically expand or contract
an information object set at runtime. Check with your tool provider to
learn how to do expansion and contraction. HOWEVER, my guess is that if
you look closely enough at your application protocol you will find that
you probably don't need to do dynamic expansion and contraction.
Judging by the fact that it says "PrivateExtension" in your example code
above, I would guess that "ExtensionSet" is initially empty either because
it is meant to be populated by individual implementations or because it is
meant to be populated by end-users. I don't know your application
protocol, so I don't know which of these two cases is the right one. In
the former case (individual implementations) you can fill in the
information object set with your private information objects either at
implementation time or at runtime. In the other case you would need to
provide some way for your end-user to load the information object set at
runtime. As I mentioned above, this case occurs much less often.
> I am working on a ASN.1 Definition something like this
>
> (as defined in 3GPP TS 04.31 V8.8.0 (2002-02) sec 4)Components )
>
> RRLP-Components DEFINITIONS AUTOMATIC TAGS ::=
> BEGIN
> IMPORTS
> ExtensionContainer
> FROM MAP-ExtensionDataTypes {
> ccitt identified-organization (4) etsi (0) mobileDomain (0)
> gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version4 (4)}
> ;
> ProtocolError ::= SEQUENCE {
> errorCause ErrorCodes,
> extensionContainer ExtensionContainer OPTIONAL,
> ...
> }
> END
>
> In the above definition, I have copied the required imports in to my
> ASN.1 definition since My Application environment does not have the
> module MAP-ExtensionDataTypes,( some thing like declaring functions in
> the same file instead of using #include in C terms )
>
>
> I Hope I have made myself clear
I am not sure about what you are saying starting with "I am working ...".
Please clarify if what I have said above is not sufficiently clear.
-------------------------------------------------------------------------
Bancroft Scott Toll Free :1-888-OSS-ASN1
OSS Nokalva International:1-732-302-0750
[EMAIL PROTECTED] Tech Support :1-732-302-9669 x-1
1-732-302-9669 x-200 Fax :1-732-302-0023
http://www.oss.com