Versions Compared

Key

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

...

The allowed network type values are: core, access, transport. Network type decides whether you are sending the request for an/cn/tn. Vendor decides which NSSMF the request is sent to.

ESR INFO: Network Type and Vendor, must match with the ESRegistry

(Note: Above block diagram needs update)

Table of Contents

NSMF call NSSMF Adapter APIs

Allocate NSSI:[AN/TN/CN]

Method

URL

POST

{adapter-url}/api/rest/provMns/v1/NSS/SliceProfiles


Code Block
languagexml
themeRDark
titleAllocate AN/CN NSSI

...

REQ body example:
JSON Viewer
modeText
width600
height350
collapsetrue
{
	{
"allocateCnNssi": {
		"nsstId": "NSST-C-001-HDBNJ-NSSMF-01-A-ZX",
"nssiName        "nssiId": "eMBB-001",
"NSST-C-001-HDBNJ-NSSMF-01-A-ZX",
		"nssiName": "eMBB-001",
		"sliceProfile": {
			"snssaiListsNSSAIList": [
				"001-100001"
			],
			"sliceProfileId": "ab9af40f13f721b5f13539d87484098",
			"plmnIdListpLMNIdList": [
				"460-00",
				"460-01"
			],
			"perfReq": {
				"perfReqEmbbList ": [
{
					{
						"activityFactor": 50
					}
				]
			},
			"maxNumberofUEs": 200,
			"coverageAreaTAList": [
				"1",
				"2",
				"3",
				"4"
			],
			"latency": 2,
			"resourceSharingLevel": "non-shared"
		},
		"endPoint": {
			"IpAdress": "",
			"LogicalLinkId": "",
			"nextHopInfo": ""
		},
		"nsiInfo": {
			"nsiId": "NSI-M-001-HDBNJ-NSMF-01-A-ZX",
			"nsiName": "eMBB-001"
		},
		"scriptName": "CN1",
		"extension": {
			"XXX": "XXX"
		}
	},
	"esrInfo": {
		"vendor": "huawei",
		"networkType": "core"
	},
	"serviceInfo": {
		"serviceInvariantUuid": "e75698d9-925a-4cdd-a6c0-edacbe6a0b51",
		"serviceUuid": "8ee5926d-720b-4bb2-86f9-d20e921c143b",
		"globalSubscriberId": "5GCustomer",
		"serviceTypensiId": "5G"
}
}
NSI-M-001-HDBNJ-NSMF-01-A-ZX",
        "nssiId": "NSST-C-001-HDBNJ-NSSMF-01-A-ZX",
		"subscriptionServiceType": "5G"        
	}
}

Info:Info:For the value of nsstId, if NSST doesn't contain artifact, the value is NSST UUID, otherwise it is the ID in the artifact file.

Allocate TN NSSI REQ  body example:

AttributeOptionalDescription
nssiIdYWhen reuse existing NSSI.
nsstIdYNSST artifact ID


