SMIAS系统CMPP30接口使用手册ANSI C.docx

上传人:b****6 文档编号:7405968 上传时间:2023-05-11 格式:DOCX 页数:45 大小:128.73KB
下载 相关 举报
SMIAS系统CMPP30接口使用手册ANSI C.docx_第1页
第1页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第2页
第2页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第3页
第3页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第4页
第4页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第5页
第5页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第6页
第6页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第7页
第7页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第8页
第8页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第9页
第9页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第10页
第10页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第11页
第11页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第12页
第12页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第13页
第13页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第14页
第14页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第15页
第15页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第16页
第16页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第17页
第17页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第18页
第18页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第19页
第19页 / 共45页
SMIAS系统CMPP30接口使用手册ANSI C.docx_第20页
第20页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

SMIAS系统CMPP30接口使用手册ANSI C.docx

《SMIAS系统CMPP30接口使用手册ANSI C.docx》由会员分享,可在线阅读,更多相关《SMIAS系统CMPP30接口使用手册ANSI C.docx(45页珍藏版)》请在冰点文库上搜索。

SMIAS系统CMPP30接口使用手册ANSI C.docx

SMIAS系统CMPP30接口使用手册ANSIC

 

SMIAS短信网关系统

CMPP30接口使用手册

(ANSICV2.1)

 

东软集团有限公司中间件技术分公司

2003年10月

 

东软集团有限公司中间件技术分公司

地址:

沈阳市和平区三好街84-2号

电话:

(024)83665567

传真:

(024)23782821

Email:

 

版权声明

ShortMessageInternetAccessSolution(SMIAS)的版权归东软集团有限公司中间件技术分公司所有。

未经东软集团有限公司中间件技术分公司的书面准许,不得将本规范的任何部分以任何形式、采用任何手段(电子的或机械的,包括照相复制或录制)、或为任何目的,进行复制或扩散。

©Copyright东软集团有限公司中间件技术分公司。

版权所有,翻制必究。

®是东软集团有限公司的注册商标。

前言

ShortMessageInternetAccessSolution(SMIAS)是结合中国移动通信总公司的“梦网计划”应运而生的一套基于短信的移动互联网应用解决方案。

本系统提供了面向服务提供商(ASP或ICP)的开发接口,服务提供商可以使用这些接口API实现与中国移动各省移动通信公司SMIAS系统的接入。

阅读指南

本部分主要讨论本手册的目标、阅读对象、手册的组织结构。

〖手册目标〗

本手册是SMIAS(ShortMessageInternetAccessSolution)短信网关系统SP接入子系统通信接口CAPI的使用指南。

它详细介绍了SP-SMIAS网关之间的通信流程,通信协议,以及通信接口CAPI的数据结构,以及函数调用方法。

SP可以通过本手册的说明,与SMIAS短信网关系统进行正确的通信,以提供服务。

〖阅读对象〗

本手册面向的主要对象是准备接入SMIAS短信网关系统的SP的开发人员。

〖手册构成〗

本手册由如下章节组成:

∙概述

对SMIAS系统的总体概述

∙通信流程

描述了SP接入SMIAS网关的通信流程,以及注意事项

∙通信协议

以表格的方式描述了SP与SMIAS网关通信的各种通信包的包格式,方便与SP在与SMIAS网关通信时的跟踪调试。

∙CAPI使用说明

描述了CAPI的数据结构,数据类型的含义,以及各个接口函数的调用方法。

【注意】的意思是请读者注意那些需要注意的事项。

【警告】的意思是请读者千万注意某些事项,否则将造成错误。

目录

第1章概述1

1.1网关结构1

第2章接口操作1

§2.1SP连接类型1

§2.2操作类型1

§2.2.1SP到SMIAS的操作类型1

§2.2.2SMIAS网关到SP的操作类型2

§2.2.3双向操作类型2

§2.3SP操作流程3

第3章通信协议1

§3.1阅读说明1

§3.2消息体格式2

