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:For the value of nsstIdInfo: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": {
		"actionType": "allocate",
		"networkSliceInfo"networkSliceInfos": [
			{
				"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}
		]
	},
	"esrInfo": {
		"vendor": "huawei",
		"networkType": "unprotectedtransport"
				},
				"connectionLinksserviceInfo": [
					{
						"transportEndpointAserviceInvariantUuid": "tranportEp_ID_CCCe75698d9-925a-4cdd-a6c0-edacbe6a0b51",
						"transportEndpointB""serviceUuid": "tranportEp_ID_DDD"
					}8ee5926d-720b-4bb2-86f9-d20e921c143b",
					{
						"transportEndpointA"globalSubscriberId": "tranportEp_ID_EEE5GCustomer",
						"transportEndpointBsubscriptionServiceType": "tranportEp_ID_FFF5G"
					}
				]
			}
		]
	},
	"esrInfo": {
		"vendor": "huawei",
		"networkType": "transport"
	},
	"serviceInfo": {
		"serviceInvariantUuid": "e75698d9-925a-4cdd-a6c0-edacbe6a0b51",
		"serviceUuid": "8ee5926d-720b-4bb2-86f9-d20e921c143b",
		"globalSubscriberId": "5GCustomer",
		"serviceType": "5G",
        "nssiId": "NSST-C-001-HDBNJ-NSSMF-01-A-ZX"               
	}
}

Response example:

Status:202

   Response status:202

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

...

Activate NSSI:

...

[AN/TN/CN]

Method

URL

PUT

POST

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

nssi

snssai}/activation

REQ example:

Code Block
languagetext
themeRDark
titleREQ example:
collapsetrue
JSON Viewer
modeText
{
  	"modifyAnNSSIactDeActNssi": {
    "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"5G",
		"nssiId": "XXX"
    }
  },
    "esrInfo": {
        "vendor": "huawei",
        "networkType": "transport"
    }
}

Response example:

Status:202

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

...

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":         "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"
}
}

Response example:

Status:202

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

...

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

   Response status:202

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
  "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",
        "networkType		"extension": {
			"XXX": "core/access/transport"
    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",
		"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"
}

...

Query JOB Status

Method

URL

POST

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

REQ example:


Code Block
languagetext
themeRDark
titleREQ example:
collapsetrue
JSON Viewer
modeText
width600
{
"deAllocateNssi	"responseId": "3",
	"esrInfo": {
		"snssaiListvendor": [
"001-100001"
],
"nsiId"huawei",
		"networkType": "core/access/transport"
	},
	"serviceInfo": {
	    "nssiId": "NSINSSI-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": "huawei",
"networkType": "core/access/transport"
},
"serviceInfo": {
"serviceInvariantUuid": "e75698d9e75698d9-925a-4cdd-a6c0-edacbe6a0b51",
		"serviceUuid": "8ee5926d-720b-4bb2-86f9-d20e921c143b",
"globalSubscriberId": "5GCustomer",
"serviceType": "5G"

	}
}

Response example:

Status:202

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

Query JOB Status

...

Method

...

URL

...

POST

...

{adapter-url}/api/rest/provMns/v1/NSS/jobs/{jobId}

   Response Status:200

Code Block
languagetext
themeRDark
titleResponse example:
collapsetrue
{
  "responseDescriptor": {
    "status": "processing",
    "progress": 20,
    "statusDescription": "Initiating VNF Instance

REQ example:

JSON Viewer
modeText
{
	"nssiId": "NSSI-M-001-HDBNJ-NSSMF-01-A-ZX",
    "nsiIdresponseId": "NSI-M-001-HDBNJ-NSMF-01-A-ZX","1",
    "responseIdnssiId": "3",
    "esrInfo": {
        "vendor": "huawei",
        "networkType": "core/access/transport"
    }
}

Response example:

Status:200

JSON Viewer
modeText
width400
height200
{
  "responseDescriptor": {
    "status": "processing",
    "progress": 20,
    "statusDescription": "Initiating VNF Instance",
    "responseId": "1",
    "nssiId": ""
  }
}

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.

...

}
}


AttributeRequired
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}/api/rest/provMns/v1/NSS/subnetCapabilityQuery

REQ example

REQ example(TN)

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

Response example:(TN)

JSON Viewer
modeText
{
  "TN-FHsubnetCapabilityQuery": {
    "latencysubnetTypes": ["TN_FH"]
  },
    "maxThroughputesrInfo": {
        ""
},
"TN-MH":{
vendor": "huawei/ONAP_internal",
        "latencynetworkType": "tn",
  "maxThroughput": ""
},
"TN-BH  }
}

Response example:(TN)

JSON Viewer
modeText
{
	"TN_FH":{
  		"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):

...

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

...

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

...

/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

REQ example:


Code Block
languagetext
themeRDark
titleREQ example:
collapsetrue
JSON Viewer
modeText
width600
{
    "nsstId": "NSST-C-01V-HBBJ-NSSMF-1-A-ZX",
    "nssiName": "CN_eMBB_02",
    "sliceProfile": {
        "snssaiListsNSSAIList": [
            "001-111113"
        ],
        "sliceProfileId": "CN-001-111113",
        "plmnIdListpLMNIdList": [
            "460-11"
        ],
        "perfReq": {
            "perfReqEmbbList": [
                {
                    "activityFactor": 50,
                    "expDataRateDL": 1000,
                    "expDataRateUL": 1000,
                    "areaTrafficCapDL": 1000,
                    "areaTrafficCapUL": 1000
                }
            ]
        },
        "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"
}

   Response Status:202

Code Block
languagetext
themeRDark
titleResponse example:

Status:202

collapsetrue
{
	"nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX",
	
JSON Viewer
width450
height200
{"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:
JSON Viewer
modeText
width600
collapsetrue
{
  "nsiId" : "4115d3c8-dd59-45d6-b09d-e756dee9b518",
  "nssiId" : "1a636c4d-5e76-427e-bfd6-241a947224b0",
  "snssaiList" : [ "01-6A106175" ],
  "terminateNssiOption": 0,
  "scriptName": "CN1"
}

Response example:

Status:202

  Response status:202

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

...

ActivateNSSIactivate NSSI

...

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


Code Block
languagetext
themeRDark
titleREQ example:
JSON Viewer
modeText
width600
collapsetrue
{
     "nsiId" : "ed76c0a0-582d-4885-b75e-b544924addf8",
      "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
width450
height200
{"jobId": "db245365e79c47ed88fcd60caa8f6549"
}

...

DeactivateNSSIslice proflice(S-NSSAI) deactivate

MethodURL
PUT

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


Code Block
languagetext
themeRDark
titleREQ example:
JSON Viewer
modeText
width600
collapsetrue
{
     "nsiId" : "ed76c0a0-582d-4885-b75e-b544924addf8",
     "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
width450
height200
{"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:

Status:200

collapsetrue
JSON Viewer
width600
{
	"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 - WIP