Code Block
languagetext
themeRDark
titleAllocate TN NSSI REQ body example:
collapsetrue
JSON Viewer
modeText
width600
height300
{
	"allocateTnNssi": {
		"actionTypenetworkSliceInfos": "allocate",
		"networkSliceInfo": [
			{
				"snssai": "123",
				"customer": "company_x",
				"serviceType": "IoT"
			}
		],
		"transportSliceNetworks": [
			{
				"typeconnectionLinks": "P2P",[
					"slaPolicy": {
						"latencytransportEndpointA": 123,
					"jitter": 123"tranportEp_ID_XXX",
					"maxBandwidth": 123,
					"reliabilitytransportEndpointB": "1+1_protectiontranportEp_ID_YYY"
					},
				"connectionLinks": [
					{
						"transportEndpointA": "tranportEp_ID_XXXAAA",
						"transportEndpointB": "tranportEp_ID_YYYBBB"
					},
					{]
			},
			{
				"connectionLinks": [
					{
						"transportEndpointA": "tranportEp_ID_AAACCC",
						"transportEndpointB": "tranportEp_ID_BBBDDD"
					},
				]
			},
		{
		{
				"typetransportEndpointA": "MP2MPtranportEp_ID_EEE",
						"slaPolicytransportEndpointB": {"tranportEp_ID_FFF"
					"latency": 456,
					"jitter": 456,
					"maxBandwidth": 456,
					"reliability": "unprotected"
				},
				"connectionLinks": [
					{
						"transportEndpointA": "tranportEp_ID_CCC",
						"transportEndpointB": "tranportEp_ID_DDD"
					},
					{
						"transportEndpointA": "tranportEp_ID_EEE",
						"transportEndpointB": "tranportEp_ID_FFF"
					}
				]
			}
		]
	},
	"esrInfo": {
		"vendor": "huawei",
		"networkType": "transport"
	},
	"serviceInfo": {
		"serviceInvariantUuid": "e75698d9-925a-4cdd-a6c0-edacbe6a0b51",
		"serviceUuid": "8ee5926d-720b-4bb2-86f9-d20e921c143b",
		"globalSubscriberId": "5GCustomer",
		"serviceType": "5G"
	}
}

Response example:

Status:202

JSON Viewer
width450
height200
{"jobId":"db245365e79c47ed88fcd60caa8f6549"}

Modify NSSI: [AN/TN/CN]

}
				]
			}
		]
	},
	"esrInfo": {
		"vendor": "huawei",
		"networkType": "transport"
	},
	"serviceInfo": {
		"serviceInvariantUuid": "e75698d9-925a-4cdd-a6c0-edacbe6a0b51",
		"serviceUuid": "8ee5926d-720b-4bb2-86f9-d20e921c143b",
		"globalSubscriberId": "5GCustomer",
		"subscriptionServiceType": "5G",
        "nssiId": "NSST-C-001-HDBNJ-NSSMF-01-A-ZX"               
	}
}

   Response status:202

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
  "jobId": "db245365e79c47ed88fcd60caa8f6549"
}

Activate NSSI: [AN/TN/CN]

Method

URL

POST

{adapter-url}/

MethodURLPUT/

api/rest/provMns/v1/NSS/{

nssi

snssai}/activation

REQ example:

...

Code Block
languagetext
themeRDark
titleREQ example:
collapsetrue
{
	"actDeActNssi
JSON Viewer
modeText
{
  "modifyAnNSSI": {
    "nssiId		"nsiId": "NSSINSI-CM-001-HDBNJ-NSSMFNSMF-01-A-ZX",
    "nssiName		"nssiId": "eMBBNSSI-C-001-HDBNJ-NSSMF-01-A-ZX"
	},
    "sNssaiList	"esrInfo": [
      "001-100001"
    ],
    "nsiInfo{
		"vendor": "huawei",
		"networkType": "core/access/transport"
	},
	"serviceInfo": {
      "nsiId		"serviceInvariantUuid": "NSIe75698d9-M925a-0014cdd-HDBNJ-NSMF-01-A-ZXa6c0-edacbe6a0b51",
      "nsiName		"serviceUuid": "eMBB-001"
    },
    "scriptName8ee5926d-720b-4bb2-86f9-d20e921c143b",
		"globalSubscriberId": "TN15GCustomer",
    "additionalProperties		"subscriptionServiceType": {
      "XXX": "XXX"
    }
  },
    "esrInfo": {
        "vendor": "huawei",
        "networkType": "transport"
    }
}

Response example:

Status:202

JSON Viewer
modeText
{
  "jobId": "db245365e79c47ed88fcd60caa8f6549"
}

...

"5G",
		"nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX"
	}
}

   Response status:202

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
  "jobId": "db245365e79c47ed88fcd60caa8f6549"
}

DeActivate NSSI: [AN/TN/CN]

Method

URL

POST

{adapter-url}/api/rest/provMns/v1/NSS/{snssai}/

activation

deactivation

REQ example:

...


