diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 2ef8773dd..2eb0bb255 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -2968,26 +2968,6 @@ template (value) PDU_L3_MS_SGSN ts_SM_DEACT_PDP_ACCEPT_MO(BIT3 tid) -private function f_concat_pad(integer tot_len, hexstring prefix, integer suffix) return hexstring { - var integer suffix_len := tot_len - lengthof(prefix); - var charstring suffix_ch := int2str(suffix); - var integer pad_len := suffix_len - lengthof(suffix_ch); - - return prefix & int2hex(0, pad_len) & str2hex(suffix_ch); -} - -function f_gen_imei(integer suffix) return hexstring { - return f_concat_pad(14, '49999'H, suffix); -} - -function f_gen_imsi(integer suffix) return hexstring { - return f_concat_pad(15, '26242'H, suffix); -} - -function f_gen_msisdn(integer suffix) return hexstring { - return f_concat_pad(12, '49123'H, suffix); -} - external function enc_MobileIdentityLV(in MobileIdentityLV si) return octetstring with { extension "prototype(convert) encode(RAW)" }; diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index ee3b04a5c..4012f6d80 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -252,4 +252,26 @@ function f_rnd_ra11_ps() return BIT11 { } +private function f_concat_pad(integer tot_len, hexstring prefix, integer suffix) return hexstring { + var integer suffix_len := tot_len - lengthof(prefix); + var charstring suffix_ch := int2str(suffix); + var integer pad_len := suffix_len - lengthof(suffix_ch); + + return prefix & int2hex(0, pad_len) & str2hex(suffix_ch); +} + +function f_gen_imei(integer suffix) return hexstring { + return f_concat_pad(14, '49999'H, suffix); +} + +function f_gen_imsi(integer suffix) return hexstring { + return f_concat_pad(15, '26242'H, suffix); +} + +function f_gen_msisdn(integer suffix) return hexstring { + return f_concat_pad(12, '49123'H, suffix); +} + + + } with { encode "RAW"; variant "FIELDORDER(msb)" }