diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-09-13 03:05:52 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2018-09-17 01:12:13 +0200 |
commit | 986fe7ed18580775bed91399a1f02eae60bda251 (patch) | |
tree | bbcc704521dea6cac10963091ca3d4bf3646cb8c /tests/msc_vlr | |
parent | 5e91debe4eb75dcd4990038fb5da6d8db9ef0eba (diff) |
store classmark in vlr_subscr, not conn
Store all Classmark information in the VLR.
So, we now always know the Classmark 1 (mandatory IE for LU). This is visible
in the msc_vlr_tests -- they no longer indicate "assuming A5/1 is supported"
because classmark 1 is missing, because we now know the Classmark 1.
Rationale:
During Location Updating, we receive Classmark 1; during CM Service Request and
Paging Response, we receive Classmark 2. So far we stored these only for the
duration of the conn, so as soon as a LU is complete, we would forget CM1.
In other words, for anything else than a LU Request, we had no Classmark 1
available at all.
During Ciphering Mode Command, we rely on Classmark 1 to determine whether A5/1
is supported. That is moot if we don't even have a Classmark 1 for any CM
Service Request or Paging Response initiated connections.
The only reason that A5/1 worked is that we assume A5/1 to work if Classmark 1
is missing. To add to the confusion, if a phone indicated that it did *not*
support A5/1 in the Classmark 1, according to spec we're supposed to not
service it at all. A code comment however says that we instead want to heed the
flag -- which so far was only present in a Location Updating initiated
connection. Now we can make this decision without assuming things.
This got my attention while hacking on sending a BSSMAP Classmark Request from
the MSC if it finds missing Classmark information, and was surprised to see it
it lacking CM1 to decide about A5/1.
Change-Id: I27081bf6e9e017923b2d02607f7ea06beddad82a
Diffstat (limited to 'tests/msc_vlr')
-rw-r--r-- | tests/msc_vlr/msc_vlr_test_gsm_ciph.err | 6 | ||||
-rw-r--r-- | tests/msc_vlr/msc_vlr_test_rest.err | 3 |
2 files changed, 1 insertions, 8 deletions
diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err index 83723ab13..71e34a8f3 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err @@ -237,7 +237,6 @@ DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_WAIT_AU DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_WAIT_AUTH}: Set Ciphering Mode DMM -> CIPHER MODE COMMAND MSISDN:46071 -DMSC CLASSMARK 1 unknown, assuming MS supports A5/1 - sending Ciphering Mode Command for MSISDN:46071: include_imeisv=0 - ...perm algo: 2 - ...key: 07fa7502e07e1c00 @@ -376,7 +375,6 @@ DVLR Process_Access_Request_VLR(PAGING_RESP:901700000004620){PR_ARQ_S_WAIT_AUTH} DVLR Process_Access_Request_VLR(PAGING_RESP:901700000004620){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(PAGING_RESP:901700000004620){PR_ARQ_S_WAIT_AUTH}: Set Ciphering Mode DMM -> CIPHER MODE COMMAND MSISDN:46071 -DMSC CLASSMARK 1 unknown, assuming MS supports A5/1 - sending Ciphering Mode Command for MSISDN:46071: include_imeisv=0 - ...perm algo: 2 - ...key: e2b234f807886400 @@ -779,7 +777,6 @@ DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:50462976){PR_ARQ_S_WAIT_AUTH}: Re DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:50462976){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:50462976){PR_ARQ_S_WAIT_AUTH}: Set Ciphering Mode DMM -> CIPHER MODE COMMAND MSISDN:46071 -DMSC CLASSMARK 1 unknown, assuming MS supports A5/1 - sending Ciphering Mode Command for MSISDN:46071: include_imeisv=0 - ...perm algo: 2 - ...key: 07fa7502e07e1c00 @@ -918,7 +915,6 @@ DVLR Process_Access_Request_VLR(PAGING_RESP:50462976){PR_ARQ_S_WAIT_AUTH}: Recei DVLR Process_Access_Request_VLR(PAGING_RESP:50462976){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(PAGING_RESP:50462976){PR_ARQ_S_WAIT_AUTH}: Set Ciphering Mode DMM -> CIPHER MODE COMMAND MSISDN:46071 -DMSC CLASSMARK 1 unknown, assuming MS supports A5/1 - sending Ciphering Mode Command for MSISDN:46071: include_imeisv=0 - ...perm algo: 2 - ...key: e2b234f807886400 @@ -2018,7 +2014,6 @@ DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000010650){PR_ARQ_S_WAIT_AU DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000010650){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000010650){PR_ARQ_S_WAIT_AUTH}: Set Ciphering Mode DMM -> CIPHER MODE COMMAND MSISDN:42342 -DMSC CLASSMARK 1 unknown, assuming MS supports A5/1 - sending Ciphering Mode Command for MSISDN:42342: include_imeisv=0 - ...perm algo: 2 - ...key: da149b11d473f400 @@ -2147,7 +2142,6 @@ DVLR Process_Access_Request_VLR(PAGING_RESP:901700000010650){PR_ARQ_S_WAIT_AUTH} DVLR Process_Access_Request_VLR(PAGING_RESP:901700000010650){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2() DVLR Process_Access_Request_VLR(PAGING_RESP:901700000010650){PR_ARQ_S_WAIT_AUTH}: Set Ciphering Mode DMM -> CIPHER MODE COMMAND MSISDN:42342 -DMSC CLASSMARK 1 unknown, assuming MS supports A5/1 - sending Ciphering Mode Command for MSISDN:42342: include_imeisv=0 - ...perm algo: 2 - ...key: 26ec67fad3073000 diff --git a/tests/msc_vlr/msc_vlr_test_rest.err b/tests/msc_vlr/msc_vlr_test_rest.err index e71295a63..395a1389e 100644 --- a/tests/msc_vlr/msc_vlr_test_rest.err +++ b/tests/msc_vlr/msc_vlr_test_rest.err @@ -71,8 +71,7 @@ DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_NEW}: Received Eve DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101: compl_l3,release) - BSSAP Clear --RAN_GERAN_A--> MS -DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_COMPLETE_LAYER_3 -DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASING}: Event SUBSCR_CONN_E_COMPLETE_LAYER_3 not permitted +DRR 901700000004620: subscriber not allowed to do a CM Service Request DREF unknown: MSC conn use - compl_l3 == 1 (0x100: release) bssap_clear_sent == 1 - conn was released |