alfarok@gmail.com wrote:
> How I can decode Sender ID if it like following (it's not hex
> but it 7bit How I can know that):
It's encoded in exactly the same way as 7-bit text in a User
Data field. In other words, using the packing algorithm from
GSM 03.38, section 6.1.2.1.1. The unpacked septets (7-bit
characters) then get looked up in the table from GSM 03.38,
section 6.2.1.
The Originator Address field from your message is
14D032584C4683DD7239580C. It decodes like this:
14 OA length: 14 hex (20 decimal) semi-octets
D0 OA encoding: alphanumeric (GSM 03.40, 9.1.2.5)
32584C4683DD7239580C OA string "20124079901", as follows:
Numbering the octets of 7-bit data from 1 to 10 gives us this
binary data:
1 32 00110010
2 58 01011000
3 4C 01001100
4 46 01000110
5 83 10000011
6 DD 11011101
7 72 01110010
8 39 00111001
9 58 01011000
10 0C 00001100
The decode goes like this: Numbering the bits in a octet from 1
on the right to 8 on the left, the first septet consists of
octet 1, bits 1 to 7: 0110010, = "2" (from lookup in GSM 03.38,
6.2.1).
The second septet contains octet 2, bits 1 to 6 and octet 1, bit
8: 0110000, "0".
Putting the whole 10 octets (encoding 11 septets) into columns
we get:
septet from octet, bits bit pattern value
1 1, 1-7 0110010 2
2 2, 1-6 & 1, 8 011000 0 0
3 3, 1-5 & 2, 7-8 01100 01 1
4 4, 1-4 & 3, 6-8 0110 010 2
5 5, 1-3 & 4, 5-8 011 0100 4
6 6, 1-2 & 5, 4-8 01 10000 0
7 7, 1 & 6, 3-8 0 110111 7
8 7, 2-8 0111001 9
9 8, 1-7 0111001 9
10 9, 1-6 & 8, 8 011000 0 0
11 10, 1-5 & 9, 7-8 01100 01 1
John