From af2972e26f2704e240652fb5ec0508ee1bc6a6b7 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Mon, 14 Mar 2022 22:27:57 +0300 Subject: [PATCH] bsc: add f_cipher_mode_bssmap_to_rr() Change-Id: I6cc8cbed96f2838af1b0e41c5dfa6760c45d9ad1 Related: SYS#5838 --- bsc/MSC_ConnectionHandler.ttcn | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index a37a3b8a6..b0daf614f 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -797,6 +797,26 @@ function f_cipher_mode_bssmap_to_rsl(OCT1 alg_bssmap) return RSL_AlgId } } +/* Convert the cipher representation on BSSMAP to the one used on RR (3GPP TS 44.018) */ +function f_cipher_mode_bssmap_to_rr(OCT1 alg_bssmap) return BIT3 +{ + select (alg_bssmap) { + case ('01'O) /* A5/0 */ { return '000'B; } /* SC=0 */ + case ('02'O) /* A5/1 */ { return '000'B; } /* SC=1 */ + case ('04'O) /* A5/2 */ { return '001'B; } /* SC=1 */ + case ('08'O) /* A5/3 */ { return '010'B; } /* SC=1 */ + case ('10'O) /* A5/4 */ { return '011'B; } /* SC=1 */ + case ('20'O) /* A5/5 */ { return '100'B; } /* SC=1 */ + case ('40'O) /* A5/6 */ { return '101'B; } /* SC=1 */ + case ('80'O) /* A5/7 */ { return '110'B; } /* SC=1 */ + case else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected Encryption Algorithm: " & + oct2str(alg_bssmap)); + return '000'B; + } + } +} + function f_verify_encr_info(RSL_Message rsl) runs on MSC_ConnHdlr { var RSL_IE_Body encr_info; var RSL_AlgId alg_rsl;