151 lines
5.0 KiB
YAML
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
|