SBA Gateway Properties

Gateway-Related Configuration Properties describes the properties for basic SBA Gateway configuration.

Table 1. Gateway-Related Configuration Properties
Property Description
gateway.host The interface on which to listen for incoming connections.
gateway.port The unencrypted HTTP port. (Set to 0 to disable.)
gateway.operationsPort The port used for common operations such as a health check, ready check, and metrics.
gateway.externalUri The external URL accessing this network function. This can be used by network functions to publish the external URI.
gateway.nfInstanceId The network function instance ID used if registering with an NRF.
gateway.nfType The network function type, such as CHF.
gateway.offline.topic.single When gateway.offline.kafka.enabled is set to true, this specifies the Kafka topic for unrated messages.
gateway.http2PriorKnowledge Determines HTTP versions used for TLS and non-TLS connections. When set to true, HTTP/2.0 is supported for TLS and non-TLS connections. ALPN is not used, so HTTP/1.1 downgrade is not supported.

When set to false, HTTP/2.0 and HTTP/1.1 are both supported for TLS connections. APLN is used to upgrade to HTTP/2.0. HTTP/1.1 is used for non-TLS connections.

gateway.http2Settings.headerTableSize The maximum size of the HTTP/2.0 header compression table used to decode header blocks, in octets. The encoder can select any size equal to or less than this value by using signaling specific to the header compression format inside a header block. The default value is 4096.
gateway.http2Settings.pushEnabled When set to true, enables a server push. The default value is true.
gateway.htttp2Settings.maxConcurrentStreams The maximum number of concurrent streams the sender permits the receiver to create. Initially, there is no limit to this value. This value is recommended be no smaller than 100, so as to not needlessly limit parallelism. The default value is 100.
gateway.http2Settings.initialWindowSize The initial sender window size, in octets, for stream-level flow control. The default value is 65535.
gateway.http2Settings.maxFrameSize The maximum size of frame payload that the sender is willing to receive, in octets. The default value is 16384.
gateway.http2Settings.maxHeaderListSize The maximum size of header list that the sender is prepared to accept, in octets. The value is based on the uncompressed size of header fields, including the length of the name and value in octets plus an overhead of 32 octets for each header field. The default value is 8192.
gateway.addressResolverCacheTTLSeconds A time-to-live (TTL) value, in seconds, for cached DNS lookups. The default value is 300 (5 minutes). Specify a value of 0 to disable.
gateway.shutdownDelaySeconds Specifies the amount of time in seconds to delay shutdown to allow in-flight requests to be handled. When shutdown is triggered, SBA Gateway sends a GOAWAY frame to any new request received. The default value is 10.

The following configuration excerpt shows the default values for these properties:

# Settings Related to the SBA Gateway on which a Network Function runs
gateway:
  # Interface on which to listen for incoming connections
  host: 0.0.0.0
  # Unencrypted HTTP port (set to 0 to disable)
  port: 9098
  # Specify the external URL to access this network function. May be used by network functions to publish the external URI.
  externalUri: http://localhost:9098
  # Port used for common "operations" (Health check, ready check, metrics)
  operationsPort: 9097  
  # Network function instance id (UUID). Used if registering with an NRF.
  nfInstanceId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
  # Network function type (e.g. CHF)
  nfType: CUSTOM_MATRIXX_SBA_BASE
  # If http2PriorKnowledge is false:
  #
  # HTTP/2.0 and HTTP/1.1 are both supported for TLS connections (ALPN is used to
  # upgrade to HTTP/2.0). HTTP/1.1 will be used for non-TLS connections.
  #
  # If http2PriorKnowledge is true, HTTP/2.0 will used for TLS and non-TLS
  # connections. ALPN will not be used so HTTP/1.1 downgrade will not be supported.
  http2PriorKnowledge: true
 
  # Initial Http2Settings used by the web client.
  # Every connection will use these settings by default
  # This and the fields under it are each optional
  http2Settings:
    headerTableSize: 4096
    pushEnabled: true
    maxConcurrentStreams: 100
    initialWindowSize: 65535
    maxFrameSize: 16384
    maxHeaderListSize: 8192
   
  # TTL for cached DNS lookups (set to 0 for no TTL)
  addressResolverCacheTTLSeconds: 300

  # Delay whilst shutting down to handle in-flight requests, in seconds
  shutdownDelaySeconds: 10