From 8af2a4676d59f288bf8f3ca94ee1947322e6a053 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Sun, 15 Mar 2026 16:07:17 +0700 Subject: [PATCH] sms: fix flags_construct in SMS_DELIVER * field `tp_rp` appears at bit positions 7 and 5 ** bit 7 should be `tp_rp` (Reply Path) ** bit 5 should be `tp_sri` (Status Report Indication) * field `tp_lp` is completely missing ** should be at bit position 3 Change-Id: I0274849f0fa07281b5e050af429ffda7d249f9e8 --- pySim/sms.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pySim/sms.py b/pySim/sms.py index aefc8746..62601b0e 100644 --- a/pySim/sms.py +++ b/pySim/sms.py @@ -169,8 +169,14 @@ class SMS_TPDU(abc.ABC): class SMS_DELIVER(SMS_TPDU): """Representation of a SMS-DELIVER T-PDU. This is the Network to MS/UE (downlink) direction.""" - flags_construct = BitStruct('tp_rp'/Flag, 'tp_udhi'/Flag, 'tp_rp'/Flag, 'tp_sri'/Flag, - Padding(1), 'tp_mms'/Flag, 'tp_mti'/BitsInteger(2)) + flags_construct = BitStruct('tp_rp'/Flag, + 'tp_udhi'/Flag, + 'tp_sri'/Flag, + Padding(1), + 'tp_lp'/Flag, + 'tp_mms'/Flag, + 'tp_mti'/BitsInteger(2)) + def __init__(self, **kwargs): kwargs['tp_mti'] = 0 super().__init__(**kwargs)