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:
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:
|
|
nf.endpoints.endpointname.httpMethods | A list of HTTP methods that are supported by the endpoint, like POST, GET, and DELETE. |
|
nf.endpoints.endpointname.messageType | (Optional) The message type that the endpoint processes. Valid values are:
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 |
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.
Property | Description | Example Value |
---|---|---|
nf.endpoints.endpointname.validationRules.type | The parameter type being validated. Valid values are:
|
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:
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 |
${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.
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.