ش | ی | د | س | چ | پ | ج |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
-Decode UD(User data) in 7bit (Sending max 160 char)-(Ascii 140 Char Max Len)
below Text(fingilish) to Hex
4d616e206d6f6469726520696e206d616a6d6f6f652068617374616d206c6f7466616e2062612062616e64652068616d6168616e672062617368696420676f6c616e616d2e
Length : 69 (2digits)-change to hex value
Hex : 69÷16=4 & 69-4×15=5 : 45
So UDL(User data length)=45
Hex to binary :
2E=2×16+14=46(decimal)
46÷2=23 Reminder=0
23÷2=11 Reminder=1
11÷2=5 Reminder=1
5÷2=2 Reminder=1
2÷2=1 Reminder=0
1÷2=0 Reminder=1
0÷2=0 Reminder=0
From Down to up :
hex(2E):decimal(46):binary(0101110)
Reverse Hex :
2E6D616E616C6F672064696873616220676E6168616D61682065646E6162206162206E6166746F6C206D617473616820656F6F6D6A616D206E6920657269646F6D206E614D
2E : octet(00101110)>>>septet(01011110)[Len 7 from the right]
0101110 1101101 1100001 1101110 1100001 1101100 1101111 1100111 0100000 1100100 1101001 1101000 1110011 1100001 1100010 0100000 1100111 1101110 1100001 1101000 1100001 1101101 1100001 1101000 0100000 1100101 1100100 1101110 1100001 1100010 0100000 1100001 1100010 0100000 1101110 1100001 1100110 1110100 1101111 1101100 0100000 1101101 1100001 1110100 1110011 1100001 1101000 0100000 1100101 1101111 1101111 1101101 1101010 1100001 1101101 0100000 1101110 1101001 0100000 1100101 1110010 1101001 1100100 1101111 1101101 0100000 1101110 1100001 1001101
Add the required zero from the left until it is devided by 8 :
69×7+x Mod 8=0
7bit > 8bit
int(69×7/8)+1=61×8-69×7=5
00000 0101110 1101101 1100001 1101110 1100001 1101100 1101111 1100111 0100000 1100100 1101001 1101000 1110011 1100001 1100010 0100000 1100111 1101110 1100001 1101000 1100001 1101101 1100001 1101000 0100000 1100101 1100100 1101110 1100001 1100010 0100000 1100001 1100010 0100000 1101110 1100001 1100110 1110100 1101111 1101100 0100000 1101101 1100001 1110100 1110011 1100001 1101000 0100000 1100101 1101111 1101111 1101101 1101010 1100001 1101101 0100000 1101110 1101001 0100000 1100101 1110010 1101001 1100100 1101111 1101101 0100000 1101110 1100001 1001101
Seperate 8digits (octet) :
00000010111011011011100001110111
01100001110110011011111100111010
00001100100110100111010001110011
11000011100010010000011001111101
11011000011101000110000111011011
10000111010000100000110010111001
00110111011000011100010010000011
00001110001001000001101110110000
11100110111010011011111101100010
00001101101110000111101001110011
11000011101000010000011001011101
11111011111101101110101011000011
10110101000001101110110100101000
00110010111100101101001110010011
01111110110101000001101110110000
11001101
تبدیل باینری های بالا طبق جدول به Hex :
02 ED B8 77 61 D9 BF 3A 0C 9A 74 73 C3 89 06 7D D8 74 61 DB 87 42 0C B9 37 61 C4 83 0E 24 1B B0 E6 E9 BF 62 0D B8 7A 73 C3 A1 06 5D FB F6 EA C3 B5 06 ED 28 32 F2 D3 93 7E D4 1B B0 CD
برعکس کردن مقادیر Hex :
CDB01BD47E93D3F23228ED06B5C3EA
F6FB5D06A1C3737AB80D62BFE9E6B0
1B240E83C46137B90C4287DB6174D8
7D0689C373749A0C3ABFD96177B8ED
02
00110008810100358500000C45CDB01BD47E93D3F23228ED06B5C3EAF6FB5D06A1C3737AB80D62BFE9E6B01B240E83C46137B90C4287DB6174D87D0689C373749A0C3ABFD96177B8ED02
UDL(User data length)=45hex=69
Address Example :
Alphanumeric address is at first put to the GSM 7-bit default alphabet, then encoded the same way as any message text in TP-UD field (that means it is 7-bit packed) and then the address is supplied with the "number" length and TON and NPI.
For example, a fictional alphanumeric address Design@Home is converted to the GSM 7-bit default alphabet which yields 11 bytes 44 65 73 69 67 6E 00 48 6F 6D 65 (hex), the 7-bit packing transforms it to 77 bits stored in 10 octets as C4 F2 3C 7D 76 03 90 EF 76 19; 77 bits is 20 nibbles (14 hex) which is the value of the first octet of the address. The second octet contains TON (5) and NPI (0), which yields D0 hex. The complete address in the GSM format is 14 D0 C4 F2 3C 7D 76 03 90 EF 76 19.
-Text to Hex Value : Design@Home
44657369676e40486f6d65
Length : 11
-Reverse Hex Values
65 6D 6F 48 40 6E 67 69 73 65 44
-Binary ( 7 bit from the right )
1100101 1101101 1101111 1001000
1000000 1101110 1100111 1101001
1110011 1100101 1000100
-Add required zero to the left :
int(11×7/8)+1=10×8-11×7=80-77=3
000 1100101 1101101 1101111
1001000 1000000 1101110 1100111
1101001 1110011 1100101 1000100
-Octet :
00011001011101101110111110010001
000000110111011001111101
001111001111001011000100
-Binary to Hex :
19 76 EF 91 03 76 7D 3C F2 C4
-Reverse Hex :
C4 F2 3C 7D 76 03 91 EF 76 19
80÷4=20>>>hex(14)
The format of addresses in the GSM 03.40 is described in the following table:
octet | Meaning |
---|---|
0 | address length in nibbles (semi-octets) |
1 | EXT, TON, NPI |
2-11 | address digits |
the nibble is often called a semi-octet
-Ext : usaually 1
-TON ( Type of number )
bit 6,5,4 :
unknown 000
international number : 001
National number : 010
Network specific number : 011
Subscriber number 100
Alphanumeric, (coded according to 3GPP TS 23.038 [9] GSM 7-bit default alphabet) 101
Abbreviated number 110
Reserved for extension 111
-NPI ( Numbering plan id )
bit 3,2,1,0
Unknown 0000
ISDN/telephone numbering plan (E.164/E.163) 0001
Data numbering plan (X.121) 0011
Telex numbering plan 0100
Service Centre Specific plan 0101
Service Centre Specific plan 2) 0110
National numbering plan 1000
Private numbering plan 1001
ERMES numbering plan (ETSI DE/PS 3 01 3) 1010
Reserved for extension 1111
EXT : 1 , TON : 001 , NPI : 0001 :
10010001 >>>> Hex : 91
EXT : 1 , TON : 000 , NPI : 0001 :
10000001 >>>> Hex : 81
1 010 1000 : A8
00110008A8010035850008051006450647080006650666
1 001 1001 : 99
0011000A9989010035850008051006450647080006650666
-TP-DCS :
Value | Message Class |
---|---|
0 0 | 0 - Flash messages |
0 1 | 1 - ME-specific |
1 0 | 2 - SIM / USIM specific |
1 1 | 3 - TE-specific |
Flash messages are received by a mobile phone even though it has full memory. They are not stored in the phone, they just displayed on the phone display.
Coding Group : General Data Coding
00 0 GSM 7 bit Default
08 8 UCS2 Default
10 16 GSM 7 bit Class 0 (Flash message)
14 20 8 bit data Class 0 (Flash message)
18 24 UCS2 Class 0 (Flash message)
20 32 GSM 7 bit Default +(compressed)
30 48 GSM 7 bit Class 0 (Flash message) +(compressed)
Message Marked for Automatic Deletion :
40 64 GSM 7 bit Default
44 68 8 bit data Default
48 72 UCS2 Default
48 : Hex , 72 : decimal
0031000B9189199370489400480036062F06310020062D062706440020062A0633062A0020062706310633062706440020067E06CC0627064506A9002006470633062A0645
UDL:decimal(54),Hex(36)
062F : د
Length from 0B to the end : 66
در حالت ( Unicode ( 16 bit
0
1
2
3
4
5
6
7
8
9
A معادل 10
B معادل 11
C معادل 12
D معادل 13
E معادل 14
F معادل 15
اگر شماره ی موبایل شامل + باشد قبل از شماره تلفن 91 و اگر نباشد 81 معکوس اعداد شماره ی موبایل دورقم دورقم فرضا شماره ی موبایل 09009000001 میشود 900009000F1 چون رقم آخر تک رقم میشود بجایش F قرار میدهیم چون کلا شمارش تعداد بایت بر اساس دو رقم دورقم محاسبه میشود . محاسبه ی تعداد بایت شماره ی موبایل فرضا 09009000001 اول با اضافه کردن 81 به شماره ی موبایل معکوس شده طبق گفته ی بالا☝ شمارش تعداد اعداد شماره ی موبایل و تبدیل به کد طبق دستورالعمل ذیل
Int(11/16)=0 و 11 منهای int(11/16)*16 که میشود 11 و معادل آن که B هست طبق اعداد ذکرشده در ا ول یادداشت و در آخر جوین کردن 0 و B که عبارت 0B81900009000F1 بدست می آید. چون شماره مرکز پیام مشخص نیست از عبارت 001100 در ارسال تکی و 005500 در ارسال چند پارتی استفاده می کنیم و نتیجه برای ارسال پیامک چندپارتی درغالب یک پیامک ( حداکثر طول پیام 603 کاراکتر )
0041000B912374374521F7000808050003CC02020645