§3.2.1Login消息体2

§3.2.2LoginResponse消息体2

§3.2.3Logout消息体3

§3.2.4LogoutResponse消息体3

§3.2.5Submit消息体4

§3.2.6SubmitResponse消息体6

§3.2.7Deliver消息体7

§3.2.8DeliverResponse消息体9

§3.2.9Cancel消息体10

§3.2.10CancelResponse消息体10

§3.2.11Active消息体10

§3.2.12ActiveResponse消息体10

第4章ICP接口函数说明11

§4.1接口函数中数据类型的定义11

§4.2ICP接口函数描述11

附录1

附录一应答状态码表及消息命令字表1

附录二代码样例4

修改总结

日期

版本

修改总结

第1章概述

SMIAS短信网关系统是架构于SP与SMSC之间的短信处理网关。

它为SP提供了有效的服务提供接口。

SP通过SMIAS短信网关系统可以获取移动用户发起的短信请求,并为相应的移动用户发送短信应答;亦可以直接向移动用户推送短信服务。

1.1网关结构

第2章接口操作

§2.1SP连接类型

在CMPP30协议中,SP与短信网关建立的连接均是发送接收类型。

【注意】虽然原则上说SP可以与SMIAS短信网关建立多个连接,但为了防止SP无限制的登录网关,SMIAS短信网关可以通过配置对SP的连接数量进行限制,总连接数不能超过运行商为该SP提供的连接数。

§2.2操作类型

§2.2.1SP到SMIAS的操作类型

∙Login(登录)

SP在通过SMIAS短信网关系统提供服务之前,必须连入并正确登录SMIAS短信网关。

∙Logout(退出)

SP在服务完成后,通过Logout退出系统,此后网关会主动关闭网络连接。

SP也可以简单的通过主动关闭网络连接来退出系统。

∙Submit(提交消息)

SP通过Submit操作向网关提交MT消息。

∙Cancel(取消消息)

SP通过Cancel操作要求网关取消过去Submit的某一条MT消息。

∙DeliverResponse(下发应答)

SP通过此操作回应网关的Deliver请求操作。

【警告】为了防止SP的恶意攻击,SP在以同一主机连入SMIAS短信网关系统时,必须在等到SMIAS网关的正确Login应答之后,才可以进行第二次网络连接,否则,网关会主动关闭其后续网络连接。

§2.2.2SMIAS网关到SP的操作类型

∙Deliver(下发消息)

当SP以接收型或发送接收型连接正确登录SMIAS短信网关系统之后,SMIAS网关会通过此操作向SP主动下发MO消息。

∙LoginResponse(登录应答)

SMIAS短信网关使用此操作回应SP的Login请求操作。

∙LogoutResponse(退出应答)

SMIAS短信网关使用此操作回应SP的Logout请求操作。

此项请求完成后,SMIAS短信网关会主动关闭网络连接。

∙CancelResponse(取消应答)

SMIAS短信网关使用此操作回应SP的Cancel请求操作。

【警告】SMIAS短信网关以先进先出的原则将MO消息依次进行下发;SP在得到一条MO消息之后必须回应一个应答;

§2.2.3双向操作类型

∙ActiveTest(连接存活测试)

SP可以通过此操作来检测与SMIAS短信网关系统之间的网络连接是否正常。

SMIAS短信网关也会通过此操作来检测与SP的网络连接是否正常。

∙ActiveTestResponse(连接存活测试应答)

SMIAS短信网关系统或SP使用此操作回应对方的ActiveTest请求操作。

【注意】当SP与SMIAS的某个网络连接在一段设定时间内没有任何消息包的活动,网关会主动下发一个存活测试,如果SP端无应答,SMIAS短信网关系统将会主动关闭此网络连接。

§2.3SP操作流程

ICP与ISMG服务器通信采用长连接方式,登录类型为收发型。

登录到ISMG服务器后,即可以不断接收服务器下发的MO请求数据,又可以不断向ISMG服务器发起提交(Submit)、查询(Query)、删除(Cancel)及活动测试(ActiveTest)请求,直到ICP主动发起退出登录请求。

