SIM卡SMSP

7F10/6F42 SMSP

FF FF FF FF      Alpha-Identifier记录别名   (长度为Y字节,不固定, 可以为0 )

F4               Parameter Indicators :    
-----这个字节,标明了 哪些参数存在,哪些不存在--------下面是每个bit的含义
1     TP-Destination Address.    传输协议-目的地址,编码标准 TS 23.040 中的SM-TL字段
2     TS-Service Centre Address.  服务中心地址, TS 24.011中的 RP-Destination address Centre Address
3     TP-Protocol Identifier.   协议标识符
4     TP-Data Coding Scheme.    数据编码方案
5     TP-Validity Period.        有效期
6     reserved, set to 1.
7     reserved, set to 1.
8     reserved, set to 1.

111-1 0100  (F4,  TP-Data Coding Scheme 存在,TS-Service Centre Address , TP-Destination Address)
111-1 1101   (FD,  仅TS-Service Centre Address 存在-- only SMSC phone number)
    0才表示参数存在( 比较另类), 1表示不存在



00 80 FF FF      TP-Destination Address
FF FF FF FF
FF FF FF FF

SM-TL (Short Message Transfer Layer)的每个地址字段由以下子字段组成:一个八位字节的地址长度字段、一个八位字节的地址类型字段和一个可变长度的地址值字段。





08 E4 68 31     TS-Service Centre Address
10 70 10 05
F0 FF FF FF




FF                 TP-Protocol Identifier
08                 TP-Data Coding Scheme
FF                 TP-Validity Period

Y字节长度的别名,给这条记录取的名字。
总记录长度为 : 28+Y
如果没有名字的话,那就是28字节
如果记录长度为 2B, 那么 Y= 2B – 28

编码方法

def encode_smsp(smsc, operator_len = 12):
    _al = operator_len * [0xFF]    #alpha Operator Name
    _p_ind = [0xFD]      # Parameters indicator : only SMSC phone number
    _dest_addr = 12*[0xFF] # blank TP-Destination address

    l = (len(smsc) + 3) // 2    # Required bytes
    prefix_flag = 0x91
    digit_str = smsc[:20] + 'F'*(20-len(smsc[:20]))
    _sc_addr = [l, prefix_flag] +  [(int(digit_str[i+1],16)<<4)+int(digit_str[i],16) \
            for i in range(0, 20, 2)]
            
    _pid = [0xFF] # blank protocol ID
    _dcs = [0xFF] # Data Coding Scheme 
    _val = [0xFF] # blank validity period
    
    SMSP = _al + _p_ind + _dest_addr + _sc_addr + _pid + _dcs + _val   
    
    return SMSP 

实例
756D6F62696C65FFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF07910681010001F8FFFFFFFFFFFFFF 马来西亚
FFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF06915689450100FFFFFFFFFFFFFFFF 新加坡
6769666667616666FFFFFFFFFFFFE1FFFFFFFFFFFFFFFFFFFFFFFF0791448720006260FFFFFFFF0000B7 英国
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1FFFFFFFFFFFFFFFFFFFFFFFF07912160130300F4FFFFFFFF0000FF 美国
542D4D6F62696C65FFFFFFFFFFFFFFFFF1FFFFFFFFFFFFFFFFFFFFFFFF07912160130300F4FFFFFFFF0000FF 美国
534D532043454E545245FFFFFFFFE1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF 香港
564F4441464F4E45FFFFFFFFE1FFFFFFFFFFFFFFFFFFFFFFFF0791447758100650FFFFFFFF000047 沃达丰
564F4441464F4E45E1FFFFFFFFFFFFFFFFFFFFFFFF07911614051105F1FFFFFFFF0000AD 沃达丰2
FFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF07916629030109F0FFFFFFFFFFFFFF 泰国
534D532043656E747265FFFFFDFFFFFFFFFFFFFFFFFFFFFFFF0791361907001003FFFFFFFFFFFFFF 菲律宾
534D532043656E7472652032FFFFFFE1FFFFFFFFFFFFFFFFFFFFFFFF07914150741294F0FFFFFFFF0000AD 美国莱卡
FFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF0A85258300001FFF54F470FFFFFFFF 香港

国内
FFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF0891683108200065F9FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF0891683133746802F0FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF0891683108200065F9FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF0891683110304405F0FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF0791135604490200FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF0891683108200065F9FFFFFFFFFFFF

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注