Code Block
languagexml
themeRDark
titleREQ example:
collapsetrue
{
    
JSON Viewer
modeText
width600
height200
{
"actDeActNssi": {
        "nsiId": "NSI-M-001-HDBNJ-NSMF-01-A-ZX",
        "nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX"
    },
    "esrInfo": {
        "vendor": "huawei",
        "networkType": "core/access/transport"
    },
	"serviceInfo": {
		"serviceInvariantUuid": "e75698d9-925a-4cdd-a6c0-edacbe6a0b51",
		"serviceUuid": "8ee5926d-720b-4bb2-86f9-d20e921c143b",
		"globalSubscriberId": "5GCustomer",
		"serviceTypesubscriptionServiceType": "5G",
		"nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX"
	}
}

Response example:

Status:202

   Response status:202

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
  
JSON Viewer
modeText
width450
height200
{"jobId": "db245365e79c47ed88fcd60caa8f6549"
}

...

Deallocate NSSI: [AN/TN/CN]

Method

URL

POST

{adapter-url}/api/rest/provMns/v1/NSS/nssi/{snssainssiId}/deactivation

REQ example:


Code Block
languagetext
themeRDark
titleDeallocate NSSI: [AN/TN/CN]
collapsetrue
{
	"deAllocateNssi
JSON Viewer
modeText
width600
height200
{
    "actDeActNssi": {
        		"snssaiList": [
			"001-100001"
		],
		"nsiId": "NSI-M-001-HDBNJ-NSMF-01-A-ZX",
        		"nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX "
    },
    "esrInfo		"terminateNssiOption": {
        "vendor0,
		"scriptName": "huaweiCN1",
		"extension": {
			"XXX": "XXX"
		}
	},
	"esrInfo":      {
		"vendor": "huawei",
		"networkType": "core/access/transport"
    	},
	"serviceInfo": {
		"serviceInvariantUuid": "e75698d9-925a-4cdd-a6c0-edacbe6a0b51",
		"serviceUuid": "8ee5926d-720b-4bb2-86f9-d20e921c143b",
		"globalSubscriberId": "5GCustomer",
		"serviceTypesubscriptionServiceType": "5G",
	}
}

Response example:

Status:202

		"nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX"
	}
}

   Response status:202

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
  
JSON Viewer
modeText
width450
height200
{"jobId": "db245365e79c47ed88fcd60caa8f6549"
}

Deallocate NSSI: [AN/TN/CN]

Query JOB Status

Method

URL

POST

{adapter-url}/api/rest/provMns/v1/NSS/nssijobs/{nssiIdjobId}

REQ example:


Code Block
languagetext
themeRDark
titleREQ example:
collapsetrue
{
	"responseId": "3",
	"esrInfo": {
		"vendor": "huawei",
		"networkType": "core/access/transport"
	},
	"serviceInfo": {
	    "nssiId": "NSSI
JSON Viewer
modeText
width600
{
"deAllocateNssi": {
"snssaiList": [
"001-100001"
],
"nsiId": "NSI-M-001-HDBNJ-NSMFNSSMF-01-A-ZX",
		"nssiIdnsiId": "NSSINSI-CM-001-HDBNJ-NSSMFNSMF-01-A-ZX ",
		"terminateNssiOptionnssiName": 0"eMBB-001",
		"scriptNamesST": "CN1embb",
		"extensionPLMNIdList": {
"XXX"39-00",
		"globalSubscriberId": "XXX5GCustomer"
}
},
		"esrInfosubscriptionServiceType": {
"vendor"5G"	    
		"serviceInvariantUuid": "huaweie75698d9-925a-4cdd-a6c0-edacbe6a0b51",
		"networkTypeserviceUuid": "core/access/transport"
},
"serviceInfo8ee5926d-720b-4bb2-86f9-d20e921c143b"
	}
}

   Response Status:200

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
  "responseDescriptor": {
    "serviceInvariantUuidstatus": "e75698d9-925a-4cdd-a6c0-edacbe6a0b51processing",
"serviceUuid    "progress": 20,
    "statusDescription": "8ee5926d-720b-4bb2-86f9-d20e921c143bInitiating VNF Instance",
    "globalSubscriberIdresponseId": "5GCustomer1",
    "serviceTypenssiId": "5G"
  }
}

...


Attribute

Status:202

JSON Viewer
modeText
width450
height200
{"jobId":"db245365e79c47ed88fcd60caa8f6549"}

Query JOB Status:

Required
responseIdN

Sub-net Capability query

Request can contain the sub-net type. 1 request can be used to fetch capabilities of more than 1 subnet managed by the same NSSMF - for e.g., in case of Transport, a single request can fetch the capabilities of FH, MH and BH subnets managed by the same TN NSSMF.

MethodURL
POST{adapter-url}

Method

URL

