[maemo-developers] [CSSU] Advice wanted on the best way to package Cell Broadcast SMS bugfix for closed libsms library

From: Joerg Reisenweber joerg at openmoko.org
Date: Sun Jun 26 12:31:49 EEST 2011
meanwhile: 

bash-3.2$ id
uid=29999(user) gid=29999(users)
bash-3.2$ dbus-monitor --system | grep -A 90 "member=IncomingCBS"                               
signal sender=:1.21 -> dest=(null destination) serial=344 
path=/com/nokia/phone/SMS; interface=Phone.SMS; member=IncomingCBS
   array [                                                                                                                  
      byte 51                                                                                                               
      byte 27                                                                                                               
      byte 13                                                                                                               
      byte 135                                                                                                              
      byte 155                                                                                                              
      byte 213                                                                                                              
      byte 104                                                                                                              
      byte 184                                                                                                              
      byte 152                                                                                                              
      byte 76                                                                                                               
      byte 214                                                                                                              
      byte 104                                                                                                              
      byte 52                                                                                                               
      byte 26                                                                                                               
      byte 141                                                                                                              
      byte 70                                                                                                               
      byte 163                                                                                                              
      byte 209                                                                                                              
      byte 104                                                                                                              
      byte 52                                                                                                               
      byte 26                                                                                                               
      byte 141                                                                                                              
      byte 70                                                                                                               
      byte 163                                                                                                              
      byte 209                                                                                                              
      byte 104                                                                                                              
      byte 52                                                                                                               
      byte 26                                                                                                               
      byte 141                                                                                                              
      byte 70                                                                                                               
      byte 163                                                                                                              
      byte 209                                                                                                              
      byte 104                                                                                                              
      byte 52                                                                                                               
      byte 26                                                                                                               
      byte 141                                                                                                              
      byte 70                                                                                                               
      byte 163                                                                                                              
      byte 209                                                                                                              
      byte 104                                                                                                              
      byte 52                                                                                                               
      byte 26                                                                                                               
      byte 141                                                                                                              
      byte 70                                                                                                               
      byte 163                                                                                                              
      byte 209                                                                                                              
      byte 104                                                                                                              
      byte 52                                                                                                               
      byte 26                                                                                                               
      byte 141                                                                                                              
      byte 70                                                                                                               
      byte 163                                                                                                              
      byte 209
      byte 104
      byte 52
      byte 26
      byte 141
      byte 70
      byte 163
      byte 209
      byte 104
      byte 52
      byte 26
      byte 141
      byte 70
      byte 163
      byte 209
      byte 104
      byte 52
      byte 26
      byte 141
      byte 70
      byte 163
      byte 209
      byte 104
      byte 52
      byte 26
      byte 141
      byte 70
      byte 163
      byte 209
      byte 0
   ]
   uint32 0
   uint32 221
   byte 0
   byte 17
   byte 255
signal sender=:1.44 -> dest=(null destination) serial=80 
path=/com/nokia/iphbd; interface=com.nokia.iphbd; member=wakeup2
^C
bash-3.2$



http://wiki.maemo.org/Phone_control#Send_SMS

jr at halley:~> python
Python 2.6.2 (r262:71600, Oct 24 2009, 03:16:31) 
[GCC 4.4.1 [gcc-4_4-branch revision 150839]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def deoctify(arr):
...
...         referencebit = 1
...         doctect = []
...         bnext = 0x00
...
...         for i in arr:
...
...                 bcurr = ((i & (0xff >> referencebit)) << referencebit) >> 
1
...                 bcurr = bcurr | bnext
...
...                 if referencebit != 7:
...                         doctect.append( bcurr )
...                         bnext = (i & (0xff << (8 - referencebit)) ) >> 8 - 
referencebit
...                         referencebit += 1
...                 else:
...                         doctect.append( bcurr )
...                         bnext = (i & (0xff << (8 - referencebit)) ) >> 8 - 
referencebit
...                         doctect.append( bnext )
...                         bnext = 0x00
...                         referencebit = 1
...
...         return ''.join([chr(i) for i in doctect])
...
>>> deoctify([  51, 27, 13, 135, 155, 213, 104, 184, 152, 76, 214, 104, 52, 
26, 141, 70, 163, 209, 104, 52, 26, 141, 70, 163, 209, 104, 52, 26, 141, 70, 
163, 209, 104, 52, 26, 141, 70, 163, 209, 104, 52, 26, 141, 70, 163, 209, 104, 
52, 26, 141, 70, 163, 209, 104, 52, 26, 141, 70, 163, 209, 104, 52, 26, 141, 
70, 163, 209, 104, 52, 26, 141, 70, 163,  209,  104,  52,  26,  141,  70,  
163,  209,  0])
'364883548122\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r'
>>>

this is a SMSCB sent on 

  channel 221 (2nd UINT in dbus log) 

containing the Gauss-Wegener coords of the BTS 

  "364883548122"

see http://lists.openmoko.org/pipermail/openmoko-kernel/2008-June/002987.html 
for some details and further links

This looks like a really great success for Jon :-) - congrats.

/j
More information about the maemo-developers mailing list