建立连接(connect)loginoperation(提交、查询、删除、活动测试、接收下发数据)logout(退出登录)断开连接(disconnect);

第3章通信协议

SMIASICP接口采用的是标准的CMPP30协议。

§3.1阅读说明

UnsignedInteger

无符号整数

Integer

整数,可为正整数、负整数或零

OctetString

定长字符串,位数不足时,如果左补0则补ASCII表示的零以填充,如果右补0则补二进制的零以表示字符串的结束符

项目

说明

MessageHeader

消息头(所有消息公共包头)

MessageBody

消息体

字段名

字节数

类型

描述

Total_Length

4

UnsignedInteger

消息总长度(含消息头及消息体)

Command_Id

4

UnsignedInteger

命令或响应类型

Sequence_Id

4

UnsignedInteger

消息流水号,顺序累加,步长为1,循环使用(一对请求和应答消息的流水号必须相同)

§3.2消息体格式

§3.2.1Login消息体

字段名

字节数

属性

描述

Source_Addr

6

OctetString

源地址,此处为SP_Id,即SP的企业代码。

AuthenticatorSource

16

OctetString

用于鉴别源地址。

其值通过单向MD5hash计算得出,表示如下:

AuthenticatorSource=

MD5(Source_Addr+9字节的0+sharedsecret+timestamp)

Sharedsecret由中国移动与源地址实体事先商定,timestamp格式为:

MMDDHHMMSS,即月日时分秒,10位。

Version

1

UnsignedInteger

双方协商的版本号(高位4bit表示主版本号,低位4bit表示次版本号),对于3.0的版本,高4bit为3,低4位为0

Timestamp

4

UnsignedInteger

时间戳的明文,由客户端产生,格式为MMDDHHMMSS,即月日时分秒,10位数字的整型,右对齐。

§3.2.2LoginResponse消息体

字段名

字节数

属性

描述

Status

4

UnsignedInteger

状态

0:

正确

1:

消息结构错

2:

非法源地址

3:

认证错

4:

版本太高

5~:

其他错误

AuthenticatorISMG

16

OctetString

ISMG认证码,用于鉴别ISMG。

其值通过单向MD5hash计算得出,表示如下:

AuthenticatorISMG=MD5(Status+AuthenticatorSource+sharedsecret),Sharedsecret由中国移动与源地址实体事先商定,AuthenticatorSource为源地址实体发送给ISMG的对应消息CMPP_Connect中的值。

认证出错时,此项为空。

Version

1

UnsignedInteger

服务器支持的最高版本号,对于3.0的版本,高4bit为3,低4位为0

§3.2.3Logout消息体

无消息体

§3.2.4LogoutResponse消息体

无消息体

§3.2.5Submit消息体

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识,由SP接入的短信网关本身产生,本处填空。

Pk_total

1

UnsignedInteger

相同Msg_Id的信息总条数,从1开始

Pk_number

1

UnsignedInteger

相同Msg_Id的信息序号,从1开始

Registered_Delivery

1

UnsignedInteger

是否要求返回状态确认报告:

0:

不需要

1:

需要

Msg_level

1

UnsignedInteger

信息级别

Service_Id

10

OctetString

业务标识,是数字、字母和符号的组合。

Fee_UserType

1

UnsignedInteger

计费用户类型字段

0:

对目的终端MSISDN计费;

1:

对源终端MSISDN计费;

2:

对SP计费;

3:

表示本字段无效,对谁计费参见Fee_terminal_Id字段。

Fee_terminal_Id

32

OctetString

被计费用户的号码(如本字节填空,则表示本字段无效,对谁计费参见Fee_UserType字段,本字段与Fee_UserType字段互斥)

Fee_terminal_type

1

UnsignedInteger

被计费用户的号码类型,0:

真实号码;1:

伪码

TP_pId

1

UnsignedInteger

