Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

#UsecaseNCMP DatastorePath?fields?topicQueryTime frame
1Readpassthrough-runningRESTConf Path onlyImplemented by SDNC/NodeImplemented by DMI PluginNot supportedIstanbul
2Readncmp-datastores:operational CPSPath onlyTBDTBDLimited xpath functionalityIstanbul
3Createpassthrough-runningRESTConf Path onlyN/AN/AN/AIstanbul
4Createncmp-datastores:runningCPSPath onlyN/AN/AN/A> Istanbul
5Deletepassthrough-runningRESTConf Path onlyN/AN/ANot supportedIstanbul
6Deletencmp-datastores:runningCPSPath onlyN/AN/ANot supported> Istanbul
7Updatepassthrough-runningRESTConf Path onlyN/AN/AN/AIstanbul
8Updatencmp-datastores:runningCPSPath onlyN/AN/AN/A> Istanbul
9Patchespassthrough-runningRESTConf Path onlyN/AN/AN/AIstanbul
10Patchesncmp-datastores:runningCPSPath onlyN/AN/AN/A> Istanbul
11Bulk passthrough-runningRESTConf Path onlyN/AN/AN/A> Istanbul
12Bulkncmp-datastores:runningCPSPath onlyN/AN/AN/A> Istanbul
13Actionpassthrough-runningRESTConf Path onlyN/AN/AN/AIstanbul?
14Actionncmp-datastores:runningCPSPath onlyN/AN/AN/AIstanbul?

REST API

 

#Req/usecase

REST

Method

 URI / Payload

Header Parameters

Request/Response ExampleStatus
1Read a data resource directly from
source (passthrough) for a cmHandle - async
GET

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds
/ncmp-datastores:passthrough-running/{dataresource-identifier}?fields={fields}&topic=
{topicId}


Note 'topic' and 'fields' are only supported in
passthrough mode at this time (ONAP Release
I). If not passthrough then an exception is thrown
from NCMP at this time.

Accept:
application/json
Scenario : Read the GNBCUCPFunction for cmhandle "335ff" as
passthrough
Method : GET
URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores:
passthrough-running//GNBCUCPFunction?fields=pLMNId;gNBId;
gNBIdLength;syncStatus&topic=anr-app:anr24234234:v2
Header :
Accept: application/json

passthrough

Method  : GET

URI         : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores:
passthrough-running//GNBCUCPFunction?fields=pLMNId;gNBId;
gNBIdLength;syncStatus&topic=anr-app:anr24234234:v2

Header :
      Accept: application/json

Event Response:

