Application-Specific Properties
CHF Proxy accepts 5G network traffic and can route it to a pre-configured Charging Function (CHF) implementation using basic routing rules and values extracted from the messages. After initial deployment of CHF Proxy, you can further customize the application configuration.
You can configure CHF Proxy application properties with one or more configuration maps. For information about configuration maps, see the discussion of configuration map properties.
The following subsections describe the configuration properties for CHF Proxy.
This is an example configuration:
scaling:
main:
mode: manual
instances: 4
http:
port: 8080
baseUrl: "https://chf.matrixx.com"
routes:
chargingData:
urls:
- /nchf-convergedcharging/v2/chargingdata
- /nchf-convergedcharging/v2/chargingdata/:ref/update
- /nchf-convergedcharging/v2/chargingdata/:ref/release
- /nchf-convergedcharging/v2/chargingdata/:endpoint/:ref/update
- /nchf-convergedcharging/v2/chargingdata/:endpoint/:ref/release
extractedFields:
imsi:
fromMessage:
jsonPath: $.subscriberIdentifier
regex: "^imsi\\-(?<value>[0-9]{1,15})$"
nai:
fromMessage:
jsonPath: $.subscriberIdentifier
regex: "^nai\\-(?<value>.*)$"
routingRules:
- targetEndpoint: chf-one
fieldValueMatchingRules:
- between:
fieldName: imsi
lower: 1
upper: 10
- targetEndpoint: chf-one
fieldValueMatchingRules:
- between:
fieldName: nai
lower: 1
upper: 10
defaultEndpoint: chf-two
locationHeader:
pattern: "%s/nchf-convergedcharging/v2/chargingdata/%s/%s"
strategy: PROPAGATE
spendingLimitControl:
urls:
- /nchf-spendinglimitcontrol/v1/subscriptions/:ref
- /nchf-spendinglimitcontrol/v1/subscriptions/:endpoint/:ref
extractedFields:
imsi:
fromMessage:
jsonPath: $.supi
regex: "^imsi\\-(?<value>[0-9]{1,15})$"
nai:
fromMessage:
jsonPath: $.supi
regex: "^nai\\-(?<value>.*)$"
routingRules:
- targetEndpoint: chf-one
fieldValueMatchingRules:
- between:
fieldName: imsi
lower: 1
upper: 100
- targetEndpoint: chf-one
fieldValueMatchingRules:
- between:
fieldName: nai
lower: 1
upper: 100
- targetEndpoint: chf-two
fieldValueMatchingRules:
- between:
fieldName: imsi
lower: 101
upper: 200
- targetEndpoint: chf-two
fieldValueMatchingRules:
- between:
fieldName: nai
lower: 101
upper: 200
locationHeader:
pattern: "%s/nchf-spendinglimitcontrol/v1/subscriptions/%s/%s"
strategy: PROPAGATE
endpoints:
chf-one:
baseUrl: http://chf-one:8080
networkCDRs:
config:
bootstrap.servers: kafka:9092
topic:
single: chf-one-cdrs
logger:
enabled: true
chf-two:
baseUrl: http://chf-two:8080
enrichedHeaders:
- headerName: "X-IMSI"
fieldName: imsi