hlr: fill auc_2g table when registering a subscriber
Change-Id: I491d093934c129a01baa1c5d7ada4acf370bf37d
diff --git a/src/osmo_gsm_tester/osmo_hlr.py b/src/osmo_gsm_tester/osmo_hlr.py
index 19241cc..fbcd43e 100644
--- a/src/osmo_gsm_tester/osmo_hlr.py
+++ b/src/osmo_gsm_tester/osmo_hlr.py
@@ -31,6 +31,10 @@
process = None
next_subscriber_id = 1
+ AUTH_ALGO_NONE = 0
+ AUTH_ALGO_XOR = 1
+ AUTH_ALGO_COMP128v1 = 2
+
def __init__(self, suite_run, ip_address):
super().__init__(log.C_RUN, 'osmo-hlr_%s' % ip_address.get('addr'))
self.suite_run = suite_run
@@ -113,16 +117,21 @@
f.write(sql)
self.run_sql_file(name, sql_file)
- def subscriber_add(self, modem, msisdn=None):
+ def subscriber_add(self, modem, msisdn=None, algo=None):
if msisdn is None:
msisdn = self.suite_run.resources_pool.next_msisdn(modem)
modem.set_msisdn(msisdn)
subscriber_id = self.next_subscriber_id
self.next_subscriber_id += 1
- self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi(), subscriber_id=subscriber_id)
+ if not algo:
+ algo = self.AUTH_ALGO_COMP128v1 if modem.ki() else self.AUTH_ALGO_NONE
+ self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi(), subscriber_id=subscriber_id, algo=algo)
self.run_sql('add_subscriber',
'insert into subscriber (id, imsi, msisdn) values (%r, %r, %r);'
% (subscriber_id, modem.imsi(), modem.msisdn))
+ self.run_sql('add_subscriber',
+ 'insert into auc_2g (subscriber_id, algo_id_2g, ki) values (%r, %r, %r);'
+ % (subscriber_id, algo, modem.ki()))
return subscriber_id
def conf_for_msc(self):