{

     [
           {
                 "xpath": "/ManagedElement[@id=Kista-001]/GNBCUCPFunction
[@id=1]",
                  "leaves": {
                           "pLMNId : [ { "mcc" : "01", "mnc" : "123" } ],
                           "gNBId" : 123,
                           "gNBIdLength" : 3
                           "syncStatus" : "SYNCHRONIZED"

           }
     ]
}


2Read a data resource directly from
source (passthrough) for a
cmHandle. Only return specific field(s).
Synchronous call
GET

{ncmp-root}/ncmp/v1/cm-handle//ds /ncmp-datastores:passthrough-running/{dataresource-identifier}?fields={fields}

Accept:
application/json

Scenario : Read the EUtranCellFDD.(administrativeState, 
operationalState, tac, earfcndl, cellId, physicalLayerCellId) for cmhandle 
"335ff" as passthrough

Method  : GET

URI         : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores:
passthrough-running//EUtranCellFDD?fields=administrativeState;
operationalState;tac;earfcndl;cellId;physicalLayerCellId

Header :
      Accept: application/json

Response:

HTTP/1.1 200 OK 
Date: Thu, 26 Apr 2021 20:56:30 GMT 
Server: example-server 
Content-Type: application/json

{

     [
           {
                 "xpath": "/ManagedElement[@id="Kista-001"]/ENodeBFunction
[@id="1"]/EUtranCellFDD[@id="LTE05ERBS00008-2"],
                  "leaves": {
                           "administrativeState" : "UNLOCKED",
                           "cellId" : 2,
                           "earfcndl" : "4".
                           "operationalState" : "ENABLED",
                           "physicalLayerCellId" : 0,
                           "tac" : "1"
           },
           {
                 "xpath": "/ManagedElement[@id="Kista-001"]/ENodeBFunction
[@id="1"]/EUtranCellFDD[@id="LTE05ERBS00008-3"],
                  "leaves": {
                           "administrativeState" : "UNLOCKED",
                           "cellId" : 3,
                           "earfcndl" : 4.
                           "operationalState" : "ENABLED",
                           "physicalLayerCellId" : 3,
                           "tac" : "3"
           },
           {
                 "xpath": "/ManagedElement[@id="Kista-001"]/ENodeBFunction
[@id="1"]/EUtranCellFDD[@id="LTE05ERBS00008-4"],
                  "leaves": {
                           "administrativeState" : "UNLOCKED",
                           "cellId" : 4,
                           "earfcndl" : 4.
                           "operationalState" : "ENABLED",
                           "physicalLayerCellId" : 4,
                           "tac" : "4"
           }
     ]
}


3

ALTERNATIVE OUTPUT TO ABOVE 
SCENARIO

Read a  data resource directly from 
source (passthrough) for a 
cmHandle.  Only return specific field(s).

Synchronous call

GET{ncmp-root}/ncmp/v1/cm-handle//ds /ncmp-datastores:passthrough-running/{dataresource-identifier}?fields={fields}Accept:
application/json

Scenario : Read the EUtranCellFDD.(administrativeState, 
operationalState, tac, earfcndl, cellId, physicalLayerCellId) for cmhandle 
"335ff" as passthrough

Method  : GET

URI         : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores:
passthrough-running//EUtranCellFDD?fields=administrativeState;
operationalState;tac;earfcndl;cellId;physicalLayerCellId

Header :
      Accept: application/json

Response:

HTTP/1.1 200 OK 
Date: Thu, 26 Apr 2021 20:56:30 GMT 
Server: example-server 
Content-Type: application/json

{

     [
         {
             "ManagedElement[@id="Kista-001"] : [
                  "ENodeBFunction[@id="1"] : [
                       "EUtranCellFDD[@id="LTE05ERBS00008-2"] : {
                           "administrativeState" : "UNLOCKED",
                           "cellId" : 2,
                           "earfcndl" : "4".
                           "operationalState" : "ENABLED",
                           "physicalLayerCellId" : 0,
                           "tac" : "1"
                         }
                    ]
               ]
           { 

 OR

                 "/ManagedElement[@id="Kista-001"]/ENodeBFunction[@id="1"]
/EUtranCellFDD[@id="LTE05ERBS00008-3"],
                  {
                           "administrativeState" : "UNLOCKED",
                           "cellId" : 3,
                           "earfcndl" : 4.
                           "operationalState" : "ENABLED",
                           "physicalLayerCellId" : 3,
                           "tac" : "3"
           },
           {  


OR

                 "xpath": "/ManagedElement[@id="Kista-001"]/ENodeBFunction
[@id="1"]/EUtranCellFDD[@id="LTE05ERBS00008-4"],
                  "leaves": {
                           "administrativeState" : "UNLOCKED",
                           "cellId" : 4,
                           "earfcndl" : 4.
                           "operationalState" : "ENABLED",
                           "physicalLayerCellId" : 4,
                           "tac" : "4"
           }
     ]
}

Under
Review
Talk to
Niamh and
Toine on the
different
options
4

Read a  data resource with some leaf value condition directly from source (passthrough) for a cmHandle.  Only 
return specific field(s).

Synchronous call

GET{ncmp-root}/ncmp/v1/cm-handle//ds /ncmp-datastores:passthrough-running/{dataresource-identifier[]}?fields={fields} &topic={topicId}ContentType:
application
/json

Scenario : Read the LocalSctpEndpoint.(interfaceUsed==X2, 
sctpEndpointRef) for cmhandle "335ff" as passthrough

Method  : GET

URI         : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores:
passthrough-running//LocalSctpEndpoint[ interfaceUsed=X2 ]?
fields=sctpEndpointRef

Header :
      Accept: application/json

Response:

HTTP/1.1 200 OK 
Date: Thu, 26 Apr 2021 20:56:30 GMT 
Server: example-server 
Content-Type: application/json

{

     [
           {
                 "xpath": "/ManagedElement[@id=Kista-001]/...
/LocalSctpEndpoint[@id=3]",
                  "leaves": {
                           "sctpEndpointRef" : "some-sctp-ref"

           }
     ]
}

Under
Review
5Create a data resource for a cmhandlePOST

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds
/ncmp-datastores:passthrough-running/{parent-
data-resource-identifier}



     <new-yang-data-resource>
}    

OR with datastores defaults

{ncmp-root}/ncmp/v1/cm-handle/<cmhande>/
{parent-data-resource-identifier}



     <new-yang-data-resource>

ContentType:
application
/json

Scenario : Create ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier=4 
under _3gpp-common-managed-element:ManagedElement=Kista-001
/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1

Method  : POST 

URI         : : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/ManagedElement
[@id=Kista-001]/GNBDUFunction[@id=1]

Header :
      Content-Type: application/json

Body :

{
       NRSectorCarrier" : {
                "id" : 4
                "attributes" : {
                        "userLabel : "nrSectorCar-4",
                        "txDirection" :  "DL_AND_UL",
                        "configuredMaxTxPower" : "90",
                         "arfcnDL" : "9999999",
                          "arfcnUL" : "888888",
                          "bSChannelBwDL" : "90",
                          "bSChannelBwUL" : "80",
                          "sectorEquipmentFunctionRef" : "_3gpp-common-
managed-
                                                                                   element:
ManagedElement=1/.../sef:SectorEquipmentFunction=2"
               }
         }
}


6

Update a data resource for a cmhandle

PATCH

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds
/ncmp-datastores:passthrough-running/{parent-
data-resource-identifier}


     <updated-yang-data-resource>
}    

OR with datastores defaults

{ncmp-root}/ncmp/v1/cm-handle/<cmhande>/
{parent-data-resource-identifier}


     <updated-yang-data-resource>

ContentType:
application
/json

Scenario : Update ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier=4 
txDirection to  "DL_AND_UL" under _3gpp-common-managed-element:
ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:
GNBDUFunction=1

Method  : PATCH

URI        : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/ManagedElement
[@id=Kista-001]/GNBDUFunction[@id=1]/NRSectorCarrier[@id=4]
OR
{ncmp-root}/ncmp/v1/cm-handle/34l5k32//NRSectorCarrier[@id=4] //
should resolve to a single resource/node

Header :
      Content-Type: application/json

Body :

{
       NRSectorCarrier" : {
                "id" : 4
                "attributes" : {
                        "txDirection" :  "DL_AND_UL"
               }
         }
}


7

Delete a data resource for a cmhandle

DELETE

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds
/ncmp-datastores:passthrough-running/{data-
resource-identifier}

OR with datastores defaults

{ncmp-root}/ncmp/v1/cm-handle/<cmhande>/
{data-resource-identifier}

ContentType:
application
/json
Scenario : Create ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier=4
under _3gpp-common-managed-element:ManagedElement=Kista-001
/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1
Method : DELETE
URI : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/ManagedElement
[@id=Kista-001]/GNBDUFunction[@id=1]/NRSectorCarrier[@id=4]
OR
{ncmp-root}/ncmp/v1/cm-handle/34l5k32//NRSectorCarrier[@id=4]
Header :
Accept: application/json
Body : {}

8

Get model (module set) for CMHandle

GET

{ncmp-root}/ncmp/v1/model/<handleId>

Accept: 
application/
yang-
data+json

Scenario : Get the model data for CMHandle  with id "335ff"

Method  : GET

URI         : {ncmp-root}/ncmp/v1/model/335ff

Header :
      Accept: application/yang-data+json

Response:

{

   "ietf-yang-library:modules-state" : {
          "module-set-id" : 
"5479120c17a619545ea6aff7aa19838b036ebbd7",
          "module" : [
            {
              "name" : "_3gpp-nr-nrm-nrsectorcarrier",
              "revision" : "2020-12-09",
              "schema" : "/modules/_3gpp-nr-nrm-
nrsectorcarrier/2020-12-09",
              "namespace" : "urn:3gpp:sa5:_3gpp-nr-nrm-
nrnetwork-nrsectorcarrier",
              "feature" : [ "feature1", "feature2" ],
              "deviation" : [
                {
                  "name" : "_3gpp-nr-nrm-
nrsectorcarrier",
                  "revision" : "2020-12-17"
                }
              ],
              "conformance-type" : "implement"
            },
            {
              "name" : "ietf-yang-library",
              "revision" : "2016-06-21",
              "schema" : "/modules/ietf-yang-library
/2016-06-21",
              "namespace" :
                "urn:ietf:params:xml:ns:yang:ietf-yang-
library",
              "conformance-type" : "implement"
            }
     }
  }
}


9

Create a data resource for a cmhandle

POST

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds
/ncmp-datastores:passthrough-running/{parent-
data-resource-identifier}


     <new-yang-data-resource>
}    