GSM协议类型。

详细是解释请参考GSM03.40中的9.2.3.9

TP_udhi

1

UnsignedInteger

GSM协议类型。

详细是解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐

Msg_Fmt

1

UnsignedInteger

信息格式

0:

ASCII串

3:

短信写卡操作

4:

二进制信息

8:

UCS2编码

15:

含GB汉字。

Msg_src

6

OctetString

信息内容来源(SP_Id)

FeeType

2

OctetString

资费类别

01:

对“计费用户号码”免费

02:

对“计费用户号码”按条计信息费

03:

对“计费用户号码”按包月收取信息费

04:

对“计费用户号码”的信息费封顶

05:

对“计费用户号码”的收费是由SP实现

FeeCode

6

OctetString

资费代码(以分为单位)

ValId_Time

17

OctetString

存活有效期,格式遵循SMPP3.3协议

At_Time

17

OctetString

定时发送时间,格式遵循SMPP3.3协议

Src_Id

21

OctetString

源号码

SP的服务代码或前缀为服务代码的长号码,网关将该号码完整的填到SMPP协议Submit_SM消息相应的source_addr字段,该号码最终在用户手机上显示为短消息的主叫号码

DestUsr_tl

1

UnsignedInteger

接收信息的用户数量(小于100个用户)

Dest_terminal_Id

32*DestUsr_tl

OctetString

接收短信的MSISDN号码

Dest_terminal_type

1

UnsignedInteger

接收短信的用户的号码类型,0:

真实号码;1:

伪码

Msg_Length

1

UnsignedInteger

信息长度(Msg_Fmt值为0时:

<160个字节;其它<=140个字节)

Msg_Content

Msg_length

OctetString

信息内容

LinkID

20

OctetString

点播业务使用的LinkID,非点播类业务的MT流程不使用该字段

§3.2.6SubmitResponse消息体

 

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识,生成算法如下:

采用64位(8字节)的整数:

(1)时间(格式为MMDDHHMMSS,即月日时分秒):

bit64~bit39,其中

bit64~bit61:

月份的二进制表示;

bit60~bit56:

日的二进制表示;

bit55~bit51:

小时的二进制表示;

bit50~bit45:

分的二进制表示;

bit44~bit39:

秒的二进制表示;

(2)短信网关代码:

bit38~bit17,把短信网关的代码转换为整数填写到该字段中。

(3)序列号:

bit16~bit1,顺序增加,步长为1,循环使用。

各部分如不能填满,左补零,右对齐。

(SP根据请求和应答消息的Sequence_Id一致性就可得到CMPP_Submit消息的Msg_Id)

Result

4

UnsignedInteger

结果

0:

正确

1:

消息结构错

2:

命令字错

3:

消息序号重复

4:

消息长度错

5:

资费代码错

6:

超过最大信息长

7:

业务代码错

8:

流量控制错

9:

本网关不负责服务此计费号码

10:

Src_Id错误

11:

Msg_src错误

12:

Fee_terminal_Id错误

13:

Dest_terminal_Id错误

……

【注意】SP在向SMIAS短信网关发送群发MT包时,若发送成功,SMIAS短信网关将该群发MT包拆分为n个(n表示目的地址的数量)包,每个包有一个唯一的Messageid;当返回应答时,应答包中的Messageid为该群发MT包中的最后一个包的Messageid;

§3.2.7Deliver消息体

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识

生成算法如下:

采用64位(8字节)的整数:

(1)时间(格式为MMDDHHMMSS,即月日时分秒):

bit64~bit39,其中

bit64~bit61:

月份的二进制表示;

bit60~bit56:

日的二进制表示;

bit55~bit51:

小时的二进制表示;

bit50~bit45:

分的二进制表示;

bit44~bit39:

秒的二进制表示;

(2)短信网关代码:

bit38~bit17,把短信网关的代码转换为整数填写到该字段中。

(3)序列号:

bit16~bit1,顺序增加,步长为1,循环使用。

