Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: removed req to update CPE sw-version info

Table of Contents
outlinetrue

Introduction

The CPE Authentication Notification is generated whenever the authentication state of gateway functionality associated with a CPE (e.g., ONT) changes from either Authenticated to Unauthenticated and vice-versa.

Upon reception of the notification within ONAP by a DCAE collector, the notification is mapped into a VES event and placed on the DMaaP bus by the DCAE/BBS uS (platform uS) which then processes the event invoking a Policy to update the subscribers HSIA CFS. The DCAE , Policy and SO AAI interactions and associated artificat definitions are defined in this document.


BBS Flows Cross Reference

The CPE Authentication notification is used within the following use case scenarios:


CPE Authentication Flow

Gliffy Diagram
nameBBS CPE Authentication Notification
pagePin226

CPE Authentication Flow

The following above diagram reflects the inter

Figure 1. Nomadic ONT Flow Diagram

Here  are the flow by steps:

the interactions that updates the HSIA service's operation state with the following steps:

10) Edge

Access

SDN M&C reports the

ONT registration event

CPE Authentication Notification to DCAE

/PRH
  • DCAE/PRH checks if there is an existing PNF entry in AAI for the ONT and if the service associated with this ONT is activated, post pnfUpdate events on DMAAP.
  • VES Collector

    The VES Collector receives the CPE Authentication Notification and places a CPE Authentication VES Event onto the DMaaP bus (topic unauthenticated.CPE_AUTHENTICATION).

    The domain of the VES Event is defined in this document.

    20) The BBS uS will listen for StateChange events for CPE Authentication events

    • Lookup the PNF (using sourceName) and find associated services
    • Obtain the CFS service instance(s) for the HSIA Internet Profile with the same RG MAC Address.

    Note: Step 20 lookup information needs validated

    30) If swVersion is present in the VES message's Additional information "swVersion", the BBS policy updates the PNF instances swVersion field.  (Not in Dublin)

    40) The BBS policy changes the CFS service instance's orchestration status:

    • newState: InService → orchestration status: Active
    • newState: OutofService → orchestration status: Inactive

    50) AAI emits a service instance update in the DMaaP's AAI-EVENT topic, which is consumed by ExternalAPI

    55) External API emits the service instance state change notification



    CPE Authentication VES Event

    Ref: VES Architecture

    Ref: VES Schema

    Code Block
    languagebash
    themeMidnight
    titleCPE AUTHENTICATION VES Event in JSON
    linenumberstrue
    curl -X POST \
      http://172.30.0.123:30235/eventListener/v7 \
      -H 'Accept: application/json' \
      -H 'Content-Type: application/json' \
      -H 'cache-control: no-cache' \
      -d '{
        "event": {
            "commonEventHeader":
  • The BBS MS consumes pnfUpdate event, carries on ONT PNF updates in A&AI and publishes a Nomadic ONT event/DCAE_CL_Event with that CFS id from AAI on DMAAP.
  • Policy engine will call SO API upon the DCAE_CL event based on the BBS ONT moving operational policy pre-deployed to it.
  • SO serviceModification API initiates the service re-provisioning procedure per ONT location change.
  • After ONT is back online, Edge SDN M&C will sent a RG Activation notification to ONAP to indicate the completion of Nomadic ONT. 
  • Upon receiving CPE Authentication event from DMAAP, BBS MS calls SO API (question) to update the HSIA service based on the RG/CPE attributes within the event body.  
  • DCAE

    Restconf Collector

    The APIs to Access SDN M&C leverage those specified in CCVPN Closed Loop

    Image Removed

    In case of BBS Nomadic ONT, Restconf collector subscribes both of ONT Registration and RG Activation notifications through separate SSE connections with Access SDN M & C , each of the connection handler is assigned at design time to build JSON message with different topics of Restconf_Notification with certain Restconf2VES XML file indicator (in OID field for the time being ). The SB domain controller IP/port, authentication information and produced topic could be assigned at design time at blue print creation through DCAE-DS and configurable at control loop creation time from CLAMP.

    ONT Registration Notification

    Following is an example of ONT Registration notification received from Access SDN M&C - the domain controller.

    Code Block
    languagetext
    firstline1
    titleONT Registration Notification
    linenumberstrue
    collapsetrue
    [
        {
         “notification” :
            {
             “event-time”: ”2018-03-15T08:15:32.000Z”,
        "sourceId": "",
         “notification-id”:  ”2541256”,
         "startEpochMicrosec": 1413378172000000,
       “message”:
                {"eventId": "ab305d54-85b4-a31b-7db2fb6b9e546015",
                    “topic”:“resource”"timeZoneOffset": "",
                "reportingEntityId": "",
       “object-type”:“ont”,               "internalHeaderFields": {},
                    “version”"eventType": ”v1”"applicationNf",
                    “operation”"priority": “Create”"Normal",
                    “target”: ”ont/ont=23hk1231231232”"version": "4.0.1",
                    “content”:"reportingEntityName": "thirdparty-sdnc-idfromesrrequest",
                "sequence": 0,
          {
          "domain": "stateChange",
                 “ont”:"lastEpochMicrosec": 1413378172000000,
                "eventName": "StateChange_cpe_authentication",
              {  "vesEventListenerVersion": "7.0.1",
                "sourceName": "pnf-1"
            },
            "stateChangeFields": {
                "additionalFields": {
      “ontSN”:“48575443FA637D1A”,            
      "macAddress": "01:02:03:04:05:06",
                    "swVersion": "1.2.3"
        “neName”:“MA5800T-001”,
            },
                    “neUNIPort”:“0/1/6”"oldState": "outOfService",
                            “onuID”:“101”,"stateChangeFieldsVersion": "4.0",
                "stateInterface": "",
                "newState": "inService"
                                        
                            “accessID”:“HG65875420001”,                        
                            “remark”:“”,
                         }
                    }
                }
            }
        }
    ]

    The output of Restconf Collector for the ONT Registration is the above JSON message being published on DMAAP with topic of RestConf_ONT_Registration. 

    RG Activation Notification

    Following is an example of RG Activation notification received from Access SDN M&C - the domain controller.

    Code Block
    languagetext
    firstline1
    titleRG Online Notification
    linenumberstrue
    collapsetrue
      [
          {
              “notification”
              {
                  “event-time”:  ”2018-04-15T08:15:32.000Z”,
                  “notification-id”:  ”2541256”,
                  “message”:
                  {
                      “topic”:“resource”,
                      “object-type”:“Gateway”,
                      “version”: ”v1”,
                      “operation”: “Create”,
                      “target”: "Gateway/sn=83575443FA637D1A”,
                      “content” :
                      {
                          “Gateway”:
                          {
                              “gatewaySN”:“83575443FA637D1A”,                                   
                              “mac”:“28-6E-D4-89-34-DD”,               
                              “pppoeUserName”: ”587564@163.com”,                
                              “ip”: "10.68.52.158”,
                              “state”:”Online”,
                              “ontSN”:“48575443FA637D1A”                            
                          }                
                      }
                  }
              }
          }           
      ]

    The output of Restconf Collector for the RG Activation is the above JSON message being published on DMAAP with topic of RestConf_RG_Activation. 

    Image Removed

    DC=Domain Controller   RCC=Restconf Collector thread   UVA=Universal VES Adaptor thread  SSE=SSE Connection

    ORN=ONT Registration Notification  RN=Restconf Notification topic  PNF_R=PNF Registration Event

    RAN=RG Activation Notification   CPE_A=CPE Authentication Event  PRH=PNF Registration Handler  PU= PNF Update 

    Figure 2. Logic flow of Restconf Collector vs VES Mapper

    VES Mapper

    Restconf2VES Mapping

    The Restconf2VES mapping rule (*.xml) is provided by the vendor for certain type of notification for ONT and defined as the following:  

    Code Block
    languagetext
    firstline1
    titlerestconf2VES.xml
    linenumberstrue
    collapsetrue

    The default mapping artifact (xml file) name is specified at the design time in VES Mapper micro-service blueprint at DCAE-DS and it is configurable through CLAMP at control loop creation time. The pre-condition is that the mapping file with correct naming convention should be available or on-boarded and stored in ONAP at design time. When the Nomadic ONT control loop is deployed, the mapping files retrievable and loaded to VES Mapper working space.

    PNF Registration Event

    VES Mapper converts the ONT Registration notification JSON message from DMAAP into the following PNF Registration event.

    Code Block
    languagetext
    firstline1
    titlepnfRegistration Event
    linenumberstrue
    collapsetrue
    This pnfRegistration Event definition can be found at link:
    https://wiki.onap.org/display/DW/5G+-+PNF+Plug+and+Play#id-5G-PNFPlugandPlay-STAGE3-PNFREGISTRATIONVESEVENT
    
    
    
    
    
    
    

    PRH Extension

    PNF Re-registration Detection

    Refer to PNF Re-registration detection logic handled in 5G use case by extension of PRH micro-service.

    PNF for ONT in A&AI

    Refer to ONT/PNF definition in ONT modeling

    PNF pnfUpdate Event

    This event is the output of PRH active service detection and is consumed by BBS MS.

    Code Block
    languagetext
    firstline1
    titlePNF Update Event
    linenumberstrue
    collapsetrue

    Nomadic ONT Event/DCAE_CL_OUTPUT Event  (WIP)

    This event triggers Policy engine to call SO API to modify the associated HSIA service.  

    DCAE_CL_OUTPUT Event

    Code Block
    languagetext
    firstline1
    titleDCAE Control Loop Event
    linenumberstrue
    collapsetrue
    {
        "closedLoopEventClient": "DCAE.BBS_mSInstance",
        "policyVersion": "1.0.0.5",
        "policyName": "Nomadic_ONT",
        "policyScope": "service=HSIAService,type=SampleType,closedLoopControlName=CL-NomadicONT-d925ed73-8231-4d02-9545-db4e101f88f8",
        "target_type": "VM",
        "AAI": {
            "service-information.service-instance-id" : "service-instance-id-example",
            "pnf.ontSN" : "ontSN-example"     //...what ever this is
        },
        "closedLoopAlarmStart": 1484677482204798,
        "closedLoopEventStatus": "ONSET",
        "closedLoopControlName": "ControlLoop-BBS-2179b738-fd36-4843-a71a-a8c24c70c88b",
        "version": "1.0.2",
        "target": "vserver.vserver-name",
        "requestID": "97964e10-686e-4790-8c45-bdfa61df770f",
        "from": "DCAE"
    }
    A&AI Enrichment

    The moving ONT associated (through pnfName) service ID is looked up in A&AI and enriched in the A&AI portion of the above DCAE_CL_OUTPUT Event which trigger the operational policy in the operational policy defined below.  

    New Micro-service

    A new micro-service, ONAP Micro-Service or ONAP SM SDK, that handles RG Online (or activation) notification will be introduced to consume a new type of VES event. This event is converted from RG Activation notification by VES Mapper.

    The characters of this generic micro- service could be the following: 

            - hold a set of REST APIs

            - consume VES events from DMAAP and the consumed event types will be configurable at both the design time and run time

            - publish VES events to DMAAP and the published event types will be configurable at both the design time and run time

            - run A&AI query A&AI  enrichment logic 

    The BBS MS could be built on top of DCAE service SDK ( https://gerrit.onap.org/r/#/admin/projects/dcaegen2/services/sdk - R4).  A MS blueprint could be defined at DCAE-DS and this service can be deployed from CLAMP or can be instantiated as a standalone container as DCAE is deployed.

    Another option of handling RG Activation Registration Event is to have it directly trigger Policy Engine to take further action.

    RG Activation(CPE Authentication) Event 

    This event is converted from the RG Activation notification by VES Mapper.  Upon receiving this event BBS MS will look up for the associated service and mark (calling SO API?) it as activated. 

    Code Block
    languagetext
    firstline1
    titleCPE Authentication Event
    linenumberstrue
    collapsetrue
    {
        "event": {
            "commonEventHeader": {
                "sourceId": "Gateway/sn=83575443FA637D1A", // from 'traget' field
                "startEpochMicrosec": 1413378172000000,
                "eventId": "ab305d54-85b4-a31b-7db2-fb6b977766",
                "sequence": 0,
                "domain": "fault",
                "lastEpochMicrosec": 1413378172000033,
                "eventName": "Fault_CPE_AUTH_Status",
                "sourceName": ""Gateway/sn=83575443FA637D1A", // 'Target' from the restconf notification.
                "priority": "High",
                "version": 3.0,
                "reportingEntityName": "Domain_Contorller"
            },
            "faultFields": {
                "eventSeverity": "CRITICAL",
                "alarmCondition": "Route_Status",
                "faultFieldsVersion": 2.0,
                "specificProblem": "Fault_RG_Status",
                "alarmAdditionalInformation": [
                    {
                    "name": "gatewaySN",                   
                    "value": "83575443FA637D1A"              
                    },
                    {
                    "name": "mac",                   
                    "value": "28-6E-D4-89-34-DD"               
                    },              
                    {
                    "name": "ip",                   
                    "value": "10.68.52.158"              
                    },
                    {
                    "name": "state",
                    "value": "OnLine"
                    },
                    {
                    "name": "ontSN",
                    "value": "48575443FA637D1A"
                    }
                ]
                "eventSourceType": "other",
                "vfStatus": "Active"
            }
        }
    }

    Following is the schema of the CPE_Authentication VES event (WIP).

    FieldTypeRequired?Description

    Version

    number

    Yes

    Version of the event header (currently: 3.0): 3.0

    eventName

    string

    Yes

    rgActivation_vendor_pnfName where pnfName is specified by the vendor and is a PNF type; e.g. rgActivation_Huawei_xxxx

    domain

    string

    Yes

    Event domain enumeration: ‘fault’, ‘heartbeat’, ‘measurementsForVfScaling’, ‘mobileFlow’, ‘other’, ‘sipSignaling’, ‘stateChange’, ‘syslog’, ‘thresholdCrossingAlert’, ‘voiceQuality’, ‘pnfRegistration’

    eventId

    string

    Yes

    Event key that is unique to the event source

    activate_yyyyyyyy where yyyyyyyy is an integer starting at 0 and incremented by 1 for every cpeAuthentication event sent by this ONT/RG.

    The key must be unique within notificaiton life cycle similar to EventID from 3GPP. It could be a sequential number, or a composite key formed from the event fields, such as domain_sequence. The eventId should not include whitespace.

    eventType

    string

    No

    rgActivation

    sourceId

    string

    No

    UUID identifying the entity experiencing the event issue (note: the AT&T internal enrichment process shall ensure that this field is populated) Not used

    sourceName

    string

    Yes

    Name of the entity experiencing the event issue  

    PNF-name (unique PNF correlation ID = pnf-name stored in AAI ; e.g. NOK6061ZW3)

    reportingEntityId

    string

    No

    UUID identifying the entity reporting the event, for example an OAM VM (note: the AT&T internal enrichment process shall ensure that this field is populated) Not used

    reportingEntityName

    string

    Yes

    Name of the entity reporting the event, for example, an EMS name.  May be the same as the sourceName.  For synthetic events generated by DCAE, it is the name of the app generating the event.

    PNF-name (unique PNF correlation ID = pnf-name stored in AAI ; e.g. NOK6061ZW3)

    priority

    string

    Yes

    Processing priority enumeration: ‘High’, ‘Medium’, ‘Normal’, ‘Low’

    Normal

    startEpochMicrosec

    number

    Yes

    the earliest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds

    current time

    lastEpochMicrosec

    number

    Yes

    the latest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds

    current time

    sequence

    integer

    Yes

    Ordering of events communicated by an event source instance (or 0 if not needed)

    0

    internalHeader Fields

    Internal Header Fields

    No

    Fields (not supplied by event sources) that the VES Event Listener service can use to enrich the event if needed for efficient internal processing.  This is an empty object which is intended to be defined separately by each provider implementing the VES Event Listener.

    Empty. Not used

    vesEventListenerVersionstringYesVersion of the VES event listener API Spec that this event is compliant with (As "#" or "#.#" or "#.#.#" where # is a digit.timeZoneOffsetstringNoOffset to GMT to indicate local time zone for device formatted as 'UTC+/-hh.mm'; see https://en.wikipedia.org/wiki/List_of_time_zone_abbreviations for UTC offset examples

    stateChange FieldsVersion

    number

    Yes

    Version of the stateChangeFields block as "#.#", where # is a digit (currently: 1.0). See the VES Event Specification for the correct digits to use.

    serialNumber

    string

    Yes

    TS 32.692 serialNumber = serial number of the unit; e.g. 6061ZW3

    vendorName

    string

    Yes

    TS 32.692 vendorName = name of manufacturer; e.g. Nokia.  Maps to AAI equip-vendor.

    macAddress

    string

    Yes

    MAC address of OAM interface of the unit.

    softwareVersion

    string

    No

    TS 32.692 swName = active SW running on the unit; e.g. 5gDUv18.05.201.

    manufactureDate

    string

    No

    TS 32.692 dateOfManufacture = manufacture date of the unit in ISO 8601 format; 2016-04-23.

    lastServiceDate

    string

    No

    TS 32.692 dateOfLastService = date of last service in ISO 8601 format; e.g. 2017-02-15.

    additionalFields

    hashMap

    No

    Additional registration fields if needed, provided as key-value pairs.

    Policy

    Apex Engine Triggering

    PDP-A Configuration (JSON)

    Code Block
    languagetext
    firstline1
    titleNomadic ONT PDP-A Configuration
    linenumberstrue
    collapsetrue
    Policy Schema

    Logic Artifacts

    Pdp-D Option

    Operational Policy

    Code Block
    languagetext
    firstline1
    titleNomadic ONT Operation Policy
    linenumberstrue
    collapsetrue
    ontrolLoop:
      version: 2.0.0
      controlLoopName: ControlLoop-BBS-2179b738-fd36-4843-a71a-a8c24c70c88b
      trigger_policy: unique-policy-id-16-ServiceModify
      timeout: 3600
      abatement: false
       
    policies:
      - id: unique-policy-id-16-ServiceModify
        name: Connectivity Reroute
        description:
        actor: SO
        recipe: serviceModification
        target:
          type: VM
        retry: 3
        timeout: 1200
        success: final_success
        failure: final_failure
        failure_timeout: final_failure_timeout
        failure_retries: final_failure_retries
        failure_exception: final_failure_exception
        failure_guard: final_failure_guard

    SO Recipe

    Design Time

    DCAE-DS

    Micro-service Blueprints

    Code Block
    languagetext
    firstline1
    titleMS Blueprints
    linenumberstrue
    collapsetrue

    CLAMP

    Control Loop (Micro-service) Orchestration

    There are basically 2 ways of CL creation and micro-service orchestration in BBS Nomadic ONT scenario.

    1.  Restconf collector + VES Mapper + PRH + Policy Engine
    2. VES Collector + PRH + Policy Engine

    Notes:

    Interestingly,  this is the first case where DCAE/Policy seem playing roles together in a non-closed/loop or service assurance in sense of usage/solution in ONAP domain,  However,  this does not really matter in the sense of micro services since service is a service as long as it provides the functionality that meets the requirements in a solution, An argument could be that Policy engine does not have to be introduced in this case, However, the important functionality for policy engine is to decouple action takers from the trigger pullers and ultimately establish robust policy driving on this platform w/o code change.         
    }
        }
    }'

    The CPE Authentication VES event is defined as follows:

    Note: Using VES v7.1

    FieldTypeRequired?Description

    Version

    number

    Yes

    Version of the event header. See the VES Event Specification for the correct digits to use.

    eventName

    string

    Yes

    The Event name that uniquely identifies the CPE Authentication event across vendor implementations.

    StateChange_cpe_authentication

    domain

    string

    Yes

    stateChange

    eventId

    string

    Yes

    Event key that is unique to the event source

    cpe_authentication_yyyyyyyy where yyyyyyyy is an integer starting at 0 and incremented by 1 for every CPE Authentication event sent by this CPE.

    The key must be unique within notification life cycle similar to EventID from 3GPP. It could be a sequential number, or a composite key formed from the event fields, such as domain_sequence. The eventId should not include whitespace.

    eventType

    string

    No

    applicationNf

    sourceId

    string

    No

    UUID identifying the entity experiencing the event issue (note: the AT&T internal enrichment process shall ensure that this field is populated) Not used

    sourceName

    string

    Yes

    Name of the entity experiencing the event issue  

    From DHCP option 60 we get <Service-Provider-ID>,<Service-ID>,<Device-ID>,<Vendor Name>,<MAC OUI>,<Model>,<running firmware version>,<Serial number>

    <PNF-name/PNF correlation ID>: Format string: <MAC OUI>_<Model>_<SerialNumber>, e.g. AB-CD-12_ABC1-01-02_2.6G1724F0417413

    reportingEntityId

    string

    No

    UUID identifying the entity reporting the event, for example an OAM VM (note: the AT&T internal enrichment process shall ensure that this field is populated) Not used

    reportingEntityName

    string

    Yes

    Name of the entity reporting the event, for example, an EMS name.  May be the same as the sourceName.  For synthetic events generated by DCAE, it is the name of the app generating the event.

    <thirdparty-sdnc-id> from esr request

    priority

    string

    Yes

    Processing priority enumeration: ‘High’, ‘Medium’, ‘Normal’, ‘Low’

    Normal

    startEpochMicrosec

    number

    Yes

    the earliest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds

    current time

    lastEpochMicrosec

    number

    Yes

    the latest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds

    current time

    sequence

    integer

    Yes

    Ordering of events communicated by an event source instance (or 0 if not needed)

    0

    internalHeader Fields

    Internal Header Fields

    No

    Fields (not supplied by event sources) that the VES Event Listener service can use to enrich the event if needed for efficient internal processing.  This is an empty object which is intended to be defined separately by each provider implementing the VES Event Listener.

    Empty. Not used

    vesEventListenerVersionstringYesVersion of the VES event listener API Spec that this event is compliant with (As "#" or "#.#" or "#.#.#" where # is a digit.
    timeZoneOffsetstringNoOffset to GMT to indicate local time zone for device formatted as 'UTC+/-hh.mm'; see https://en.wikipedia.org/wiki/List_of_time_zone_abbreviations for UTC offset examples

    stateChange FieldsVersion

    number

    Yes

    Version of the stateChangeFields block as "#.#", where # is a digit (currently: 1.0). See the VES Event Specification for the correct digits to use.

    newState

    string

    Yes

    New state of the entity: ‘inService’, ‘maintenance’, ‘outOfService’

    (Authenticated = inService, Unauthenticated = outOfService)

    oldState

    string

    Yes

    Previous state of the entity: ‘inService’, ‘maintenance’, ‘outOfService’

    (Authenticated = inService, Unauthenticated = outOfService)

    stateInterface

    string

    Yes

    Card or port name of the entity that changed state

    Empty. Not used

    additionalFieldshashMapNo

    Additional syslog fields: {“name1”: ”value1”, name2”: ”value2}

    macAddress (MAC Address of the RG for the PNF)

    swVersion (Sw version from the DHCP option 60) (Optional)


    BBS MS Triggering Apex Policy

     Image Added

    DCAE_CL_OUTPUT Event

    Code Block
    languagejs
    themeMidnight
    firstline1
    titleCPE Authentication Event
    linenumberstrue
    {
    "closedLoopEventClient":"DCAE.BBS_event_processor_mSInstance",
    "policyVersion":"1.0.0.5",
    "policyName":"CPE_Authentication",
    "policyScope":"policyScopeCpeAuth",
    "target_type":"VM",
    "AAI":{
    	"cpe.old-authentication-state":"outOfService",
    	"cpe.new-authentication-state":"inService",
    	"cpe.swVersion":"1.2.3",
    	"service-information.hsia-cfs-service-instance-id":"7c0eceab-7c0b-45a0-b2d3-b8612b9a191a"
    },
    "closedLoopAlarmStart":1554994913,
    "closedLoopEventStatus":"ONSET",
    "closedLoopControlName":"clControlNameCpeAuth",
    "version":"1.0.2",
    "target":"vserver.vserver-name",
    "requestID":"41033616-72b2-4798-9c33-2bb1fd3c0b9f",
    "from":"DCAE-BBS-ep"
    }
    


    Apex Configuration

    CPE Authentication Policy

    A&AI APIs