Section: – ParentIE-WithEM
Content: The IE ParentIE-WithEMis an example of a high level IE including the extension marker (EM). The root encoding of this IE includes two lower level IEs ChildIE1-WithoutEM and ChildIE2-WithoutEM which not include the extension marker. Consequently, non-critical extensions of the Child-IEs have to be included at the level of the Parent-IE. The example illustrates how the two extension IEs ChildIE1-WithoutEM-vNx0 and ChildIE2-WithoutEM-vNx0 (both in release N) are used to connect non-critical extensions with a default extension location in the lower level IEs to the actual extension location in this IE. ParentIE-WithEM information element -- /example/ ASN1START ParentIE-WithEM ::= SEQUENCE { -- Root encoding, including: childIE1-WithoutEM ChildIE1-WithoutEM OPTIONAL, -- Need N childIE2-WithoutEM ChildIE2-WithoutEM OPTIONAL, -- Need N ..., [[ childIE1-WithoutEM-vNx0 ChildIE1-WithoutEM-vNx0 OPTIONAL, -- Need N childIE2-WithoutEM-vNx0 ChildIE2-WithoutEM-vNx0 OPTIONAL -- Need N ]] } -- ASN1STOP Some remarks regarding the extensions shown in the above example: – The fields childIEx-WithoutEM-vNx0 may not really need to be optional (depends on what is defined at the next lower level). – In general, especially when there are several nesting levels, fields should be marked as optional only when there is a clear reason.