SMIAS系统CMPP30接口使用手册(ANSI C)
更新时间:2023-11-01 13:56:01 阅读量: 综合文库 文档下载
- smia是什么意思推荐度:
- 相关推荐
SMIAS 短信网关系统 CMPP30接口使用手册
(ANSI C V2.1)
东软集团有限公司中间件技术分公司
2003年10月
东软集团有限公司中间件技术分公司
地址:沈阳市和平区三好街84-2号 电话:(024)83665567 传真:(024)23782821 Email:
版权声明
Short Message Internet Access Solution(SMIAS)的版权归东软集团有限公司中间件技术分公司所有。未经东软集团有限公司中间件技术分公司的书面准许,不得将本规范的任何部分以任何形式、采用任何手段(电子的或机械的,包括照相复制或录制)、或为任何目的,进行复制或扩散。
? Copyright 东软集团有限公司中间件技术分公司。版权所有,翻制必究。
?
是东软集团有限公司的注册商标。
I
前 言
Short Message Internet Access Solution(SMIAS)是结合中国移动通信总公司的“梦网计划”应运而生的一套基于短信的移动互联网应用解决方案。
本系统提供了面向服务提供商(ASP或ICP)的开发接口,服务提供商可以使用这些接口API实现与中国移动各省移动通信公司SMIAS系统的接入。
I
阅读指南
本部分主要讨论本手册的目标、阅读对象、手册的组织结构。 〖手册目标〗
本手册是SMIAS (Short Message Internet Access Solution)短信网关系统SP接入子系统通信接口 C API的使用指南。它详细介绍了SP-SMIAS网关之间的通信流程,通信协议,以及通信接口C API的数据结构,以及函数调用方法。
SP可以通过本手册的说明,与SMIAS短信网关系统进行正确的通信,以提供服务。 〖阅读对象〗
本手册面向的主要对象是准备接入SMIAS短信网关系统的SP的开发人员。 〖手册构成〗
本手册由如下章节组成: ?
概述
对SMIAS系统的总体概述
? 通信流程
描述了SP接入SMIAS网关的通信流程,以及注意事项
? 通信协议
以表格的方式描述了SP与SMIAS网关通信的各种通信包的包格式,方便与SP在与SMIAS网关通信时的跟踪调试。
? C API使用说明
描述了C API的数据结构,数据类型的含义,以及各个接口函数的调用方法。
【注意】的意思是请读者注意那些需要注意的事项。
【警告】的意思是请读者千万注意某些事项,否则将造成错误。
I
目 录
第1章 概述 ............................................................................................................................. 1
1.1 网关结构 ............................................................................................................................. 1 第2章 接口操作 ..................................................................................................................... 1
§2.1 SP连接类型 ....................................................................................................................... 1 §2.2 操作类型 ........................................................................................................................... 1
§2.2.1 SP到SMIAS的操作类型 ..................................................................................... 1 §2.2.2 SMIAS网关到SP的操作类型 ............................................................................. 2 §2.2.3 双向操作类型 ........................................................................................................ 2 §2.3 SP操作流程 ....................................................................................................................... 3 第3章 通信协议 ..................................................................................................................... 1
§3.1 阅读说明 ........................................................................................................................... 1 §3.2 消息体格式 ....................................................................................................................... 2
§3.2.1 Login 消息体 ...................................................................................................... 2 §3.2.2 Login Response消息体 ..................................................................................... 2 §3.2.3 Logout 消息体 .................................................................................................... 3 §3.2.4 Logout Response消息体 ................................................................................... 3 §3.2.5 Submit 消息体 .................................................................................................... 4 §3.2.6 Submit Response消息体 ................................................................................... 6 §3.2.7 Deliver 消息体 .................................................................................................. 7 §3.2.8 Deliver Response消息体 ................................................................................. 9 §3.2.9 Cancel 消息体 .................................................................................................. 10 §3.2.10 Cancel Response消息体 ............................................................................... 10 §3.2.11 Active消息体 ................................................................................................. 10 §3.2.12 Active Response消息体 ............................................................................... 10 第4章
ICP接口函数说明 ............................................................................................ 11
§4.1接口函数中数据类型的定义 .......................................................................................... 11 §4.2 ICP接口函数描述 ........................................................................................................... 11 附录
1 附录一
附录二
应答状态码表及消息命令字表............................................................... 1 代码样例 .................................................................................................. 4
I
SMIAS短信网关系统ICP接口使用手册(ANSI C V2.1)
§2.2.2 SMIAS网关到SP的操作类型
?
Deliver (下发消息)
当SP以接收型或发送接收型连接正确登录SMIAS短信网关系统之后,SMIAS网关会通过此操作向SP主动下发MO消息。 ?
Login Response (登录应答)
SMIAS短信网关使用此操作回应SP的Login请求操作。 ?
Logout Response (退出应答)
SMIAS短信网关使用此操作回应SP的Logout请求操作。此项请求完成后,SMIAS短信网关会主动关闭网络连接。 ?
Cancel Response (取消应答)
SMIAS短信网关使用此操作回应SP的Cancel请求操作。
【警告】SMIAS短信网关以先进先出的原则将MO消息依次进行下发;SP在得
到一条MO消息之后必须回应一个应答;
§2.2.3 双向操作类型
?
Active Test (连接存活测试)
SP可以通过此操作来检测与SMIAS短信网关系统之间的网络连接是否正常。SMIAS短信网关也会通过此操作来检测与SP的网络连接是否正常。 ?
Active Test Response (连接存活测试应答)
SMIAS短信网关系统或SP使用此操作回应对方的Active Test请求操作。
【注意】当SP与SMIAS的某个网络连接在一段设定时间内没有任何消息包的
活动,网关会主动下发一个存活测试,如果SP端无应答,SMIAS短信网关系统将会主动关闭此网络连接。
2-4
第3章 通信协议
SMIAS ICP接口采用的是标准的CMPP30协议。
§3.1 阅读说明
Unsigned Integer Integer Octet String 无符号整数 整数,可为正整数、负整数或零 定长字符串,位数不足时,如果左补0则补ASCII表示的零以填充,如果右补0则补二进制的零以表示字符串的结束符 说明 消息头(所有消息公共包头) 消息体 字节数
项目 Message Header Message Body 字段名 Total_Length Command_Id Sequence_Id 4 4 4 类型 Unsigned Integer Unsigned Integer Unsigned Integer
描述 消息总长度(含消息头及消息体) 命令或响应类型 消息流水号,顺序累加,步长为1,循环使用(一对请求和应答消息的流水号必须相同) 2-1
SMIAS短信网关系统ICP接口使用手册(ANSI C V2.1)
§3.2 消息体格式
§3.2.1 Login 消息体 字段名 Source_Addr 字节数 属性 描述 源地址,此处为SP_Id,即SP的企业代码。 用于鉴别源地址。其值通过单向MD5 hash计算得出,表示如下: AuthenticatorSource = MD5(Source_Addr+9 字节的0 +shared secret+timestamp) Shared secret 由中国移动与源地址实体事先商定,timestamp格式为:MMDDHHMMSS,即月日时分秒,10位。 双方协商的版本号(高位4bit表示主版本号,低位4bit表示次版本号),对于3.0的版本,高4bit为3,低4位为0 时间戳的明文,由客户端产生,格式为MMDDHHMMSS,即月日时分秒,10位数字的整型,右对齐 。 6 16 Octet String Octet String AuthenticatorSource Version 1 Unsigned Integer Unsigned Integer
Timestamp 4 §3.2.2 Login Response消息体
字段名 字节数 4 属性 Unsigned Integer 描述 状态 0:正确 1:消息结构错 2:非法源地址 3:认证错 4:版本太高 5~ :其他错误 ISMG认证码,用于鉴别ISMG。 其值通过单向MD5 hash计算得出,Status AuthenticatorISMG 16 Octet String 2-4
SMIAS短信网关系统ICP接口使用手册(ANSI C V2.1)
附录二 代码样例
#include
#include \
#define TRAND(limit,n) {struct timeval t;gettimeofday(&t,(void*)NULL);\\ (n)=rand_r((unsigned *)&t.tv_usec)%limit;}
void print_submit_packet(cmpp30icp_submit *pk) {
int i;
printf(\ msg_id : %llx\\n\ printf(\ pk_total: %d\\n\ printf(\ pk_number: %d\\n\ printf(\ registered: %d\\n\ printf(\ msg_level: %d\\n\ printf(\ svc_type: %s\\n\ printf(\ fee_utype: %d\\n\ printf(\ fee_user: %s\\n\ printf(\ fee_user_type: %d\\n\ printf(\ tp_pid : %d\\n\ printf(\ tp_udhi : %d\\n\ printf(\ data_coding: %d\\n\ printf(\ icp_id : %s\\n\ printf(\ fee_type: %s\\n\ printf(\ fee_code: %s\\n\ printf(\ validate: %s\\n\ printf(\ schedule: %s\\n\ printf(\ src_id : %s\\n\ printf(\ du_count: %d\\n\
附录-4
第2章 接口操作
for(i=0; i
{ printf(\%s\\n\
pk->dst_addr+i*CMPP30_MAX_PSEUDO_LEN);
}
printf(\ dst_usr_type: %d\\n\ printf(\ sm_len : %d\\n\ printf(\ short_msg %s\\n\ printf(\ link_id : }
void print_deliver_packet(cmpp30icp_deliver *pk) {
cmpp30icp_status_report report; int
char base64_out[50];
memset(&report, 0, sizeof(cmpp30icp_status_report)); memset(base64_out, 0, sizeof(base64_out));
printf(\ msg_id : 0llu\\n\ printf(\ dst_addr: %s\\n\ printf(\ svc_type: %s\\n\ printf(\ tp_pid: %u\\n\ printf(\ tp_udhi:
%u\\n\
printf(\ data_coding: %u\\n\ printf(\ src_addr: %s\\n\
printf(\ src_user_type: %d\\n\ printf(\
%u\\n\
8
registered_delivery:
len = 0;
%s\\n\
i,
printf(\ sm_len: printf(\ link_id :
%u\\n\%s\\n\
if(!pk->registered_delivery){//收到的是mo消息
2-5
SMIAS短信网关系统ICP接口使用手册(ANSI C V2.1)
printf(\ short_msg: %s\\n\
}else{//收到的是状态报告
memcpy(&report.submit_date, CMPP30_DATE_TIME_LEN);
memcpy(&report.dest_id, CMPP30_MAX_PSEUDO_LEN);
附录-6
memcpy(&report.msg_id , pk->short_msg, sizeof(dpl_uint64_t)); printf(\
len += sizeof(dpl_uint64_t);
memcpy(&report.stat, pk->short_msg+len, 7); printf(\ stat: len += 7;
pk->short_msg+len,
%s\\n\状态报告中的状态
printf(\ submit_date: %s\\n\len += CMPP30_DATE_TIME_LEN;
memcpy(&report.final_date, pk->short_msg+len, CMPP30_DATE_TIME_LEN); printf(\ final_date: %s\\n\len += CMPP30_DATE_TIME_LEN;
pk->short_msg+len,
printf(\ dest_id: %s\\n\
if(pk->src_user_type){//源用户是伪码
(void)cmpp30icp_convert_src_addr_to_base64(base64_out, \\
report.dest_id);
第2章 接口操作
} }
}
printf(\
len += CMPP30_MAX_PSEUDO_LEN;
memcpy(&report.cdr_msg_id, pk->short_msg+len, sizeof(dpl_uint32_t));
dpl_status_t login_value_set(cmpp30icp_login *cl) {
dpl_status_t stat; time_t timestamp;
time(×tamp);
strncpy(cl->icp_id,\ strncpy(cl->icp_auth,\ cl->if_version = 0x12;
cl->icp_timestamp = timestamp;
return DPL_SUCCESS; }
dpl_status_t submit_value_set(cmpp30icp_submit *cs) {
dpl_status_t stat;
/* 具体每个域的值和含义见submit消息体 */ (void)cmpp30icp_submit_init(cs);
(void)cmpp30icp_submit_set_pk_total(cs, 1); (void)cmpp30icp_submit_set_pk_number(cs, 1);
2-7
SMIAS短信网关系统ICP接口使用手册(ANSI C V2.1)
(void)cmpp30icp_submit_set_registered_delivery(cs, 1);
(void)cmpp30icp_submit_set_msg_level(cs, 1);
(void)cmpp30icp_submit_set_svc_type(cs, \
(void)cmpp30icp_submit_set_fee_utype(cs, 2);
(void)cmpp30icp_submit_set_fee_user(cs,
\
(void)cmpp30icp_submit_set_tp_pid(cs, 1); (void)cmpp30icp_submit_set_tp_udhi(cs, 1);
(void)cmpp30icp_submit_set_data_coding(cs, 1);
(void)cmpp30icp_submit_set_icp_id(cs, \
(void)cmpp30icp_submit_set_fee_type(cs, \
(void)cmpp30icp_submit_set_fee_code(cs, \
strcpy(cs->validate, \ strcpy(cs->schedule, \
(void)cmpp30icp_submit_set_validate(cs, \ (void)cmpp30icp_submit_set_schedule(cs, \
(void)cmpp30icp_submit_set_src_term_id(cs, \
附录-8
正在阅读:
SMIAS系统CMPP30接口使用手册(ANSI C)11-01
某些非线性常微分方程的常数变易法06-11
某仪表厂供配电系统设计04-30
正压式空气呼吸器的使用手册07-04
2011年测量员考证复习题及解答05-12
分式培优练习题(完整答案)05-19
快乐中秋作文700字06-27
小学五年级国学校本教案 全册07-06
UI教案一 - 图文04-10
北师大初一上数学试卷06-19
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 接口
- 手册
- 使用
- CMPP30
- 系统
- SMIAS
- ANSI
- 广东省北京师范大学东莞石竹附属学校高一上学期国际班期末写作考试英语试题
- 海绵城市建设指南解读之降雨径流总量控制目标区域划分 - 李俊奇 - 图文
- 天下霸图2详细攻略
- 某水源输水管线迁移工程施工组织设计
- 心理学第二章 幼儿记忆的发展 随堂测试卷
- 超声波倒车雷达开题报告
- 福建师大附中高二数学2015
- 金蝶K3期末重点
- 关于XXX同学转正的群众座谈会记录
- 剥蚀量恢复方法研究进展
- 2018年中国无纺布行业调查报告目录
- 必修二第二章+§26DNA是主要的遗传物质及结构练习+
- 高中语文第一单元第一课窦娥冤课下能力提升新人教版必修4 含答案
- 2018-2019年唐山市迁安市蔡园镇孟官营中心完全小学三年级上册科学模拟复习题无答案
- 六相继电保护测试仪 - 图文
- 中国中小企业品牌建设的重要意义5方面
- 2014-2015学年高一语文语文版必修4学案:4-14 原君 Word版含解析
- 平面镜成像 光的折射
- 财务管理复习题及答案
- 二年级下册语文单元测试卷第一单元B卷人教部编版(2016)(附答案)