, and structured type using implicit tagging and type derived from any type using explicit tagging. The length of the value to be encoded does not have to be known in advance to perform this method of encoding. Structure of BER primitive and constructed, definite length encoding: Identifier Length Contents Octets Octets Octets Structure of BER constructed, indefinite length encoding: Identifier Octets Length Contents End-of-Contents Octets Octets Octets The fields in BER data element are: Identifier octets: This field is used to provide information on the characteristics of the data in the contents field (see Figure 15.2). It has three components: - Class: Used for classifying the data element. P/C: To specify if the BER is primitive or constructed. - Tag number: Describes the data element. Length octets: In BER structure using fixed length encoding, this field gives the number of contents octets. When nondefinite length encoding is used, this field indicates that length is indefinite. The length is indicated in one of three forms: Short form: Used for definite length encoding when content length is smaller than 128 octets. - Long form: Used for definite length encoding when content length is greater than 128 octets. Indefinite form: Used for indefinite length encoding. Fundamentals of EMS, NMS and OSS/BSS Single octet identifier Class Tag number Universal Primitive For example, the tag number 3 (00011) corresponds to BIT STRING Application Constructed BOOLEAN Context specific UTCTime Private SET [OF] Figure 15.2 Identifier octet. Contents octets: The ASN.1 data in encoded format is present in this field. End-of-contents octets: When the encoding is using a constructed, indefi- nite-length method this field denotes end of contents. This field is not present when other encoding methods are used. Let us close the discussion on BER with an example of encoding with BER as shown in Figure 15.3. For encoding zero, the identifier corresponds to a universal private integer with length one and the contents will have two's