OR with datastores defaults

{ncmp-root}/ncmp/v1/cm-handle/<cmhande>/
{parent-data-resource-identifier}


     <new-yang-data-resource>

Content-
Type: 
application
/yang-
data+json

Scenario : Create ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier=4 
under _3gpp-common-managed-element:ManagedElement=Kista-001
/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1

Method  : POST 

URI         : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/_3gpp-commonmanaged-element:ManagedElement=Kista-001/_3gpp-nr-nrmgnbdufunction:GNBDUFunction=1

Header :
      Content-Type: application/yang-data+json

Body :

{
       "ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier"  {
                "top3gpp:id" : 4
                "attributes" : {
                        "mf3gpp:userLabel : "nrSectorCar-4",
                        "txDirection" :  "DL_AND_UL",
                        "configuredMaxTxPower" : "90",
                         "arfcnDL" : "9999999",
                          "arfcnUL" : "888888",
                          "bSChannelBwDL" : "90",
                          "bSChannelBwUL" : "80",
                          "sectorEquipmentFunctionRef" : "_3gpp-common-
managed-element:ManagedElement=1/.../sef:SectorEquipmentFunction=2"
               }
         }
}


10

Delete a data resource for a cmHandle

DELETE

{ncmp-root}/ncmp/v1/<handleId>/ds/ncmp-
datastores:passthrough-running/{data-resource-
identifier}

OR with datastores defaults

{ncmp-root}/ncmp/v1/cm-handle/<cmhande>/
{parent-data-resource-identifier}

Content-Type: 
application/yang-
data+json

Scenario : Delete NRSectorCarrier=4

Method  : DELETE

URI         : {adapter-root}/ncmp/v1/cm-handle/34l5k32/_3gpp-commonmanaged-element:ManagedElement=Kista-001/_3gpp-nr-nrmgnbdufunction:GNBDUFunction=1/_3gpp-nr-nrm-nrsectorcarrier:
NRSectorCarrier=4


11

Update a data resource for a cmHandle

PATCH

