A Service Profile is an endpoint configuration entity that groups services and traffic limits for assignment.

Instead of assigning services and traffic limits directly to an endpoint, those can be associated to a service profile and assigned to an endpoint in a single operation.

A Service Profile holds a collection of services and for each associated service it is possible to assign zero or more traffic limits. To define traffic limits it is first necessary to associate services to a profile.

  • Services are read only objects.
  • Traffic limits are defined for a particular service
  • Traffic limits can also be associated directly to an endpoint

The typical workflow for service profile definition is:

  1. POST - Create a service profile
  2. PUT - Add service(s) to a profile (service collection)
  3. PUT - Add traffic limit(s) to a service (traffic_limit collection)

NOTE: For Service Profile management; paging, filtering and sorting is NOT provided.

Service Profile Object

Here is the description of a Service Profile object:

Name Type Description
id Integer Unique ID of this service profile
name String A name or short description of the Service Profile (e.g.. for select boxes)
description String A full description of the Service Profile
allowed_3g Boolean Is 3G allowed
allowed_4g Boolean Is 4G allowed
allowed_nb_iot Boolean Is NB-IoT allowed
DEPRECATED apply_quota Boolean Use apply_data_quota instead. Will be ignored in create/update requests if apply_data_quota is present
apply_data_quota Boolean Apply a quota for data usage
apply_sms_quota Boolean Apply a quota for sms usage
retail Boolean Enable or disable Retail Subscription Management which allows the customer to manage or top up a prepaid balance. Use of this feature requires privileges `provided by BICS.
sms_p2p_int Boolean Allow P2P SMS between endpoints for your own organisation (internal)
sms_p2p_ext Boolean Allow P2P SMS to/from the world (external)
DEPRECATED prepaid Boolean Enable prepaid balance management per endpoint
nipdp Boolean Enable Network-Initiated PDP. If enabled and an endpoint is offline, EGN nodes will send GTP PDU-Notifications if packets are arriving for the IP of the endpoint
used_count Integer The number of endpoints using this service profile
api_callback Object id (Integer) - ID of the API callback
url (String) - URL of the API callback
purpose (String) - Purpose of the API callback
created (Date) - Creation date timestamp of the API callback
api_secret Object id (Integer) - ID of the API Secret
purpose (String) - Purpose of the API Secret
moc_callback Object id (Integer) - ID of the MOC callback
url (String) - URL of the MOC callback
purpose (String) - Purpose of the MOC callback
created (Date) - Creation date timestamp of the MOC callback
esme_interface_type Object id (Integer) - ID of the ESME interface type
breakout_region Object id (Integer) - ID of the Breakout Region
dns Object id (Integer) - DNS ID
service Collection
(Service)
Nested collection of services associated with a profile

Nested Services Object

Here is the description of a nested Service object:

Name Type Description
id Integer Unique ID of this service
description String Description of a service
teleservice_code Integer Teleservice code of a service
used_with_vlr Boolean Is this service used with Visitor Location Register
used_with_sgsn Boolean Is this service used with Serving GPRS Support Node
traffic_type Object id (Integer) - Traffic type ID
description (String) - Traffic type description
unit (String) - Traffic type unit of measure
traffic_limit Collection
(traffic_limit)
Collection of traffic limits associated (nested) to a service

Nested Traffic Limit Object

Here is the description of a (nested) Traffic limit object:

Name Type Description
id Integer Unique ID of this traffic limit
volume Integer Volume limit of this traffic limit object
period Object id (Integer) - limit period ID
time_units (Integer) - number of units
unit (String) - Unit of measure

Service Profile Example

[
  {
    "id": 1,
    "name": "Smart meter",
    "description": "Data + SMS - 1G limit",
    "allowed_3g": true,
    "allowed_4g": false,
    "allowed_nb_iot": false,
    "retail": false,
    "sms_p2p_int": true,
    "sms_p2p_ext": true,
    "nipdp": false,
    "used_count":12,
    "api_callback":{
      "id":38,
      "url": "https://www.customers-server.com",
      "created": "2015-03-18 16:11:07",
      "purpose": "Customer's Webserver"
    },
    "api_secret":{
      "id": 38,
      "purpose": "K3"
    },
    "moc_callback":{
      "id":39,
      "url": "https://moc.customers-server.com",
      "created": "2015-03-18 16:11:17",
      "purpose": "Customer's Moc server"
    },
    "esme_interface_type": {
        "description": "Console",
        "id": 3
    },
    "breakout_region": {
        "name": "eu-west-1 (VPN)",
        "ip_address": "0.0.0.0",
        "id": 3
    },
    "dns": {
        "id": 1,
        "primary": "8.8.8.8",
        "secondary": "8.8.4.4",
        "ip_address_version": 4
    },
    "service": [
      {
        "id": 123,
        "description": "Data",
        "teleservice_code": 7678345,
        "used_with_vlr": true,
        "used_with_sgsn": true,
        "traffic_type": {
          "id": 1,
          "description": "Data",
          "unit": "GB"
        },
        "traffic_limit": [
          {
            "id": 123,
            "volume": 64,
            "period": {
              "id": 33,
              "time_units": 5,
              "unit": "Days"
            }
          },
          {
            "id": 234,
            "volume": 128,
            "period": {
              "id": 35,
              "time_units": 1,
              "unit": "Months"
            }
          }
        ]
      },
      {
        "id": 234,
        "description": "SMS",
        "teleservice_code": 441236,
        "used_with_vlr": true,
        "used_with_sgsn": true,
        "traffic_type": {
          "id": 2,
          "description": "SMS",
          "unit": "count"
        },
        "traffic_limit": []
      }
    ]
  }
]