USSD(Unstructured Supplementary Service Data)即非结构化补充数据业务,是一种基于GSM网络的新型交互式数据业务。它是在GSM短信系统的技术基础上推出的新业务。USSD主要包括补充业务(如呼叫、呼叫转移)和非结构补充业务(如证券交易、信息查询、移动银行业务)两类。
非结构化补充数据业务USSD(Unstructured Supplementary Service Data)是一种基于全球移动通信系统GSM(Global System for Mobile Communications)网络的、实时在线的新型交互会话数据业务;它基于用户识别模块SIM(Subscriber Identity Module)卡,利用GSM网络的信令通道传送数据,是在GSM的短消息系统技术基础上推出的新业务,在业务开拓方面的能力远远强于SMS系统。
USSD技术单独使用或与目前的短消息技术、通用分组无线业务GPRS(General Packet Radio Service)技术相结合,可为客户提供种类繁多的增值业务,如移动银行、金融股票交易、手机话费查询、气象信息预报和查询、收发电子邮件、航班查询、网上订票、民意测验等。采用USSD对原有系统结构影响较小,且运营商还可以针对本地网的具体情况灵活地推出功能业务,方便地为移动用户提供各类数据业务;另外USSD不仅可用于一些信息服务,利用移动运营商提供的通信网络,也可应用于工业范围,USSD的应用可使工业监控通信的范围大大扩展,功能增强,成本降低,所以这种业务在香港特区、新加坡等国家和地区已有广泛的应用,在我国也有广阔的应用前景。
USSD的接口协议
USSD的接口协议与短消息类似,采用SMPP或CMPP。SMPP是国际通用的协议,CMPP是中国移动根据我国情况在SMPP基础上自己制定的协议,二者体系结构大体相同,应用范围也相同,但数据包的格式及内容有一定的差异。CMPP在2003年6月30日版本已升到了3.0。
两者的消息均分为消息头和消息体,其中消息头长度是固定的。主要信息为消息总长度、命令类型和消息流水号。命令类型用来说明消息的类型是连接,还是由USSD中心到业务提供者SP(Service Provider)的消息或由SP到USSD中心的消息,断开连接及其回应等。消息流水号顺序累加,步长为1,循环使用,一对请求和应答消息的流水号必须相同。在SMPP中还有一个请求消息的回应是否成功的状态信息,而在CMPP中相应信息放到了消息体中。消息体则根据消息的类型和内容来决定长度和数据,但其所携带的自定义信息长度不超过160个字节,自定义信息即平时通过手机输入或接收的短消息内容或工业通信中的自定义通信规约部分。相对于SMPP而言,CMPP增加了许多信息,尤其是计费和号码的信息。
以下是采用CMPP的USSD消息在VB中的结构定义:
Type UssdCmppMsgStruct
′------------Message Header
Total_Length As Long ′消息总长度(含消息头和消息体)
Command_Id As Long ′命令类型
Sequence_Id As Long ′消息流水号
′---------------Message Body
Msg_Id(7) As Byte ′信息标识
Pk_Total As Byte ′相同Msg_Id的信息总条数
Pk_number As Byte ′相同Msg_Id的信息序号
Registered_Delivery As Byte ′是否要求返回状态确认报告
Msg_level As Byte ′信息级别
Service_Id(9) As Byte ′业务类型
Fee_UserType As Byte ′计费用户类型
TP_pId As Byte ′GSM协议类型
TP_udhi As Byte ′GSM协议类型
Msg_Fmt As Byte ′信息格式
Msg_src(5) As Byte ′信息内容来源
FeeType(1) As Byte ′资费类别
FeeCode(5) As Byte ′资费代码
ValId_Time(16) As Byte ′存活有效期
At_Time(16) As Byte ′定时发送时间
Src_Id(20) As Byte ′源号码
DestUsr_tl As Byte ′接收信息的用户数量
Dest_terminal_Id() As Byte ′接收USSD信息的MSIS-DN号码,length=21*DestUsr_tl
Msg_Length As Byte ′信息长度 160 byte
Msg_Content() As Byte ′信息内容
USSD_TYPE(7) As Byte ′USSD会话类型
End Type