-
Notifications
You must be signed in to change notification settings - Fork 58
/
config.yaml
188 lines (149 loc) · 5.85 KB
/
config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
## 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: ["0.0.0.0"]
#Port to listen on (Same for TCP & SCTP)
bind_port: 3868
#Value to populate as the OriginHost in Diameter responses
OriginHost: "hss01"
#Value to populate as the OriginRealm in Diameter responses
OriginRealm: "epc.mnc001.mcc001.3gppnetwork.org"
#Value to populate as the Product name in Diameter responses
ProductName: "pyHSS"
#Name of the Site, shown in API
site_name: "Sydney"
#Your Home Mobile Country Code (Used for PLMN calcluation)
MCC: "001"
#Your Home Mobile Network Code (Used for PLMN calcluation)
MNC: "01"
#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 disconnecting a client when no data is received.
client_socket_timeout: 300
#The maximum time to wait, in seconds, before discarding a diameter request.
diameter_request_timeout: 3
# Whether to send a DWR to connected peers.
send_dwr: False
# How often to send a DWR to connected peers if enabled, in seconds.
send_dwr_interval: 5
#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: "changeThisKeyInProduction"
#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: 'default_ifc.xml'
#Default Sh User Data
Default_Sh_UserData: 'default_sh_user_data.xml'
#Whether to use an external socket service
use_external_socket_service: False
#The Redis key used to store active diameter peers
diameter_peer_key: diameterPeers
#S-CSCF Pool
scscf_pool:
- 'scscf.ims.mnc001.mcc001.3gppnetwork.org'
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: False
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
# Define an optional TAC csv file path
#tac_database_csv: '/etc/pyhss/tac_database.csv'
logging:
level: INFO
logfiles:
hss_logging_file: /var/log/pyhss_hss.log
diameter_logging_file: /var/log/pyhss_diameter.log
geored_logging_file: /var/log/pyhss_geored.log
metric_logging_file: /var/log/pyhss_metrics.log
sqlalchemy_sql_echo: False
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: 127.0.0.1
username: dbeaver
password: password
database: hss2
readCacheEnabled: True
readCacheInterval: 60
## External Webhook Notifications
webhooks:
enabled: False
endpoints:
- 'http://127.0.0.1:8181'
### Notifications to OCS on Credit Control Requests
ocs:
enabled: False
endpoints:
- 'http://127.0.0.1:8282'
## Geographic Redundancy Parameters
geored:
enabled: False
sync_actions: ['HSS', 'IMS', 'PCRF', 'EIR'] #What event actions should be synced
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: localhost
port: 6379
sentinel:
masterName: exampleMaster
hosts:
- exampleSentinel.mnc001.mcc001.3gppnetwork.org:
port: 6379
password: ''
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
influxdb:
enabled: False
host: "127.0.0.1"
port: 8086
username: exampleUser
password: examplePassword
database: example
snmp:
port: 1161
listen_address: 127.0.0.1