Files
docker_open5gs/pyhss/config.yaml
2024-08-11 17:47:06 +02:00

151 lines
5.0 KiB
YAML

## HSS Parameters
hss:
# Transport Type. "TCP" and "SCTP" are valid options.
# Note: SCTP works but is still experimental. TCP has been load-tested and performs in a production environment.
transport: "TCP"
#IP Addresses to bind on (List) - For TCP only the first IP is used, for SCTP all used for Transport (Multihomed).
bind_ip: ["PYHSS_IP"]
#Port to listen on (Same for TCP & SCTP)
bind_port: PYHSS_BIND_PORT
#Value to populate as the OriginHost in Diameter responses
OriginHost: "hss.IMS_DOMAIN"
#Value to populate as the OriginRealm in Diameter responses
OriginRealm: "IMS_DOMAIN"
#Value to populate as the Product name in Diameter responses
ProductName: "pyHSS"
#Name of the Site, shown in API
site_name: "Test Site"
#Your Home Mobile Country Code (Used for PLMN calcluation)
MCC: "OP_MCC"
#Your Home Mobile Network Code (Used for PLMN calcluation)
MNC: "OP_MNC"
#Enable GMLC / SLh Interface
SLh_enabled: False
#IMSI of Test Subscriber for Unit Checks (Optional)
test_sub_imsi: '001021234567890'
#The maximum time to wait, in seconds, before disconnecting a client when no data is received.
client_socket_timeout: 120
#The maximum time to wait, in seconds, before discarding a diameter request.
diameter_request_timeout: 3
#The amount of time, in seconds, before purging a disconnected client from the Active Diameter Peers key in redis.
active_diameter_peers_timeout: 10
#Prevent updates from being performed without a valid 'Provisioning-Key' in the header
lock_provisioning: False
#Provisioning Key for this HSS, alias for an API key. Required to be present in the header of requests to this HSS' api, if lock_provisioning is True.
provisioning_key: "hss"
#If enabled sends CLRs to old MME when new MME attaches active sub
CancelLocationRequest_Enabled: False
#Workaround for some MMEs to force an Insert Subscriber Data request to be sent immediately after ULA
Insert_Subscriber_Data_Force: False
#Default Initial Filter Criteria for IMS Subscribers
#Jinja Formatted Template, see the example for variables passed to it.
Default_iFC: 'INSTALL_PREFIX/default_ifc.xml'
#Default Sh User Data
Default_Sh_UserData: 'INSTALL_PREFIX/default_sh_user_data.xml'
#S-CSCF Pool
scscf_pool:
- 'sip:scscf.IMS_DOMAIN:6060'
roaming:
outbound:
# Whether or not to a subscriber to connect to an undefined network when outbound roaming.
allow_undefined_networks: True
# SCTP Socket Parameters
sctp:
rtoMax: 5000
rtoMin: 500
rtoInitial: 1000
api:
page_size: 200
# Whether or not to return key-based data when querying the AUC. Disable in production systems.
enable_insecure_auc: True
benchmarking:
# Whether to enable benchmark logging
enabled: True
# How often to report, in seconds. Not all benchmarking supports interval reporting.
reporting_interval: 3600
eir:
imsi_imei_logging: True #Store current IMEI / IMSI pair in backend
no_match_response: 2 #Greylist
store_offnet_imsi: False # Whether or not to store an IMEI / IMSI pair that doesn't exist in the AUC
simSwapNotification: False # If the IMEI for a stored IMSI/IMEI combo changes, notify the webhook endpoint
logging:
level: INFO
logfiles:
hss_logging_file: INSTALL_PREFIX/log/hss.log
diameter_logging_file: INSTALL_PREFIX/log/diameter.log
geored_logging_file: INSTALL_PREFIX/log/geored.log
metric_logging_file: INSTALL_PREFIX/log/metrics.log
log_to_terminal: True
sqlalchemy_sql_echo: True
sqlalchemy_pool_recycle: 15
sqlalchemy_pool_size: 30
sqlalchemy_max_overflow: 0
## Database Parameters
database:
db_type: mysql #Supported types are MySQL and Postgres
server: MYSQL_IP
username: pyhss
password: ims_db_pass
database: ims_hss_db
readCacheEnabled: True
readCacheInterval: 60
## External Webhook Notifications
webhooks:
enabled: False
endpoints:
- 'http://127.0.0.1:8181'
## Geographic Redundancy Parameters
geored:
enabled: False
sync_actions: ['HSS', 'IMS', 'PCRF', 'EIR'] #What event actions should be synced
sync_endpoints: #List of PyHSS API Endpoints to update
- 'http://hss01.mnc001.mcc001.3gppnetwork.org:8080'
- 'http://hss02.mnc001.mcc001.3gppnetwork.org:8080'
#Redis is required to run PyHSS. An instance running on a local network is recommended for production.
redis:
# Which connection type to attempt. Valid options are: tcp, unix, sentinel
# tcp - Connection via a standard TCP socket to a given host and port.
# unix - Connect to redis via a unix socket, provided by unixSocketPath.
# sentinel - Connect to one or more redis sentinel hosts.
connectionType: "tcp"
unixSocketPath: '/var/run/redis/redis-server.sock'
host: 127.0.0.1
port: 6379
prometheus:
enabled: False
port: 8081 #If the API is run the API runs on the next port number up from this
async_subscriber_count: False #If enabled the subscriber count will be updated asynchronously for Prometheus
snmp:
port: 1161
listen_address: 127.0.0.1