各部分如不能填满,左补零,右对齐。

Dest_Id

21

OctetString

目的号码

SP的服务代码,一般4--6位,或者是前缀为服务代码的长号码;该号码是手机用户短消息的被叫号码。

Service_Id

10

OctetString

业务标识,是数字、字母和符号的组合。

TP_pid

1

UnsignedInteger

GSM协议类型。

详细解释请参考GSM03.40中的9.2.3.9

TP_udhi

1

UnsignedInteger

GSM协议类型。

详细解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐

Msg_Fmt

1

UnsignedInteger

信息格式

0:

ASCII串

3:

短信写卡操作

4:

二进制信息

8:

UCS2编码

15:

含GB汉字

Src_terminal_Id

32

OctetString

源终端MSISDN号码(状态报告时填为CMPP_SUBMIT消息的目的终端号码)

Src_terminal_type

1

UnsignedInteger

源终端号码类型,0:

真实号码;1:

伪码

Registered_Delivery

1

UnsignedInteger

是否为状态报告

0:

非状态报告

1:

状态报告

Msg_Length

1

UnsignedInteger

消息长度

Msg_Content

Msg_length

OctetString

消息内容

LinkID

20

OctetString

点播业务使用的LinkID,非点播类业务的MT流程不使用该字段

当ISMG向SP送交状态报告时,信息内容字段(Msg_Content)格式定义如下:

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识

SP提交短信(CMPP_SUBMIT)操作时,与SP相连的ISMG产生的Msg_Id。

Stat

7

OctetString

发送短信的应答结果,含义与SMPP协议要求中stat字段定义相同,详见表一。

SP根据该字段确定CMPP_SUBMIT消息的处理状态。

Submit_time

10

OctetString

YYMMDDHHMM(YY为年的后两位00-99,MM:

01-12,DD:

01-31,HH:

00-23,MM:

00-59)

Done_time

10

OctetString

YYMMDDHHMM

Dest_terminal_Id

21

OctetString

目的终端MSISDN号码(SP发送CMPP_SUBMIT消息的目标终端)

SMSC_sequence

4

UnsignedInteger

取自SMSC发送状态报告的消息体中的消息标识。

表一Stat字段定义

MessageState

FinalMessageStates

Description

DELIVERED

DELIVRD

Messageisdeliveredtodestination

EXPIRED

EXPIRED

Messagevalidityperiodhas

expired

DELETED

DELETED

Messagehasbeendeleted.

UNDELIVERABLE

UNDELIV

Messageisundeliverable

ACCEPTED

ACCEPTD

Messageisinacceptedstate(i.e.hasbeenmanuallyreadonbehalfofthesubscriberbycustomerservice)

UNKNOWN

UNKNOWN

Messageisininvalidstate

REJECTED

REJECTD

Messageisinarejectedstate

MA:

xxxx

MA:

xxxx

SMSC不返回响应消息时的状态报告

MB:

xxxx

MB:

xxxx

SMSC返回错误响应消息时的状态报告

CA:

xxxx

CA:

xxxx

SCP不返回响应消息时的状态报告

CB:

xxxx

CB:

xxxx

SCP返回错误响应消息时的状态报告

§3.2.8DeliverResponse消息体

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识

(CMPP_DELIVER中的Msg_Id字段)

Result

4

UnsignedInteger

结果

0:

正确

1:

消息结构错

2:

命令字错

3:

消息序号重复

4:

消息长度错

5:

资费代码错

6:

超过最大信息长

7:

业务代码错

8:

流量控制错

9~:

其他错误

§3.2.9Cancel消息体

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识(SP想要删除的信息标识)

§3.2.10CancelResponse消息体

字段名

字节数

属性

描述

Success_Id

4

UnsignedInteger

成功标识

0:

成功

1:

失败

 

【注意】对于群发的MT消息,不能够进行cancel操作;

§3.2.11Active消息体

没有消息体

§3.2.12ActiveResponse消息体

字段名

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2