Aller au contenu principal

9. Extensions

Extensions MUST be negotiated on a per-session basis during session initialization via the Extensions Supported mechanism. Implementations are not required to support any extensions in order to be considered DLEP compliant.

If interoperable protocol extensions are required, they will need to be standardized as either (1) an update to this document or (2) an additional standalone specification. The IANA registries defined in Section 15 of this document contain sufficient unassigned space for DLEP Signals, Messages, Data Items, and status codes to accommodate future extensions to the protocol.

As multiple protocol extensions MAY be announced during session initialization, authors of protocol extensions need to consider the interaction of their extensions with other published extensions and specify any incompatibilities.

9.1. Experiments​

This document registers Private Use [RFC5226] numbering space in the DLEP Signal, Message, Data Item, and status code registries for experimental extensions. The intent is to allow for experimentation with new Signals, Messages, Data Items, and/or status codes while still retaining the documented DLEP behavior.

During session initialization, the use of the Private Use Signals, Messages, Data Items, status codes, or behaviors MUST be announced as DLEP extensions, using extension identifiers from the Private Use space in the "Extension Type Values" registry (Table 3), with a value agreed upon (a priori) between the participants. DLEP extensions using the Private Use numbering space are commonly referred to as "experiments".

Multiple experiments MAY be announced in the Session Initialization Messages. However, the use of multiple experiments in a single session could lead to interoperability issues or unexpected results (e.g., clashes of experimental Signals, Messages, Data Items, and/or status code types) and is therefore discouraged. It is left to implementations to determine the correct processing path (e.g., a decision on whether to terminate the session or establish a precedence of the conflicting definitions) if such conflicts arise.