Configuration using REST Interface

You can decide to use any other tool to generate REST messages towards SD-Core to configure subscribers, device groups and network slice

Subscriber Configuration

Below example configures subscriber 208014567891209 in the SD-Core. You can any number of subscribers using these APIs. SD-Core takes care of configuring Network Function responsible for authentication with the below details.

- Post:
  URL: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-xxx>`
  Ex: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-208014567891209>`

  Request Body:

      {
          "UeId":"208014567891209",
          "plmnId":"20801",
          "opc":"d4416644f6154936193433dd20a0ace0",
          "key":"465b5ce8b199b49faa5f0a2ee238a6bc",
          "sequenceNumber":"96"
      }

- Delete:
  URL: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-xxx>`
  Ex: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-208014567891209>`

Device Group Configuration

Below example groups multiple IMSIs under one IP domain. IP domain is close match with APN in 4G & dnn in case of 5G. Along with UE IP pool, there is also configuration of QoS for the users in this group.

- Post:
  URL: `http://<config-service-name-or-ip>:<port>/device-group/<group-name>`
  Ex: `http://config5g:8080/device-group/iot-camera`

  Request Body:
  {
      "imsis":
      [
          "123456789123456"
          "123456789123457"
          "123456789123458"
      ],
      "site-info": "menlo",
      "ip-domain-name": "pool1",
      "ip-domain-expanded":
      {
          "dnn": "internet",
          "ue-ip-pool": "10.91.0.0/16",
          "dns-primary": "8.8.8.8",
          "dns-secondary": "8.8.4.4",
          "mtu": 1460,
          "ue-dnn-qos":
          {
              "dnn-mbr-uplink": 4000000,
              "dnn-mbr-downlink": 20000000,
              "bitrate-unit": "Mbps",
              "traffic-class":
              {
                  "qci": 9,
                  "arp": 1,
                  "pdb": 2,
                  "pelr": 1,
                  "name": "platinum"
              }
          }
      }
  }

- Delete
  URL: `http://<config-service-name-or-ip>:<port>/device-group/<group-name>`
  Ex: `http://config5g:8080/device-group/iot-camera`

Note

REST API can use PUT Method to modify/replace the device group configuration. IMSIs can be added, removed through PUT Method.

Note

If UPF is used to allocate UE address allocation then even if you have specified UE address pool in the slice config, you still need to add the address pool configuration in the UPF deployment.

Network Slice Configuration

Below example creates Network Slice with set of eNBs, UPF and device groups.

- Post:
  URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
  Ex: `http://config5g:8080/network-slice/slice1`


  Request Body:
  {
      "slice-id":
      {
          "sst": "1",
          "sd": "010203"
      },
      "qos":
      {
          "uplink": 4000000,
          "downlink": 20000000,
          "bitrate-unit": "Mbps",
          "traffic-class":
          {
              "qci": 9,
              "arp": 1,
              "pdb": 2,
              "pelr": 1,
              "name": "platinum"
          }
      },
      "site-device-group":
      [
          "iot-camera"
      ],
      "site-info":
      {
          "site-name": "menlo",
          "plmn":
          {
              "mcc": "315",
              "mnc": "010"
          },
          "gNodeBs":
          [
              {
              "name": "menlo-gnb1",
              "tac": 1
              }
          ],
          "upf":
          {
          "upf-name": "upf.menlo.aetherproject.org",
          "upf-port": 8805
          }
      },
  }

- Delete
  URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
  Ex: `http://config5g:8080/network-slice/slice1`

Note

Slice needs to have single UPF. Multiple UPFs can not be added in single Slice. One or more access nodes can be added in slice. For now SD-Core does not do any validation of access nodes connecting to MME/AMF, but TAC & PLMN validation is done in Core Network.

Network Slice + Application filtering Configuration

Below example creates Network Slice with set of eNBs, UPF and device groups. Note that this slice only allows traffic to single application hosted at address 10.91.1.3 .. code-block:

- Post:
  URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
  Ex: `http://config5g:8080/network-slice/slice1`


  Request Body:
  {
      "slice-id":
      {
          "sst": "1",
          "sd": "010203"
      },
      "qos":
      {
          "uplink": 4000000,
          "downlink": 20000000,
          "bitrate-unit": "Mbps",
          "traffic-class":
          {
              "qci": 9,
              "arp": 1,
              "pdb": 2,
              "pelr": 1,
              "name": "platinum"
          }
      },
      "site-device-group":
      [
          "iot-camera"
      ],
      "site-info":
      {
          "site-name": "menlo",
          "plmn":
          {
              "mcc": "315",
              "mnc": "010"
          },
          "gNodeBs":
          [
              {
              "name": "menlo-gnb1",
              "tac": 1
              }
          ],
          "upf":
          {
          "upf-name": "upf.menlo.aetherproject.org",
          "upf-port": 8805
          }
      },
      "application-filtering-rules":
        [
           {
              "rule-name": rule-1,
              "priority": 5,
              "action" : permit,
              "endpoint": "10.91.1.3",
              "traffic-class":
              {
                "name": “platinum”,
                "qci": 9,
                "arp": 125,
                "pdb": 300,
                "pelr": 6
              }
          }
        ]
  }

- Delete
  URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
  Ex: `http://config5g:8080/network-slice/slice1`

Note

ROC uses REST APIs to configure SD-Core. ROC provides nice web portal to manage network slices and devices. Refer Aether document.