This page contains two parts of the interface. NSMF call NSSMF Adapter through internal APIs and NSSMF Adapter call NSSMF through standard APIs.
INFO:
EsrInfo has to be mandatorily filled for every rest request(filled by NSMF). It contains two params. Vendor and network type.
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
Table of Contents
NSMF call NSSMF Adapter APIs
Allocate NSSI:[AN/TN/CN]
Method | URL |
---|---|
POST | {adapter-url}/api/rest/provMns/v1/NSS/SliceProfiles |
Allocate AN/CN NSSI REQ body example:
JSON Viewer | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "allocateCnNssi": { "nsstId": "NSST-C-001-HDBNJ-NSSMF-01-A-ZX", "nssiName": "eMBB-001", "sliceProfile": { "snssaiList": [ "001-100001" ], "sliceProfileId": "ab9af40f13f721b5f13539d87484098", "plmnIdList": [ "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", "serviceType": "5G" } } |
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:
JSON Viewer | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "allocateTnNssi": { "actionType": "allocate", "networkSliceInfo": [ { "snssai": "123", "customer": "company_x", "serviceType": "IoT" } ], "transportSliceNetworks": [ { "type": "P2P", "slaPolicy": { "latency": 123, "jitter": 123, "maxBandwidth": 123, "reliability": "1+1_protection" }, "connectionLinks": [ { "transportEndpointA": "tranportEp_ID_XXX", "transportEndpointB": "tranportEp_ID_YYY" }, { "transportEndpointA": "tranportEp_ID_AAA", "transportEndpointB": "tranportEp_ID_BBB" } ] }, { "type": "MP2MP", "slaPolicy": { "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 | ||||
---|---|---|---|---|
| ||||
{"jobId":"db245365e79c47ed88fcd60caa8f6549"} |
Modify NSSI: [AN/TN/CN]
Method | URL |
---|---|
PUT | /api/rest/provMns/v1/NSS/{nssi} |
REQ example:
JSON Viewer | ||
---|---|---|
| ||
{ "modifyAnNSSI": { "nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX", "nssiName": "eMBB-001", "sNssaiList": [ "001-100001" ], "nsiInfo": { "nsiId": "NSI-M-001-HDBNJ-NSMF-01-A-ZX", "nsiName": "eMBB-001" }, "scriptName": "TN1", "additionalProperties": { "XXX": "XXX" } }, "esrInfo": { "vendor": "huawei", "networkType": "transport" } } |
Response example:
Status:202
JSON Viewer | ||
---|---|---|
| ||
{ "jobId": "db245365e79c47ed88fcd60caa8f6549" } |
Activate NSSI: [AN/TN/CN]
Method | URL |
---|---|
POST | /api/rest/provMns/v1/NSS/{snssai}/activation |
REQ example:
JSON Viewer | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "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", "serviceType": "5G" } } |
Response example:
Status:202
JSON Viewer | ||||||
---|---|---|---|---|---|---|
| ||||||
{"jobId":"db245365e79c47ed88fcd60caa8f6549"} |
DeActivate NSSI: [AN/TN/CN]
Method | URL |
POST | /api/rest/provMns/v1/NSS/{snssai}/deactivation |
REQ example:
JSON Viewer | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "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", "serviceType": "5G" } } |
Response example:
Status:202
JSON Viewer | ||||||
---|---|---|---|---|---|---|
| ||||||
{"jobId":"db245365e79c47ed88fcd60caa8f6549"} |
Deallocate NSSI: [AN/TN/CN]
Method | URL |
POST | /api/rest/provMns/v1/NSS/nssi/{nssiId} |
REQ example:
JSON Viewer | ||||
---|---|---|---|---|
| ||||
{ "deAllocateNssi": { "snssaiList": [ "001-100001" ], "nsiId": "NSI-M-001-HDBNJ-NSMF-01-A-ZX", "nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX ", "terminateNssiOption": 0, "scriptName": "CN1", "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", "serviceType": "5G" } } |
Response example:
Status:202
JSON Viewer | ||||||
---|---|---|---|---|---|---|
| ||||||
{"jobId":"db245365e79c47ed88fcd60caa8f6549"} |
Query JOB Status:
Method | URL |
POST | /api/rest/provMns/v1/NSS/jobs/{jobId} |
REQ example:
JSON Viewer | ||
---|---|---|
| ||
{ "nsiId": "NSI-M-001-HDBNJ-NSMF-01-A-ZX", "responseId": "3", "esrInfo": { "vendor": "huawei", "networkType": "core/access/transport" } } |
Response example:
Status:200
JSON Viewer | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "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.
Method | URL |
---|---|
GET | /api/rest/provMns/v1/NSS/subnetCapabilityQuery |
REQ example(TN)
JSON Viewer | ||
---|---|---|
| ||
{ "subnetCapabilityQuery": { "subnetTypes": [ "TN-FH","TN-MH","TN-BH" ] }, "esrInfo": { "vendor": "huawei/ONAP", "networkType": "transport" } } |
Response example:(TN)
JSON Viewer | ||
---|---|---|
| ||
{ "TN-FH":{ "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
Method | URL |
---|---|
POST | /api/rest/provMns/v1/NSS/NSSISelectionCapability |
JSON Viewer |
---|
{ "esrInfo": { "vendor": "huawei/ONAP", "networkType": "transport" } } |
Response example:
Status:200
JSON Viewer |
---|
{ "selection": "NSMF/NSSMF" } |