{ncmp-root}/ncmp/v1/data/<handleId>/ds/ncmp-
datastores:passthrough-running/{data-resource-
identifier}
{  
     <yang-data-sub-resource>
}

OR with datastores defaults

{ncmp-root}/ncmp/v1/cmhandle/<cmhandle>/
{parent-data-resource-identifier}
{  
     <yang-data-sub-resource>
}    

Content-Type: 
application/yang-
data+json

Scenario : Add NRSectorCarrier=4 to GNBDUFunction=1 if it doesn't
already exist


Method : PATCH

URI : {ncmp-root}/ncmp/v1/cm-handle/d32455f/_3gpp-commonmanaged-element:ManagedElement=Kista-001/_3gpp-nr-nrmgnbdufunction:GNBDUFunction=1

Header
            Content-Type: application/yang-data+json

Body

{

         _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 : {
             "id" : 1,
             "_3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier"  {
                "top3gpp:id" : 4
                "attributes" : {
                        "mf3gpp:userLabel : "nrSectorCar-4",
                        "txDirection" :  "DL_AND_UL",
                        "configuredMaxTxPower" : "90",
                         "arfcnDL" : "9999999",
                          "arfcnUL" : "888888",
                          "bSChannelBwDL" : "90",
                          "bSChannelBwUL" : "80",
                          "sectorEquipmentFunctionRef" : "_3gpp-common-
managed-element:ManagedElement=1/.../  
                                                                                                                        
                     sef:SectorEquipmentFunction=2"
                }
             }
         }
     }
}


12

Multiple edits under a target data 
resource for a single cmHandle

PATCH

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds
/ncmp-datastores:passthrough-running/{data-
resource-identifier}
{
     yang-patch payload
}

OR using datastores defaults

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/
{data-resource-identifier}
{
     yang-patch payload
}

Content-Type: 
application/yang-
patch+json

Scenario : Make multiple updates under the GNBDUFunction=1 data 
resource

Method  : PATCH

URI         : {ncmp-root}/ncmp/v1/cm-handle/32rf234/_3gpp-common-
managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-
gnbdufunction:GNBDUFunction[id=1]

Header :
      Content-Type: application/yang-patch+json

Body :

{

    "ietf-restconf:yang-patch" : {
          "patch-id" : "change-cell-and-carriers",
          "edit" : [
               {
                  "edit-id" : 1,
                  "operation" : "create",
                   "target" : "/_3gpp-nr-nrm-nrcelldu:NRCellDU=1",
                   "value" : {
                        "_3gpp-nr-nrm-nrcelldu:NRCellDU" : {
                              "id" : 1,
                              "cId" : 511,
                               "userLabel" : "some-cell-label",
                                ...
                          }
                      }
              },
              {
                  "edit-id" : 2,
                  "operation" : "create",
                   "target" : "/_3gpp-nr-nrm-nrcelldu:NRCellDU=2",
                   "value" : {
                        "_3gpp-nr-nrm-nrcelldu:NRCellDU" : {
                              "id" : 2,
                              "cId" : 512,
                               "userLabel" : "some-other-cell-label",
                                ...
                          }
                      }
              },
              {
                  "edit-id" : 3,
                  "operation" : "merge",
                   "target" : "/_3gpp-nr-nrm-nrcelldu:NRCellDU=3",
                   "value" : {
                        "_3gpp-nr-nrm-nrcelldu:NRCellDU" : {                    
                              "cId" : 412,
                               "userLabel" : "yet-another-cell-label",
                                ...
                          }
                      }
              },
              {
                  "edit-id" : 4,
                  "operation" : "merge",
                   "target" : "_3gpp-nr-nrm-nrcelldu:NRCellDU=4",
                   "value" : {
                        "_3gpp-nr-nrm-nrcelldu:NRCellDU" : {
                              "cId" : 412,
                               "userLabel" : "yet-another-cell-label",
                                ...
                          }
                      }
              }
           ] 
      } 
}

Response :

      HTTP/1.1 200 OK
      Date: Thu, 26 Jan 2017 20:56:30 GMT
      Server: example-server
      Last-Modified: Thu, 26 Jan 2017 20:56:30 GMT
      Content-Type: application/yang-patch+json


          {
            "ietf-yang-patch:yang-patch-status" : {
                "patch-id" : "change-cell-and-carriers",
                "ok" : [null]
             }
          }
      


13

Execute a yang action

POST

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds
/ncmp-datastores:passthrough-running/{data-
resource-identifier}/{action}
{
    input: {
                  "param1Name" : "param1Value”,
                  "param2Name" : "param2Value”
             }
}

Note : If the "action" statement 
has no 
"input" section, the  request 
message MUST 
NOT include a message-body

OR using datastores defaults

{ncmp-root}/ncmp/v1/cm-handle
/<cmhandle>/data/{data-resource-
identifier}
/{action}

{
    input: {

                  "param1Name" : 
"param1Value”,
                  "param2Name" : 
"param2Value”

             }
}

Content-Type: 
application/yang-
data+json

Method  : POST 

URI         : {ncmp-root}/ncmp/v1/cm-handle/3445fff/_3gpp-common-
managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-
gnbdufunction:GNBDUFunction=1/resetPort  (dummy non-existent action)

