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
![](/download/attachments/84662901/image2020-7-30_16-59-20.png?version=1&modificationDate=1596099580000&api=v2)
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:
{
"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"
},
"nsiInfo": {
"nsiId": "NSI-M-001-HDBNJ-NSMF-01-A-ZX",
"nsiName": "eMBB-001"
},
"scriptName": "CN1",
"extension": {
"XXX": "XXX"
}
},
"esrInfo": {
"vendor": "huawei",
"networkType": "core"
}
}
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:
{
"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"
}
}
Response example:Status:202
{"jobId":"db245365e79c47ed88fcd60caa8f6549"}
Modify NSSI: [AN/TN/CN]
Method | URL |
---|
PUT | /api/rest/provMns/v1/NSS/{nssi} |
REQ example:
{
"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
{
"jobId": "db245365e79c47ed88fcd60caa8f6549"
}
Activate NSSI: [AN/TN/CN]
Method | URL |
---|
POST | /api/rest/provMns/v1/NSS/{snssai}/activation |
REQ example:
{
"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"
}
}
Response example:
Status:202
{"jobId":"db245365e79c47ed88fcd60caa8f6549"}
DeActivate NSSI: [AN/TN/CN]
Method | URL |
POST | /api/rest/provMns/v1/NSS/{snssai}/deactivation |
REQ example:
{
"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"
}
}
Response example:
Status:202
{"jobId":"db245365e79c47ed88fcd60caa8f6549"}
Deallocate NSSI: [AN/TN/CN]
Method | URL |
POST | /api/rest/provMns/v1/NSS/nssi/{nssiId} |
REQ example:
{
"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"
}
}
Response example:
Status:202
{"jobId":"db245365e79c47ed88fcd60caa8f6549"}
Query JOB Status:Method | URL |
POST | /api/rest/provMns/v1/NSS/jobs/{jobId} |
REQ example:
{
"nsiId": "NSI-M-001-HDBNJ-NSMF-01-A-ZX",
"nssiId": "NSSI-C-001-HDBNJ-NSSMF-01-A-ZX",
"responseId": "3",
"esrInfo": {
"vendor": "huawei",
"networkType": "core/access/transport"
}
}
Response example:
Status:200
{
"responseDescriptor": {
"status": "processing",
"progress": 20,
"statusDescription": "Initiating VNF Instance",
"responseId": "1",
"nssiId": ""
}
}
Sub-net Capability query
Method | URL |
---|
POST | /api/rest/provMns/v1/NSS/subnetCapabilityQuery |
REQ example
{
"subnetCapabilityQuery": {
"subnetTypes": [
"AN","CN","TN-FH","TN-MH","TN-BH"
]
},
"esrInfo": {
"vendor": "huawei",
"networkType": "core/access/transport"
}
}
Response example:
{
"AN":{
"latency": "",
"maxNumberofUEs": "",
"maxThroughput": "",
"terminalDensity": ""
},
"CN":{
"latency": "",
"maxThroughput": "",
"maxNumberofConns": ""
},
"TN-FH":{
"latency": "",
"maxThroughput": ""
},
"TN-MH":{
"latency": "",
"maxThroughput": ""
},
"TN-BH":{
"latency": "",
"maxThroughput": ""
}
}
Note: Refer SO for subnet specific capabilities
NSSMF Adapter call NSSMF APIs