4G: Add milenage support

Change-Id: I4c1fb9bfec9927f2bfa29e6b27959323838f59e5
diff --git a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl
index 5fcc74a..fb3ec98 100644
--- a/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/amarisoft_ltemme.cfg.tmpl
@@ -154,10 +154,13 @@
       amf: 0x9001, /* Authentication Management Field */
       sqn: "000000000000", /* Sequence Number */
       K: "${sub.ki}", /* Anritsu Test USIM */
+% if sub.opc:
+      opc: "${sub.opc}",
+% endif
       /* if true, allow several UEs to have the same IMSI (useful
          with test SIM cards). They are distinguished with their
          IMEI. default = false. */
-      multi_sim: true,
+      multi_sim: false,
     },
 %endfor
     /* Add new entries for each IMSI/K */
diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl
index 720c0ba..d6ba32d 100644
--- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl
@@ -48,8 +48,12 @@
       ue_category: 4,
 
       /* USIM data */
+      sim_algo: "${sub.auth_algo}", /* USIM authentication algorithm: xor, milenage or tuak */
       imsi: "${ue.imsi}",
       K: "${ue.ki}",
+% if ue.opc is not None:
+      opc: "${ue.opc}",
+% endif
 
       /* If enabled, will try to use external SIM card using libpcsclite */
       //external_sim: true,
diff --git a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl
index 5b970bf..250b261 100644
--- a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl
+++ b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl
@@ -20,5 +20,5 @@
 #ue2,mil,001010123456780,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,7,dynamic
 #ue1,xor,001010123456789,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,9001,000000001255,7,dynamic
 %for sub in epc.hss.subscribers:
-ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,${sub.qci},${sub.apn_ipaddr}
+ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,${sub.opc},8000,000000001234,${sub.qci},${sub.apn_ipaddr}
 %endfor
diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl
index a75be23..3a43f17 100644
--- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl
+++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl
@@ -126,7 +126,9 @@
 [usim]
 mode = soft
 algo = ${ue.auth_algo}
-#opc  = 63BFA50EE6523365FF14C1F45F88737D
+% if ue.opc is not None:
+opc  = ${ue.opc}
+% endif
 k    = ${ue.ki}
 imsi = ${ue.imsi}
 imei = 353490069873319