osmo-msc/src/libmsc
Neels Hofmeyr 986fe7ed18 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
2018-09-17 01:12:13 +02:00
..
Makefile.am Remove local libgsupclient; Use libosmo-gsup-client from osmo-hlr 2018-08-05 11:20:21 +02:00
a_iface.c a_reset: cleanup + remove dead code 2018-05-17 20:14:01 +00:00
a_iface_bssap.c mgcp: use codec information returned with ASSIGNMENT COMPL. 2018-08-07 16:51:30 +00:00
a_reset.c a_reset: cleanup + remove dead code 2018-05-17 20:14:01 +00:00
ctrl_commands.c Add control command to expire subscriber 2018-01-05 10:10:35 +00:00
db.c Wrap osmo_strlcpy() calls 2018-02-05 12:57:06 +01:00
gsm_04_08.c store classmark in vlr_subscr, not conn 2018-09-17 01:12:13 +02:00
gsm_04_08_cc.c mgcp: use codec information returned with ASSIGNMENT COMPL. 2018-08-07 16:51:30 +00:00
gsm_04_11.c Remove unused GSM_PAGING_OOM 2018-04-24 11:35:37 +02:00
gsm_04_14.c remove bsc_api.h and all users - they're all dead code 2018-02-14 00:28:02 +01:00
gsm_04_80.c libmsc/gsm_09_11.c: clean up the local GSM 04.80 API 2018-08-05 07:15:01 +00:00
gsm_09_11.c Remove local libgsupclient; Use libosmo-gsup-client from osmo-hlr 2018-08-05 11:20:21 +02:00
gsm_subscriber.c Massive removal of unused code/structs/headers 2018-01-25 00:18:05 +01:00
iu_dummy.c iucs: Add a function to return the connection ID for the IU SCCP conn 2018-02-16 08:09:32 +00:00
iucs.c unify allocation of gsm_subscriber_connection 2018-04-05 01:10:32 +02:00
iucs_ranap.c properly receive BSSMAP Clear Complete and Iu Release Complete 2018-04-11 21:39:44 +00:00
mncc.c Massive removal of unused code/structs/headers 2018-01-25 00:18:05 +01:00
mncc_builtin.c Massive removal of unused code/structs/headers 2018-01-25 00:18:05 +01:00
mncc_sock.c libmsc/mncc_sock.c: Add lchan_type_offset in queue_hello() 2018-08-10 14:31:30 +00:00
msc_ifaces.c refactor subscr_conn and subscr_conn_fsm de-/alloc 2018-04-11 21:39:44 +00:00
msc_mgcp.c mgcp: use codec information returned with ASSIGNMENT COMPL. 2018-08-07 16:51:30 +00:00
msc_vty.c RRLP: migrate and share mode definitions from msc_vty.c 2018-08-05 11:33:20 +00:00
osmo_msc.c store classmark in vlr_subscr, not conn 2018-09-17 01:12:13 +02:00
rrlp.c RRLP: print log when sending a position request 2018-08-05 22:42:04 +07:00
silent_call.c Remove unused GSM_PAGING_OOM 2018-04-24 11:35:37 +02:00
smpp_openbsc.c Wrap osmo_strlcpy() calls 2018-02-05 12:57:06 +01:00
smpp_smsc.c smpp_smsc_conf: Fix heap-use-after-free 2018-04-17 16:10:35 +02:00
smpp_smsc.h libmsc: add support for SMPP delivery receipts 2017-08-27 02:33:49 +02:00
smpp_utils.c dissolve libcommon: drop debug.c 2018-03-22 17:05:42 +01:00
smpp_vty.c vty: skip installing cmds now always installed by default 2017-11-01 00:51:21 +01:00
sms_queue.c Remove unused GSM_PAGING_OOM 2018-04-24 11:35:37 +02:00
subscr_conn.c cosmetic: mute "COMPLETE_LAYER_3 not permitted" 2018-08-23 15:52:43 +02:00
transaction.c libmsc/gsm_09_11.c: implement network-initiated sessions 2018-07-30 21:28:01 +02:00