Header :
      Content-Type: application/yang-data+json

Body :
{
     "input" : {
           "param1Name" : "param1Value”,
           "param2Name" : "param2Value”
    }
}


14

Execute an rpc operation

POST

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>
/operations/ds/ncmp-datastores :passthrough-
running/{module-name}:{action}

{  
    input: {
                  "param1Name" : "param1Value”,
                  "param2Name" : "param2Value”
             }
}

Note : If there is no "input" 
section, 
the  request MUST NOT include a 
message-body

OR using datastores defaults

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>
/operations/{module-name}:{action}

{  
    input: {
                  "param1Name" : "param1Value”,
                  "param2Name" : "param2Value”
             }
}

Content-Type: 
application/yang-
data+json

Method  : POST 

URI         : {ncmp-root}/ncmp/v1/cm-handle/3445fff/operations/_3gpp-
common-managed-element:resetDevice  (dummy action)

Header :
      Content-Type: application/yang-data+json

Body :
{
     "input" : {
           "param1Name" : "param1Value”,
           "param2Name" : "param2Value”
    }
}


15

Read a filtered set of data under a  data 
resource for a cmHandle

GET

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds
/ncmp-datastores:passthrough-running/{data-
resource-identifier}?fields={fields-expression}

options 


OptionDescription
fieldsRequest a subset of the target 
resource contents


OR using datastores defaults

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>
/data/{data-resource-identifier}?fields={fields-
expression}

Accept: 
application
/yang-data
+json

Scenario : Read GNBDUFunction=1.userLabel and NRSectorCarrier with 
its attributes txDirection & arfcnUL

Method  : GET

URI         : {ncmp-root}/ncmp/v1/cm-handle/3fsdfr3/_3gpp-common-
managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-
gnbdufunction:GNBDUFunction=1?fields=userLabel;(_3gpp-nr-nrm-
nrsectorcarrier:NRSectorCarrier(txDirection;arfcnUL)

{ncmp-root}/ncmp/v1/cm-handle/3fsdfr3/ManagedElement=Kista-001
//NRSectorCarrier

Header :
        Accept : application/yang-data+json

Body:

Response :

      HTTP/1.1 200 OK
      Date: Thu, 26 Jan 2017 20:56:30 GMT
      Server: example-server
      Content-Type: application/yang-data+json

       _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 {

                   "userLabel" : "myGnodeBFunction-1",

                                       _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=1 {
                                           attributes {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "55555"
                                           }
                                        },  
                                       _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=2 {
                                           attributes {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "66666"
                                           }
                                        },  

                                       _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=3{
                                           attributes {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "77777"
                                        },  

                                       _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=4 {
                                           attributes {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "88888"
                                           }
                                        }

                             }

}


16

Read descendant data resources with 
specified fields under a  given data 
resource for a given cmHandle

GET

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds
/ncmp-datastores:passthrough-running/{data-
resource-identifier}?fields={fields-expression}

options 


OptionDescription
fieldsRequest a subset of the target
resource contents


OR using datastores defaults

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/
{data-resource-identifier}?fields={fields-
expression}

Accept: 
application
/yang-data+
json

Scenario : Read all NRCellDU MOs with attributes userLabel and id under 
the _3gpp-nr-nrm-gnbdufunction:GNBDUFunction MO

Method  : GET

URI         : {ncmp-root}/ncmp/v1/cmhandle/3445fff/_3gpp-common-
managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-
gnbdufunction:GNBDUFunction=1?fields=_3gpp-nr-nrm-nrcelldu:NRCellDU
/attributes(administrativeState;operationalState)

Header :
      Accept : application/yang-data+json

Response :

      HTTP/1.1 200 OK
      Date: Thu, 26 Jan 2017 20:56:30 GMT
      Server: example-server
      Content-Type: application/yang-data+json

      {
       _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 {

                                       _3gpp-nr-nrm-nrcelldu:NRCellDU=1 {
                                           "top3gpp:id" : "NR-Cell-001"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                           }
                                        },
                                        _3gpp-nr-nrm-nrcelldu:NRCellDU=2 {
                                           "top3gpp:id" : "NR-Cell-002"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                           }
                                        },  
                                         _3gpp-nr-nrm-nrcelldu:NRCellDU=3 {
                                           "top3gpp:id" : "NR-Cell-003"
                                            "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                           }
                                        },  

                                        _3gpp-nr-nrm-nrcelldu:NRCellDU=4 {
                                           "top3gpp:id" : "NR-Cell-004"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                           }
                                        },  

                                        _3gpp-nr-nrm-nrcelldu:NRCellDU=5 {
                                           "top3gpp:id" : "NR-Cell-005"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                           }
                                        }
                              }
                    }


17

Read data resources to a given depth 
for a given cmHandle

POST

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds
/ncmp-datastores:passthrough-running/{data-
resource-identifier}?depth={level}


OptionDescription
depthRequest limited sub-tree depth
in the reply content
If '1' then only immediate data
resource is retrieved
If 'x' then x levels of data tree
are retrieved
'unbounded' will get the full tree
starting at the given dataresource-identifier


