[pkg-fso-commits] [SCM] framworkd debian packageing branch, master, updated. milestone2-89-geb27523

Daniel Willmann daniel at totalueberwachung.de
Sat Aug 23 14:06:19 UTC 2008


The following commit has been merged in the master branch:
commit 8a6e11dd1adcaeb4eb2f1a27201bf013889e56dc
Author: Daniel Willmann <daniel at totalueberwachung.de>
Date:   Thu Aug 7 18:03:26 2008 +0200

    ogsmd: Redo the phonenumber function

diff --git a/framework/subsystems/ogsmd/gsm/convert.py b/framework/subsystems/ogsmd/gsm/convert.py
index 438d89f..c8f7e3e 100644
--- a/framework/subsystems/ogsmd/gsm/convert.py
+++ b/framework/subsystems/ogsmd/gsm/convert.py
@@ -15,6 +15,18 @@ GSM conversion functions.
 """
 
 #=========================================================================#
+def PDUNumberToTuple(bs):
+#=========================================================================#
+    num_type = (bs[0] & 0x70) >> 4
+    num_plan = (bs[0] & 0x0F)
+    number = bs[1:]
+    if num_type == 5:
+        number = unpack_sevenbit(bs)
+    else:
+        number = bcd_decode(bs)
+    return (num_type, num_plan, number)
+
+#=========================================================================#
 def tobinary( n ):
 #=========================================================================#
     s = ""
diff --git a/framework/subsystems/ogsmd/gsm/sms.py b/framework/subsystems/ogsmd/gsm/sms.py
index 6fe3145..8f93b8c 100644
--- a/framework/subsystems/ogsmd/gsm/sms.py
+++ b/framework/subsystems/ogsmd/gsm/sms.py
@@ -35,7 +35,7 @@ def decodeSMS( pdu ):
     # SCA - Service Center address
     sca_len = bytes[offset]
     offset += 1
-    sms.sca = parse_number( bytes[offset:offset+sca_len] )
+    sms.sca = PDUNumberToTuple( bytes[offset:offset+sca_len] )
 
     offset += sca_len
     # PDU type
@@ -60,7 +60,7 @@ def decodeSMS( pdu ):
     # WARNING, the length is coded in digits of the number, not in octets occupied!
     oa_len = 1 + (bytes[offset] + 1) / 2
     offset += 1
-    sms.oa = parse_number( bytes[offset:offset+oa_len] )
+    sms.oa = PDUNumberToTuple( bytes[offset:offset+oa_len] )
     sms.da = sms.oa
 
     offset += oa_len
@@ -162,17 +162,6 @@ def parse_time(bs):
     zone = "+%.2f" % (timezone / 4,)
   return "%04d-%02d-%02d %02d:%02d:%02d GMT%s" % (year, bs[1], bs[2], bs[3], bs[4], bs[5], zone)
 
-def parse_number(bs):
-  num_type = bs[0]
-  bs = bs[1:]
-  if num_type == 0x91:
-    return "+" + bcd_decode(bs)
-  elif num_type == 0xD0:
-    return unpack_sevenbit(bs)
-  else:
-    return "unknown-number-type:%02x:" % (num_type,) + "".join(["%02x" % (n,) for n in bs])
-
-
 if __name__ == "__main__":
     pdus = [
     "0791448720900253040C914497035290960000500151614414400DD4F29C9E769F41E17338ED06",

-- 
framworkd debian packageing



More information about the pkg-fso-commits mailing list