Configuration Change Notification

In order to convert a NetConf notification into a VES7.1.1 format a mapping between a specific YANG set of YANG modules and the VES:commonEventHeader and its domain "notification. In the example below we need the BBF-TR069 implemented in the OAM-TR069-Adapter for such mapping.

BBF-TR069 defines 4 kind of CM notifications: VALUECHANGE, BOOT, BOOTSTRAP and PERIODIC. However, the mapping to VES:notification is the same. 



VES:commonEventHeader

implementation of TR069 yang

domain

Static text "notification"

eventId

Concatenation of:

  • The notification name (root-xml-tag) as specified in the YANG model, so one of the following values

    • "VALUECHANGE"

    • "BOOT"

    • "BOOTSTRAP"

    • "PERIODIC"

  • "-"

  • Value as  discovered when NetConf connection is established: /device/device-info/serial-number

  • "-"

  • value of an increasing sequence number (int (32 bits); even so, please implement wrap around)

eventName

The notification name (root-xml-tag) as specified in the YANG model, so one of the following values

  • "VALUECHANGE"

  • "BOOT"

  • "BOOTSTRAP"

  • "PERIODIC"

eventType

Static text: "OAM-TR069_RAN_notification"

internalHeaderFields

not mapped

lastEpochMicrosec

TimeStamp represented by <eventTime> field in NetConf notification header in unix time format - as microseconds elapsed since 1 Jan 1970 not including leap seconds.

nfcNamingCode

always ""

nfNamingCode

always ""

nfVendorName

Value as  discovered when NetConf connection is established: /device/device-info/manufacturer

priority

Static text "Normal"

reportingEntityId

not mapped

reportingEntityName

as configured by helm charts for the ODL cluster name - default "ONAP SDN-R"

sequence

As per NetConf notification increasing sequence number as unsigned integer 32 bits. The value is reused in the eventId field.

sourceId

Value as  discovered when NetConf connection is established: /device/device-info/serial-number

sourceName

Always use ODL/node-id (mountpoint name). Also compare against Value of: notification VALUECHANGE/device/services/fap-service[index]/cell-config/lte/ran/s1-ap/x-0005b9-e-nb-name if it exists and if different then log a warning. If the aforementioned field (x-0005b9-e-nb-name) does not exist then warning message not required

startEpochMicrosec

TimeStamp represented by <eventTime> field in NetConf notification header in unix time format - as microseconds elapsed since 1 Jan 1970 not including leap seconds.

timeZoneOffset

Static text: "+00:00" - Please note that times from NetConf Notification Header may need to be converted to UTC.

version

Static text: "4.1"

vesEventListenerVersion

Static text "7.1.1"





VES:notificationFields



additionalFields

not mapped

arrayOfNamedHashMap

That field is used to transport the information which has changed, basically as key value pair. As key the xpath to the leaf should be used.

Example:

"/notification/VALUECHANGE[@xmlns=\"urn:org:onap:ccsdk:features:sdnr:northbound:onecell-notification\"]/device/services/fap-service[2]/fap-control/lte/rf-tx-status": "false",

changeContact

not mapped

changeIdentifier

ODL/node-id (mountpoint name)

changeType

The notification name (root-xml-tag) as specified in the YANG model, so one of the following values

  • "VALUECHANGE"

  • "BOOT"

  • "BOOTSTRAP"

  • "PERIODIC"

newState

not mapped

oldState

not mapped

notificationFieldsVersion

Static text: "2.0"

stateInterface

not mapped - alternative: the most common part of the keys of arrayOfNamedHashMap (would be redundant)