POST

/api/rest/provMns/v1/NSS/
jobs/{jobId}
subnetCapabilityQuery

REQ example

...

(TN)

JSON Viewer
modeText
{
	  "nssiIdsubnetCapabilityQuery": "NSSI-M-001-HDBNJ-NSSMF-01-A-ZX",{
    "nsiIdsubnetTypes": "NSI-M-001-HDBNJ-NSMF-01-A-ZX",
    "responseId": "3"["TN_FH"]
  },
    "esrInfo": {
        "vendor": "huawei/ONAP_internal",
        "networkType": "core/access/transporttn"
    }
}

Response example:

Status:200

example:(TN)

JSON Viewer
height
modeText
width400
200
{
  "responseDescriptor	"TN_FH": {
    		"statuslatency": "processing",
    "progress": 20,
    "statusDescription		"maxThroughput": "Initiating VNF Instance",
    "responseId": "1",
    "nssiId": ""
  
	}
}

Sub-net Capability query

...

Response can be a json blob (or parameter list) containing a minimum set of relevant attributes such as the below (based on 3GPP TS 28.541):

Attribute

AN

CN

TN

Latency

Yes

Yes

Yes

maxNumberofUEs

Yes



maxNumberofConns


Yes


Max Throughput

Yes

Yes

Yes

Terminal density

Yes



Query NSSI selection capability

MethodURL
POST{adapter-url}/api/rest/provMns/v1/NSS/
subnetCapabilityQuery

...

NSSISelectionCapability


JSON Viewer
modeText
{
  "subnetCapabilityQuery{
	"esrInfo": {
    "subnetTypes		"vendor": [
      "TN-FH","TN-MH","TN-BH"
    ]
  },
    "esrInfo": {
        "vendor": "huawei/ONAP",
        "networkType": "transport"
    }
}

Response example:(TN)

"huawei/ONAP_internal",
		"networkType": "transport"
	}
}

Response example:

Status:200

Text
JSON Viewer
mode
{
	"TN-FHselection":{
  "latency": "",
  "maxThroughput": ""
},
"TN-MH":{
  "latency": "",
  "maxThroughput": ""
},
"TN-BH":{
  "latency": "",
  "maxThroughput": ""
}
}

Response can be a json blob (or parameter list) containing a minimum set of relevant attributes such as the below (based on 3GPP TS 28.541):

...

Attribute

...

AN

...

CN

...

TN

...

Latency

...

Yes

...

Yes

...

Yes

...

maxNumberofUEs

...

Yes

...

maxNumberofConns

...

Yes

...

Max Throughput

...

Yes

...

Yes

...

Yes

...

Terminal density

...

Yes

Query NSSI selection capability

...

JSON Viewer
{
	"esrInfo": {
		"vendor": "huawei/ONAP",
		"networkType": "transport"
	}
}

Response example:

Status:200

JSON Viewer
{
	"selection": "NSMF/NSSMF"
}

NSSMF Adapter call NSSMF APIs

External NSSMF

Allocate NSSI(create NSSI  with service): [AN/TN/CN]

...

"NSMF/NSSMF"
}

NSSMF Adapter call NSSMF APIs

Implementation difference

       For Jobstatus api, the internal NSSMF needs to update db table resource_operation_status, the external NSSMF needs to provide this api.

External NSSMF

Allocate NSSI  (create NSSI  with service)

MethodDomainURL
POSTCN/api/rest/provMns/{apiVersion}/NSS/SliceProfiles 
POSTAN
/ObjectManagement/NSS/SliceProfiles


