forked from nickvsnetworking/pyhss
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.yaml
More file actions
190 lines (151 loc) · 5.89 KB
/
config.yaml
File metadata and controls
190 lines (151 loc) · 5.89 KB
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
189
190
## 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"
#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
#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
# Send requests via a DRA (if connected) when a given peer can't be found
use_dra_fallback: False
# How long an emergency subscriber entry will last for in the table before expiring, in minutes.
emergency_subscriber_expiry: 3600
# Whether to send a Delete Subscriber Data Request to the Old MME on an Update Location Request.
send_dsr_on_mme_change: False
# Static Identifier for the subscriber context with the Delete Subscriber Data Request.
dsr_external_identifier: "example"
# Whether to ignore Purge UE Requests - leaving the subscriber state with the last served mme instead of null.
ignore_purge_ue_request: False
#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
gsup:
bind_ip: "0.0.0.0"
bind_port: 4222
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
# PyHSS supports multiple database types. The default is SQLite, suitable for
# development and small scale deployments. For big scale deployments, consider
# using MySQL or PostgreSQL instead (see below).
database:
db_type: sqlite
database: hss.db
# database:
# db_type: mysql
# server: 127.0.0.1
# username: dbeaver
# password: password
# database: hss2
# database:
# db_type: postgresql
# server: 127.0.0.1
# username: dbeaver
# password: password
# database: hss2
## 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
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