Case insensitive issue
This page is related to ONAP JIRA SDNC-1175.
The SOAP interface is case-insensitive, while the NetConf/YANG interface is case-sensitive.
Example: if and ENUM value is defined in YANG as "disabled" a NetConf-Client or NetConf-Server would not accept values like "DISABLED" or "Disabled".
O-RAN-SC OAM TR069-Adapter acts as NetConf-Server and must apply to the specifications of NetConf/YANG (mainly RFC6241 and RFC7950).
The issue applies to values of an inherited string type, such as 'enum', 'identity' and strings with pattern (e.g. yang:date-and-time). In order to translate the SOAP case-insensitive values to YANG case-sensitive values a mapping table is required. This mapping table can be created during runtime by the TR069-Adapter based on the YANG modules, which are exposed in the NetConf <hello> message.
As key of the mapping table the absolute xPath a leaf should be used. For 'enum' and 'identity' values, the SOAP value must be normalized, to be found in the mapping table. It is recommended to use lower-case string only in the mapping table, because yang modules follow usually XML conventions (lower case). The SOAP string value must be normalized before a lookup in the mapping table.