Network Function Endpoints

Network function endpoints define the URLs and HTTP methods that they accept. Optionally, they can also check HTTP headers, path variables, or query parameters.

Network Function Endpoint Properties describes the configuration properties available to configure endpoints:

Table 1. Network Function Endpoint Properties
Property Description Example Value
nf.endpoints.endpointname.urls A list of URLs served by the endpoint. Path variables are supported by prefixing that part of the URL with a colon ( : ). For example:
/path/:variable/sample
urls:
 - /nchf-convergedcharging/v2/chargingdata
 - /nchf-convergedcharging/v1/chargingdata
nf.endpoints.endpointname.httpMethods A list of HTTP methods that are supported by the endpoint, like POST, GET, and DELETE.
httpMethods: 
 - POST
nf.endpoints.endpointname.messageType (Optional) The message type that the endpoint processes. Valid values are:
  • CHARGING_DATA
  • SPENDING_LIMIT_CONTROL
  • CHARGING_DATA_NOTIFY
  • SPENDING_LIMIT_CONTROL_NOTIFY
  • OTHER

The default value is OTHER.

CHARGING_DATA
nf.endpoints.endpointname.defaultOperation

The expected operation of the endpoint. This can be altered during the process based on the values of the message. Valid values are:

  • CREATE
  • UPDATE
  • DELETE
CREATE
nf.endpoints.endpointname.scope (Optional) The security scope of the endpoint. nchf-convergedcharging

Incoming Message Validation Properties describes the available properties for validation of the incoming message parameters, such as HTTP Headers or path variables. There can be zero to many of these structures per endpoint.

Table 2. Incoming Message Validation Properties
Property Description Example Value
nf.endpoints.endpointname.validationRules.type The parameter type being validated. Valid values are:
  • HTTP_HEADER
  • PATH_PARAM
  • QUERY_PARAM
PATH_PARAM
nf.endpoints.endpointname.validationRules.parameterName The name of the parameter to check. IfvalidationRules.type is HTTP_HEADER, this is the HTTP header name. If validationRules.type is PATH_PARAM, this the name used in the endpoint URL. If validationRules.type is QUERY_PARAM, this is the name of the query string parameter, the name used in the endpoint URL if the type is PATH_PARAM or the name of the query string parameter is the type is QUERY_PARAM. ChargingDataRef
nf.endpoints.endpointname.validationRules.required (Optional) When set to true, the parameter must always be provided. true
nf.endpoints.endpointname.validationRules.regex (Optional) An regular expression that attempts to match the value of the parameter. ^[0-9]*$

Location HTTP Header Creation Properties describes properties related to the creation of a location HTTP header in the response to a CREATE operation:

Table 3. Location HTTP Header Creation Properties
Property Description Example Value
nf.endpoints.endpointname.locationHeader.sendOnError Setting this property to true enables the location HTTP header to return a location when an error occurs with SBA Gateway or MATRIXX Engine. The default value is false.
Note: This property is valid only for subscription IDs for SMF charging (N28 interface) or charging data references for PCF charging (N40 interface).
true
nf.endpoints.endpointname.locationHeader.pattern The pattern used to create the location HTTP header. If included, the %s string is replaced by the ID of the resource, for example the session ID or subscription ID.

This value can include resolvable property names in the format ${property.name}.

${gateway.externalUri}/nchf-convergedcharging/v2/chargingdata/%s
nf.endpoints.endpointname.locationHeader.sendOnOneTimeEvent If set to true, and If the message is identified as a one time event, then a location HTTP header is added. The %s string of the pattern value is replaced with oneTimeEvent. false

Request Messaging Post Processing Properties describes the properties related to request message post processing. Request message post processing and these properties are intended for proof-of-concept and fault investigation. They are not intended for production deployment.

Table 4. Request Messaging Post Processing Properties
Property Description
nf.endpoints.endpointname.preprocessors A list of Groovy files that implement com.matrixx.sba.gateway.mapping.preprocessors.MappingPreprocessor. These are executed on the message in the order given.

The following is a example of the network function endpoints that are initially provisioned in the CHF:

nf:

  endpoints:

    # Default Charging Data CREATE Endpoint
    chargingDataCreate:
      urls:
        - /nchf-convergedcharging/v2/chargingdata
        - /nchf-convergedcharging/v1/chargingdata
      httpMethods:
        - POST
      validationRules: []
      scope: nchf-convergedcharging
      messageType: CHARGING_DATA
      defaultOperation: CREATE
      locationHeader:
        pattern: ${gateway.externalUri}/nchf-convergedcharging/v2/chargingdata/%s
        sendOnOneTimeEvent: true

    # Default Charging Data UPDATE Endpoint
    chargingDataUpdate:
      urls:
        - /nchf-convergedcharging/v2/chargingdata/:ChargingDataRef/update
        - /nchf-convergedcharging/v1/chargingdata/:ChargingDataRef/update
      httpMethods:
        - POST
      validationRules:
        - type: PATH_PARAM
          parameterName: ChargingDataRef
          required: true
          regex: ^[0-9]*$ # numeric
      scope: nchf-convergedcharging
      messageType: CHARGING_DATA
      defaultOperation: UPDATE

    # Default Charging Data DELETE Endpoint
    chargingDataDelete:
      urls:
        - /nchf-convergedcharging/v2/chargingdata/:ChargingDataRef/release
        - /nchf-convergedcharging/v1/chargingdata/:ChargingDataRef/release
      httpMethods:
        - POST
      validationRules:
        - type: PATH_PARAM
          parameterName: ChargingDataRef
          required: true
          regex: ^[0-9]*$ # numeric
      scope: nchf-convergedcharging
      messageType: CHARGING_DATA
      defaultOperation: DELETE

Network Function Endpoint Handlers

Network Function endpoints are processed by one or more handlers. The SBA Gateway supports several handlers. The CHF supports MDC Gateway handlers and Backstop Processing handlers.