Hi,
What are the merits of using a separate container to add new IEs rather
than extending the original container which was defined using the ellipsis.
An example is from the RADIO LINK RECONFIGURATION PREPARE message from
the NBAP protocol, 3GPP 25.433. The original definition and updated
versions of the message are below. The message contains a sequence of
two containers ("protocolIEs" and "protocolExtensions") and is
terminated with the ellipsis. Each container is then itself terminated
with an ellipsis.
In the old version the "protocolExtensions" is empty. In the new
version the "protocolExtensions" has been extended with new IEs.
But why were the IEs added to the "protocolExtensions"?? They could have
easily been added to the "protocolIEs" container which was defined with
the ellipsis. In fact why does the "protocolExtensions" container even
exist at all? Is this mere whim on the part of the designer? Or is there
some sound reason why there is a separate container for extensions? It
seems to be overkill to have both the ellipsis for the "protocolIEs" and
to have a separate extensions container
Thanks in advance,
Gerard.
============================================================================
Original Definition
============================================================================
-- **************************************************************
--
-- RADIO LINK RECONFIGURATION PREPARE FDD
--
-- **************************************************************
RadioLinkReconfigurationPrepareFDD ::= SEQUENCE {
protocolIEs ProtocolIE-Container
{{RadioLinkReconfigurationPrepareFDD-IEs}},
protocolExtensions ProtocolExtensionContainer
{{RadioLinkReconfigurationPrepareFDD-Extensions}} OPTIONAL,
...
}
RadioLinkReconfigurationPrepareFDD-IEs NBAP-PROTOCOL-IES ::= {
{ ID id-NodeB-CommunicationContextID
CRITICALITY reject TYPE NodeB-CommunicationContextID
PRESENCE mandatory } |
{ ID id-UL-DPCH-Information-RL-ReconfPrepFDD
CRITICALITY reject TYPE
UL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional } |
{ ID id-DL-DPCH-Information-RL-ReconfPrepFDD
CRITICALITY reject TYPE
DL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional } |
{ ID id-FDD-DCHs-to-Modify CRITICALITY
reject TYPE FDD-DCHs-to-Modify PRESENCE
optional } |
{ ID id-DCHs-to-Add-FDD CRITICALITY reject
TYPE DCH-FDD-Information PRESENCE optional } |
{ ID id-DCH-DeleteList-RL-ReconfPrepFDD
CRITICALITY reject TYPE DCH-DeleteList-RL-ReconfPrepFDD
PRESENCE optional } |
{ ID id-DSCH-ModifyList-RL-ReconfPrepFDD
CRITICALITY reject TYPE
DSCH-ModifyList-RL-ReconfPrepFDD PRESENCE optional } |
{ ID id-DSCHs-to-Add-FDD CRITICALITY reject
TYPE DSCH-FDD-Information PRESENCE optional } |
{ ID id-DSCH-DeleteList-RL-ReconfPrepFDD
CRITICALITY reject TYPE
DSCH-DeleteList-RL-ReconfPrepFDD PRESENCE optional } |
{ ID id-TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD
CRITICALITY reject TYPE
TFCI2-BearerSpecificInformation-RL-ReconfPrepFDD
PRESENCE optional } |
{ ID id-RL-InformationList-RL-ReconfPrepFDD
CRITICALITY reject TYPE
RL-InformationList-RL-ReconfPrepFDD PRESENCE optional }|
{ ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY
reject TYPE Transmission-Gap-Pattern-Sequence-Information
PRESENCE optional },
...
}
RadioLinkReconfigurationPrepareFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
...
}
============================================================================
New Definition
============================================================================
-- **************************************************************
--
-- RADIO LINK RECONFIGURATION PREPARE FDD
--
-- **************************************************************
RadioLinkReconfigurationPrepareFDD ::= SEQUENCE {
protocolIEs ProtocolIE-Container
{{RadioLinkReconfigurationPrepareFDD-IEs}},
protocolExtensions ProtocolExtensionContainer
{{RadioLinkReconfigurationPrepareFDD-Extensions}} OPTIONAL,
...
}
RadioLinkReconfigurationPrepareFDD-IEs NBAP-PROTOCOL-IES ::= {
{ ID id-NodeB-CommunicationContextID CRITICALITY
reject TYPE NodeB-CommunicationContextID PRESENCE mandatory }|
{ ID id-UL-DPCH-Information-RL-ReconfPrepFDD CRITICALITY
reject TYPE UL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional } |
{ ID id-DL-DPCH-Information-RL-ReconfPrepFDD CRITICALITY
reject TYPE DL-DPCH-Information-RL-ReconfPrepFDD PRESENCE optional } |
{ ID id-FDD-DCHs-to-Modify CRITICALITY
reject TYPE FDD-DCHs-to-Modify PRESENCE optional } |
{ ID id-DCHs-to-Add-FDD CRITICALITY
reject TYPE DCH-FDD-Information PRESENCE optional } |
{ ID id-DCH-DeleteList-RL-ReconfPrepFDD CRITICALITY
reject TYPE DCH-DeleteList-RL-ReconfPrepFDD PRESENCE optional } |
{ ID id-RL-InformationList-RL-ReconfPrepFDD CRITICALITY
reject TYPE RL-InformationList-RL-ReconfPrepFDD PRESENCE optional }|
{ ID id-Transmission-Gap-Pattern-Sequence-Information CRITICALITY
reject TYPE Transmission-Gap-Pattern-Sequence-Information
PRESENCE optional },
...
}
RadioLinkReconfigurationPrepareFDD-Extensions NBAP-PROTOCOL-EXTENSION ::= {
{ ID id-SignallingBearerRequestIndicator CRITICALITY reject
EXTENSION SignallingBearerRequestIndicator PRESENCE optional }|
{ ID id-HSDSCH-FDD-Information CRITICALITY reject
EXTENSION HSDSCH-FDD-Information PRESENCE optional }|
{ ID id-HSDSCH-Information-to-Modify CRITICALITY reject EXTENSION
HSDSCH-Information-to-Modify PRESENCE optional }|
{ ID id-HSDSCH-MACdFlows-to-Add CRITICALITY reject
EXTENSION HSDSCH-MACdFlows-Information PRESENCE optional }|
{ ID id-HSDSCH-MACdFlows-to-Delete CRITICALITY reject
EXTENSION HSDSCH-MACdFlows-to-Delete PRESENCE optional }|
{ ID id-HSDSCH-RNTI CRITICALITY reject
EXTENSION HSDSCH-RNTI PRESENCE conditional }|
-- The IE shall be present if /HS-PDSCH RL ID /IE is present.
{ ID id-HSPDSCH-RL-ID CRITICALITY reject EXTENSION
RL-ID PRESENCE optional },
...
}
--
_______________________________________________
Asn1 mailing list
[email protected]
http://lists.asn1.org/mailman/listinfo/asn1