Hi: Thanks a lot for your response. I have two more questions regarding the BER implementaion of ExtensionContainer definition. Assume that We are not planning to add any private extensions at this point. Q1)In that case, Can i just treat the extension container definition as one single extension marker definition?. Q2)Is the above implementation(as specified in Q1) is still according to the standards in terms of extension container definition implementation? Thanks in advance! regards, santhosh. -----Original Message----- From: Egon Andersen, Talura [mailto:[EMAIL PROTECTED]] Sent: Wednesday, December 06, 2000 12:52 AM To: [EMAIL PROTECTED] Subject: Re: [ASN.1] few questions regarding the BER implementaion of MAP-GSM ASN.1 me ssages. Hi, I'll give explanations/answers below Sriraman, Santhosh Kumar wrote: > > Hi: > > Q1) How do i implement "..." (extension markers) which is present inside > most of the sequences in the > MAP-GSM ASN.1 message definition? How do i encode or decode the > extension markers in BER? The extension marker is NOT encoded. But it indicates that at this point in the protocol, the decoder should be able to allow unspecified types, without generating an error. Extension marker is normally used to allow for version upgrading without causing problems when an old application receives messages from a new protocol. > > Q2) How do i implement the following ExtensionContainer definition(using > BER) existing in the Actually your problem is that you haven't defined any elements in your ExtensionSet, only an extension marker. This indicates that there aren't given any elements yet, but you can have them in the future. This gives meaning as this is probably a part of the 'standard' module, where you are then allowed to make your own 'private' additions/extensions. I have tried to give a kind of example below. > MAP-GSM ASN.1 message defintions? > Definition is as follows: > > -- IOC for private MAP extensions > MAP-EXTENSION ::= CLASS > { > &ExtensionType > OPTIONAL, > &extensionId OBJECT > IDENTIFIER > } > -- data types > ExtensionContainer ::= SEQUENCE > { > privateExtensionList [0] > PrivateExtensionList OPTIONAL, > pcs-Extensions [1] > PCS-Extensions OPTIONAL, > ... > } > PrivateExtensionList ::= SEQUENCE SIZE (1..maxNumOfPrivateExtensions) > OF PrivateExtension > > PrivateExtension ::= SEQUENCE > { > extId > MAP-EXTENSION.&extensionId ({ExtensionSet}), > extType > MAP-EXTENSION.&ExtensionType ({ExtensionSet}) {@extId}) OPTIONAL > } > > maxNumOfPrivateExtensions INTEGER ::=10 > > ExtensionSet MAP-EXTENSION ::= > { > ..., myExtension > -- ExtensionSet is the set of all defined private Extensions > } myExtension MAP-EXTENSION { &ExtensionType INTEGER, &extensionId myObjectIdentifier } -- myObjectIdentifier is an ObjectIdentifierValue specified somewhere in the module or imported from another module > -- Unsupported private extensions shall be discarded if received > > PCS-Extensions ::= SEQUENCE > { > ... > } > > Thanks in advance for the reply, > Regards, > Santhosh Kumar Sriraman. > > > I hope this brought you a little further. Best regards Egon Andersen -- * Talura ApS * Phone: +45 43 52 50 00 * * Baldershøj 24 B * mailto:[EMAIL PROTECTED] * * DK-2635 Ishøj * http://www.talura.dk *