Message Flow

Diagram

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
' Copyright 2020 highstreet technologies GmbH
' Licensed under the Apache License, Version 2.0 (the "License"); 
' you may not use this file except in compliance with the License. 
' You may obtain a copy of the License at 
' 
' http://www.apache.org/licenses/LICENSE-2.0 
' 
' Unless required by applicable law or agreed to in writing, software 
' distributed under the License is distributed on an "AS IS" BASIS, 
' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
' See the License for the specific language governing permissions and 
' limitations under the License. 
'

@startuml

' Diagram 
title 
  O-RAN Configuration Management
end title

box “Radio Access Network” #lightpink
  participant "O-RAN Component" as xnf
end box

box "SMO-O1-Controller \n(e.g. ONAP SDN-R)" #gold
  participant "NetConf Client" as ncc
  participant "Abstration Layer" as mdsal
  participant "RestConf Server" as rcs
end box

box "User space" #lightblue
  actor "SMO µService, rApp \n or OLDUX in browser" as user
end box

autonumber 1 1 "<b>[00]"

user -> rcs: REST PUT or POST request for xNF
rcs -> mdsal: verification
mdsal -> ncc: forwarding as XML
ncc -> xnf: <edit-config>
xnf -> ncc: <rpc-reply>
ncc -> mdsal: verification
mdsal -> rcs: forwarding as XML or JSON based on HTTP Accept
rcs -> user: HTTP RESPONSE

' End Diagram
' Format
header
  <b><font color=#8888ff>License</font></b>
  <b><font color=#8888ff>Apache 2.0</font></b>
end header

right footer 
  Thanks to plantUml! 
  2020-12-03 | o-ran-sc.org
end footer

skinparam backgroundColor #fefefe

skinparam backgroundColor #fefefe
'skinparam handwritten true
skinparam roundcorner 15

skinparam databaseBorderColor #444444
skinparam databaseBackgroundColor #fefefe
skinparam databaseFontColor #444444

skinparam sequence {
  MessageAlign left
  ArrowColor #2277dd
  ArrowFontColor #444444
  ArrowThickness 2
  ActorBorderColor #444444
  LifeLineBorderColor #444444
  LifeLineBackgroundColor #eeeeee
  LifeLineBackgroundColor #eeeeee
 
  BoxBorderColor #444444
    
  GroupBorderColor #444444
  GroupBackgroundColor #eeeeee
  
  ParticipantBorderColor #444444
  ParticipantBackgroundColor #ffffdd
  ParticipantFontColor #444444
    
  ActorBackgroundColor #ffffdd
  'ActorFontColor DeepSkyBlue
  'ActorFontSize 17
  'ActorFontName Aapex
}

@enduml



Description

  1. Any user (e.g humans, rApps, µServices) sends a set of configuration requests (here: just one) to the O1-Controller/Restconf-Provider/HTTP-Client.
  2. The request will be parsed, validated and in case of a json-body converted to xml.
  3. Finally the fowared conent ...
  4.  is send by the NetConf-Client of the O1-Controller as <edit-config/> operation to the O-RAN component.
  5. The NetConf server of the O-RAN component sends as response a NetConf <rpc-replay/> message the the O1-Controller
  6. The response will be parsed and validated...
  7. and based on the HTTP Accept header conterted to JSON or XML ...
  8. ... for sending a proper HTTP response