@startuml
Autonumber
Skinparam sequenceArrowThickness 2
Skinparam sequenceArrowColor Black
skinparam ParticipantPadding 5
skinparam BoxPadding 10
skinparam roundcorner 15

Box “User Space” #lightblue
   Actor FT as “Tester”
   Actor OTF as “OTF” <<INT>>
End box

Box "SMO/Non-RT RIC Framework" #gold
   participant MR as "Message-Router" <<OAM>>
   participant VES as "VES-Collector" <<SMO>>
   participant OAM as "OAM-Controller" <<OAM>>
   Participant rAPP as “Link Monitor” <<NonrtRIC>>
   Participant DHCP as “DHCP” <<SMO>>
   Participant CA as “CA” <<INT>>
end box

Box “O-CU” #lightpink
   Participant OCUCP as “O-CU-CP” 
end box

Box “O-DU” #lightpink
   Participant ODUH as “O-DU-High” 
   Participant ODUL as “O-DU-Low” 
end box

Box “O-RU” #lightpink
   Participant ORU as “O-RU” 
end box

=== ORU Initialization ==

activate ORU
ORU -> DHCP : Request IP Assigments
DHCP --> ORU : IP Assignments, Netconf Client, CA Server
ORU -> CA : Get Certificate
CA --> ORU : Client Certificate
ORU -> OAM: <<FHMP>> TCP Call Home
note left of ORU
The NETCONF Server/O-RU initates a TCP connection 
to the NETCONF client
end note

OAM->ORU: <<FHMP>> SSH
note right of OAM
Using the TCP Connection,the NETCONF client initiates
an SSH session to the NETCONF Server/O-RU
end note

OAM->ORU: <<FHMP>> NETCONF Hello/Capabilities
note left of ORU
Using the SSH connection,the NETCONF client initiates
a NETCONF session to the NETCONF Server/O-RU
end note

ORU-->OAM: NETCONF Hello/Capabilities
OAM -> VES : <<O1>> PNP Event for O-RU
Return
VES -> MR : Publish PNP Event
OTF –[#red]> MR : Get Event (PNP)
OAM –> MR : Get Event (PNP)
MR -[#red]-> OTF : PNP Notify Event
MR --> OAM : PNP Notify Event
Note over OAM : Element is already mounted; do nothing.
OTF -[#red]> OAM : ORU Config
OAM -> ORU : <<FHMP>> edit-config (initConfig)
ORU -> ODUL : <<FHCUS>> Request Connection


@enduml