Code Block
languagetext
themeRDark
titleREQ example:
collapsetrue
{
    "nsstId": "NSST-C-01V-HBBJ-NSSMF-1-A-ZX",
    "nssiName": "CN_eMBB_02",
    "sliceProfile": {
        "sNSSAIList": [
            "001-111113"
        ],
        "sliceProfileId": "CN-001-111113",
        "pLMNIdList": [
            "460-11"
        ],
        "perfReq": {
            "perfReqEmbbList": [
                {
                    "activityFactor": 50,
                    "expDataRateDL": 1000,
            

REQ example:

JSON Viewer
width600
{
    "nsstId": "NSST-C-01V-HBBJ-NSSMF-1-A-ZX",
    "nssiName": "CN_eMBB_02",
    "sliceProfile": {
        "snssaiListexpDataRateUL": [1000,
            "001-111113"
        "areaTrafficCapDL": ]1000,
          "sliceProfileId": "CN-001-111113",
          "plmnIdListareaTrafficCapUL": [1000
             "460-11"   }
        ],
    ]
    "perfReq": {
    },
        "perfReqEmbbListmaxNumberofUEs": [200,
        "maxNumberofPDUSession": 200,
       {
 "totalDataVolume": 100,
        "upfDeployLocation": "customer",
         "activityFactorcoverageAreaTAList": 50,[
            "07D300"
        "expDataRateDL": 1000],
            "latency": 30,
        "expDataRateULueMobilityLevel": 1000"stationary",
        "resourceSharingLevel": "non-shared"
    },
       "areaTrafficCapDLnsiInfo": 1000,{
            "nsiId": "NSI-C-002-HBBJ-NSMF-1-A-ZX",
        "areaTrafficCapULnsiName": 1000"eMBB_02"
    },
            }
            ]
        },
        "maxNumberofUEs": 200,
        "maxNumberofPDUSession": 200,
        "totalDataVolume": 100,
        "upfDeployLocation": "customer",
        "coverageAreaTAList": [
            "07D300"
        ],
        "latency": 30,
        "ueMobilityLevel": "stationary",
        "resourceSharingLevel": "non-shared"
    },
    "nsiInfo": {
        "nsiId": "NSI-C-002-HBBJ-NSMF-1-A-ZX",
        "nsiName": "eMBB_02"
    },
    "scriptName": "eMBB_02_base_111113"
}

deallocateNSSI (deallocate NSSI with service)

...

"scriptName": "eMBB_02_base_111113"
}

   Response Status:202

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
	"nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX",
	"jobId": "db245365e79c47ed88fcd60caa8f6549"
}

DeallocateNSSI (deallocate NSSI with service)

MethodDomainURL
DELETECN/api/rest/provMns/{apiVersion}/NSS/SliceProfiles/{sliceProfileId}
DELETEAN
/ObjectManagement/NSS/SliceProfiles/{SliceProfileId}


Code Block
languagetext
themeRDark
titleREQ example:
collapsetrue
{
  "nsiId" : "4115d3c8-dd59-45d6-b09d-e756dee9b518",
  "nssiId" : "1a636c4d-5e76-427e-bfd6-241a947224b0",
  "snssaiList" : [ "01-6A106175" ],
  "terminateNssiOption": 0,
  "scriptName": "CN1"
}

  Response status:202

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
  "jobId": "db245365e79c47ed88fcd60caa8f6549"
}

ActivateNSSIactivate NSSI

MethodURL
PUT/api/rest/provMns/{apiVersion}/NSS/{snssai}/activation


Code Block
languagetext
themeRDark
titleREQ example:
collapsetrue
{
     "nsiId" : "ed76c0a0-582d-4885-b75e-b544924addf8",
     "nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX"
}

   Response status:202

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
  "jobId": "db245365e79c47ed88fcd60caa8f6549"
}

DeactivateNSSIslice proflice(S-NSSAI) deactivate

MethodURL
PUT

/api/rest/provMns/{apiVersion}/NSS/{snssai}/deactivation


Code Block
languagetext
themeRDark
titleREQ example:
collapsetrue
{
     "nsiId" : "ed76c0a0-582d-4885-b75e-b544924addf8",
     "nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX"
}

   Response status:202

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
  "jobId": "db245365e79c47ed88fcd60caa8f6549"
}

GetJobStatus (query the operation progress)

MethodURL
GET

/api/rest/provMns/{apiVersion}/NSS/jobs/{jobId}?responseId={responseId}

Info: responseId is optional, not necessary.

   Response status:200

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
	"responseDescriptor": {
		"status": "processing",
		"progress": 40,
		"statusDescription": "Preparing for Instantiating NSSI",
		"responseId": "2",
		"responseHistoryList": [
			{
				"status": "processing",
				"progress": 20,
				"statusDescription": "Initiating VNF Instance",
				"responseId": "1"
			}
		]
	}
}

Internal NSSMF

NSSMF

REQ example:

...

width600

...