OR using datastores defaults

{ncmp-root}/ncmp/v1/data/<cmhandle>/{data-
resource-identifier}?depth={level}

Accept: 
application
/yang-
data+json

Method  : POST

URI         : {ncmp-root}/ncmp/v1/cm-handle/3445fff/_3gpp-common-
managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-
gnbdufunction:GNBDUFunction=1?depth=4

Header :
      Content-Type: application/yang-data+json
      Accept : application/yang-data+json

Body:

Response :

      HTTP/1.1 200 OK
      Date: Thu, 26 Jan 2017 20:56:30 GMT
      Server: example-server
      Content-Type: application/yang-data+json
 
      {
         _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 {  
# level 1

                                       _3gpp-nr-nrm-nrsectorcarrier:
NRSectorCarrier=1 {     # level 2
                                           "top3gpp:id" : "NRSectorCarrier-1",  # level 3
                                           "attributes" : {                                    # level 3
                                                  "txDirection" : "DL_AND_UL",     # level 4
                                                  "arfcnUL" : "55555",                    # level 4
                                                   ...
                                           }
                                        },  
                                       _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=2 {
                                           "top3gpp:id" : "NRSectorCarrier-2",
                                           "attributes" : {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "66666".
                                                   ...
                                           }
                                        },  

                                       _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=3{
                                           "top3gpp:id" : "NRSectorCarrier-3",
                                           "attributes" : {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "77777".
                                                   ...
                                           }
                                        },  

                                       _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=4 {
                                           "top3gpp:id" : "NRSectorCarrier-4",
                                           "attributes" : {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "88888".
                                                   ...
                                        },

                                     _3gpp-nr-nrm-nrcelldu:NRCellDU=1 {
                                           "top3gpp:id" : "NR-Cell-001"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        },
                                        _3gpp-nr-nrm-nrcelldu:NRCellDU=2 {
                                           "top3gpp:id" : "NR-Cell-002"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        },  
                                         _3gpp-nr-nrm-nrcelldu:NRCellDU=3 {
                                           "top3gpp:id" : "NR-Cell-003"
                                            "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        },  

                                        _3gpp-nr-nrm-nrcelldu:NRCellDU=4 {
                                           "top3gpp:id" : "NR-Cell-004"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        },  

                                        _3gpp-nr-nrm-nrcelldu:NRCellDU=5 {
                                           "top3gpp:id" : "NR-Cell-005"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        }
              }
         }


18

Create or replace the target data 
resource for a CMHandle

PUT

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds/
{datastore}/{data-resource-identifier}
{  
     <yang-data-sub-resource>

OR using datastores defaults  

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/
{data-resource-identifier}
{  
     <yang-data-sub-resource>

Accept: 
application
/yang-data+
json

Method  : PUT

URI         : {ncmp-root}/v1/cm-handle/3445fff/_3gpp-common-managed-
element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:
GNBDUFunction=1

Header :
      Content-Type: application/yang-data+json

Body :
{
          _3gpp-nr-nrm-gnbdufunction:GNBDUFunction {
                 "userLabel" : "newGNB-001",
                 "gNBDUName" : "newGNBDUName-001"
                  ....
          }
}


19

Get data for list of CMHandles

PUT

{ncmp-root}/ncmp/v1/ds/{datastore}/{data-
resource-identifier}

OR using datastores defaults  

{ncmp-root}/ncmp/v1/{data-resource-identifier}

Accept: 
application
/json

(yangData 
contains 
the yang-
data
+json 
payload as 
per 
individual 
cmHandle 
requests)

Scenario Get the NRCellDU=Cell-001 data for multiple cmhandles

Method  : PUT

URI         : {ncmp-root}/ncmp/v1/ds/ncmp-datastores:passthrough-running?
fields=_3gpp-common-managed-element:ManagedElement/_3gpp-nr-nrm-
gnbdufunction:GNBDUFunction/NRCellDU=NR-Cell-001

Header :
      Accept : application/json

Body :
{
    " operation" : "read",                                  // inspired by yang patch 
'operation'
    "cmHandles" : ["34l5k32", "ddf4545", "45g6756"]    //omit to get for all 
cmhandles
}

Response :

  HTTP/1.1 200 OK
  Date: Thu, 26 Jan 2017 20:56:30 GMT
  Server: example-server
  Content-Type: application/json

  "response" : [
     {
       "cmHandle" : "34l5k32",
       "yangData" : {
          3gpp-common-managed-element:ManagedElement=1 {
             _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 
{
                   "top3gpp:id" : "1",
                   "_3gpp-nr-nrm-nrcelldu:NRCellDU=NR-
Cell-001" :  {

                                           "top3gpp:id" : "NR-Cell-001"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        }

                         },

                        
                       3gpp-common-managed-element:ManagedElement=1 {

                               _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 {
                                      "top3gpp:id" : "1",

                   "_3gpp-nr-nrm-nrcelldu:NRCellDU=NR-
Cell-001" :  {

                                           "top3gpp:id" : "NR-Cell-001"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        }

                          }

                     }

        },
        {
            "cmHandle" : "ddf4545",
             "yangData" : {      
                   3gpp-common-managed-element:ManagedElement=1 {

           _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 {
                   "top3gpp:id" : "1",

                                       "_3gpp-nr-nrm-nrcelldu:NRCellDU=NR-Cell-
001" :  {
                                           "top3gpp:id" : "NR-Cell-001"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        }
                              }

                    }
                }
        },

  {
            "cmHandle" : "45g6756",
             "yangData" : {      

           "ietf-restconf:errors" : {
              "error" : [
                 {
                  "error-type" : "connectivity",
                  "error-tag" : "access-denied",
                  "error-message" : "Cannot read EMS 
with given credentials"
                 }
               ]
            }

            }

        }

     ]


20

Read resource data (with 'fields') for list 
of CMHandles

POST

{ncmp-root}/ncmp/v1/ds/{datastore}/{data-
resource-identifier}

OR

{ncmp-root}/ncmp/v1/{data-resource-identifier}

Accept: 
application
/json

(yangData 
contains 
the yang-
data
+json 
payload as 
per 
individual 
cmHandle 
requests)

Scenario Get the and select attributes GNBDUFunction.id of NRSectorCarrier and NRCellDUs

Method  : POST

URI         : {ncmp-root}/ncmp/v1//NRSectorCarrier?fields=top3gpp:id;_3gpp-
nr-nrm-nrsectorcarrier:NRSectorCarrier(top3gpp:id;attributes(txDirection;
arfcnUL);_3gpp-nr-nrm-nrcelldu:NRCellDU(top3gpp:id;attributes
(administrativeState;operationalState)

Header :
      Content-Type: application/json
      Accept : application/json

Body:

{
    operation : "read",
    "cmHandles" : ["1231", "1232", "1233", "1234"]
}

Response :

  HTTP/1.1 200 OK
  Date: Thu, 26 Jan 2017 20:56:30 GMT
  Server: example-server
  Content-Type: application/json
  

  "response" : [
        {
          "

" : "

cmHandle

1231",

          "yangData" : {
               _3gpp-nr-nrm-gnbdufunction:
GNBDUFunction=1 {
                   "top3gpp:id" : "1",

                                       "_3gpp-nr-nrm-nrsectorcarrier:
NRSectorCarrier=1" :  {
                                           "top3gpp:id" : "NRSectorCarrier-1",
                                           "attributes" : {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "55555".
                                                   ...
                                           }
                                        },  
                                       "_3gpp-nr-nrm-nrsectorcarrier:
NRSectorCarrier=2" :  {
                                           "top3gpp:id" : "NRSectorCarrier-2",
                                           "attributes" : {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "66666".
                                                   ...
                                           }
                                        },  

                                       "_3gpp-nr-nrm-nrsectorcarrier:
NRSectorCarrier=3" : {
                                           "top3gpp:id" : "NRSectorCarrier-3",
                                           "attributes" : {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "77777".
                                                   ...
                                           }
                                        },  

                                       "_3gpp-nr-nrm-nrsectorcarrier:
NRSectorCarrier=4" :  {
                                           "top3gpp:id" : "NRSectorCarrier-4",
                                           "attributes" : {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "88888".
                                                   ...
                                        },

"_3gpp-nr-nrm-nrcelldu:NRCellDU=1" :  {
                                           "top3gpp:id" : "NR-Cell-001"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        },
                                        "_3gpp-nr-nrm-nrcelldu:NRCellDU=2" :  {
                                           "top3gpp:id" : "NR-Cell-002"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        },  
                                        "_3gpp-nr-nrm-nrcelldu:NRCellDU=3" :  {
                                           "top3gpp:id" : "NR-Cell-003"
                                            "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        },  

                                        "_3gpp-nr-nrm-nrcelldu:NRCellDU=4" :  {
                                           "top3gpp:id" : "NR-Cell-004"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        },  

                                        "_3gpp-nr-nrm-nrcelldu:NRCellDU=5" :  {
                                           "top3gpp:id" : "NR-Cell-005"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        }

                              }

                    }

             },

      {
          "

" : "

cmHandle

1232",

          "data" : {
               _3gpp-nr-nrm-gnbdufunction:
GNBDUFunction=1 {
                   "top3gpp:id" : "1",

                                       "_3gpp-nr-nrm-nrsectorcarrier:
NRSectorCarrier=2" : {
                                           "top3gpp:id" : "NRSectorCarrier-2",
                                           "attributes" : {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "66666".
                                                   ...
                                           }
                                        },  

                                       "_3gpp-nr-nrm-nrsectorcarrier:
NRSectorCarrier=3" : {
                                           "top3gpp:id" : "NRSectorCarrier-3",
                                           "attributes" : {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "77777".
                                                   ...
                                           }
                                        }

                              }

              },

      {
          "cmHandle" : "1233",
          "yangData" : {
               _3gpp-nr-nrm-gnbdufunction:
GNBDUFunction=1 {
                   "top3gpp:id" : "1",

                                       "_3gpp-nr-nrm-nrsectorcarrier:
NRSectorCarrier=4" :  {
                                           "top3gpp:id" : "NRSectorCarrier-4",
                                           "attributes" : {
                                                  "txDirection" : "DL_AND_UL",
                                                  "arfcnUL" : "88888".
                                                   ...
                                        },

"_3gpp-nr-nrm-nrcelldu:NRCellDU=1" :  {
                                           "top3gpp:id" : "NR-Cell-001"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        },
                                        "_3gpp-nr-nrm-nrcelldu:NRCellDU=2" :  {
                                           "top3gpp:id" : "NR-Cell-002"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        },  

                              }

              },

             {
                   "

" : "

cmHandle

1234",

                    "yangData" : {

               _3gpp-nr-nrm-gnbdufunction:
GNBDUFunction=1 {
                  "top3gpp:id" : "1",

                                      "_3gpp-nr-nrm-nrcelldu:NRCellDU=1 {
                                           "top3gpp:id" : "NR-Cell-001"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }
                                        }

                              }

              }

       ]

}


21

Execute a yang action on multiple 
CMHandles

POST

{ncmp-root}/ncmp/v1/data/{data-resource-
identifier}/{action}

input: {
                  "param1Name" : "param1Value”,
                  "param2Name" : "param2Value”
             }

Note : If the "action" statement has no 
"input" section, the  request 
message MUST 
NOT include a message-body

Content-Type: 
application/json

(yangData 
contains the 
yang-data
+json payload 
as per individual 
cmHandle 
requests)

Method  : POST 

URI         : {ncmp-root}/ncmp/v1/data/_3gpp-common-managed-element:
ManagedElement/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction
/resetPort  (dummy non-existent action)

Header :
      Content-Type: application/json

Body :
{
    operation : "action",
    "cmHandles" : ["1231", "1232", "1233", "1234"],

    "yangData" : {
        input: {
            "param1Name" : "param1Value”,
            "param2Name" : "param2Value”
        }
     }
}

Response Success

         HTTP/1.1 202 Accepted
         Date: Thu, 26 Jan 2021 20:56:30 GMT 
         Content-Type: application/json

         //EMPTY BODY

Error Response : 

     HTTP/1.1 202 Accepted
     Date: Thu, 26 Jan 2021 20:56:30 GMT
     Content-Type: application/json

     response : [

      { 
        "cmHandle" : "


1232",

        "yangData" : {
           "ietf-restconf:errors" : {
             "error" : [
               {                 # See 

https://tools.

ietf.org/html/rfc6241#section-4.3

                 "error-type" : "protocol",
                 "error-tag" : "invalid-value",
                 "error-path" : "3gpp-common-managed-
element:ManagedElement/_3gpp-nr-nrm-gnbdufunction:
GNBDUFunction/resetPort",
                 "error-message" : "Invalid input 
parameter value for param2Name"
               }
             ]
          }
       },
       { 
          "cmHandle" : ""


1234",

          "yangData" : {
             "ietf-restconf:errors" : {

                "error" : [ 
                   { "error-type" : "protocol", 
                     "error-tag" : "invalid-value", 
                     "error-path" : "3gpp-common-
managed-element:ManagedElement/_3gpp-nr-nrm-
gnbdufunction:GNBDUFunction/resetPort", 
                     "error-message" : "Invalid input 
parameter value for param2Name" } 
                ] 
          } 
       }
     ] 


22

Execute an rpc operation on multiple 
CMHandles

POST

{ncmp-root}/ncmp/v1/operations/{module-name}:
{action}

{  
input: {
                  "param1Name" : "param1Value”,
                  "param2Name" : "param2Value”
             }
}

Note : If there is no "input" 
section, 
the  request MUST NOT include a 
message-body

Content-Type: 
application/json

Method  : POST 

URI         :{ncmp-root}/ncmp/v1/operations/_3gpp-common-managedelement:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:
GNBDUFunction=1/resetDevice (dummy action)


Header :
      Content-Type: application/json

Body :
{

    operation : "action",
    "handles" : ["1231", "1232", "1233", "1234"],
     input: {
            "param1Name" : "param1Value”,
            "param2Name" : "param2Value”
     }
}


23


GET/
POST/
PATCH
/PUT/
DELETE

{ncmp-root}/ncmp/v1/cm-handle/ /data/ds/ncmp-datastores:passthrough-running/ {xpath}?topic=<dmaap-topic-Identifier>

{ncmp-root}/ncmp/v1/cm-handle/ /data/ds/ncmp-datastores:running/{xpath}?topic=<dmaap-topic-Identifier>

**Async communication channel is DMaaP

Immediate response with a requestId is sent to the caller and the CRUD request is executed asynchronously where data is returned via the provided topic identifier.

Accept : 
application/json

Scenario : Async request to NCMP

Method : GET/POST/PATCH/PUT/DELETE

URI : {ncmp-root}/ncmp/v1/cm-handle/de3455/data/ds/ncmp-datastores:
passthrough-running/_3gpp-common-managed-element:
ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:
GNBDUFunction=1?topic=5G:SectorCarrierOrchestrator-0012391:12

Body :    //  Include body where required
{
       ....
}

Response   :
{
     "requestId" : "<some-requestId>"
}

response data is published on the topic identified by <topicIdentifier> 
keyed on request.


...