MISC系统短信SP接入详细教程:接口改造与CMPP3.0详解

需积分: 3 9 下载量 189 浏览量 更新于2024-12-22 收藏 643KB PDF 举报
《MISC系统短信SP接入指南-接口改造分册》是一份由ASPireTech卓望科技针对中国移动通信集团的MISC系统(Multi-purpose Interactive Service Center)短信服务提供商(SP)接入详细指导文档。该文档主要关注于MISC系统的接口改造,旨在帮助SP理解如何适应并整合到中国移动的短信服务网络中。 首先,文档在"前言"部分概述了MISC系统架构和其在短信业务中的作用,强调了接口改造对于业务正常运行和与移动梦网(Mobilenet)无缝对接的重要性。MISC系统是一个集成了多种服务的平台,它处理短信、WAP、IVR等业务,SP通过与之集成,可以提供更丰富的服务给用户。 随后,章节详细介绍了CMPP3.0信令流程,这是一种专为移动梦网短信业务设计的通信协议,分为两种类型:MO(Message Originated,用户发起)和MT(Message Terminated,短信接收)。文档列举了不同类型的短信流程,包括是否需要前转以及相应的操作步骤,如订阅/取消订阅和包月费用的处理。 接口开发部分是文档的核心,阐述了SP接入MISC系统所需的条件,如了解CMPP2.0和CMPP3.0之间的区别,以及如何解析和发送CMPP协议中的关键消息,如CMPP_SUBMIT、CMPP_SUBMIT_RESP、CMPP_DELIVER和CMPP_DELIVER_RESP等。 "正反向订购接口开发说明"这一节专门讲解了正向订购(Provisioning)接口的规范,包括PROVISION接口的同步接口消息定义,这涉及到SP如何向MISC系统提交订阅请求,以及系统如何响应这些请求。 这份文档为SP提供了全面的接入指南,涵盖了从系统架构理解、业务流程到技术细节的开发说明,确保SP能够顺利接入MISC系统,实现短信服务的高效传输和管理。在整个过程中,文档强调了知识产权保护和保密要求,表明了卓望数码技术(深圳)有限公司对其技术资料的严格管理和法律保护。

2023-07-14 15:19:01.215 WARN 7308 --- [sson-netty-2-15] io.netty.util.concurrent.DefaultPromise : An exception was thrown by org.redisson.misc.RedissonPromise$$Lambda$888/0x00000008008f7440.operationComplete() java.lang.NullPointerException: null 2023-07-14 15:19:01.216 ERROR 7308 --- [sson-netty-2-15] o.r.c.SentinelConnectionManager : Can't execute SENTINEL commands on /172.24.107.11:26379 org.redisson.client.RedisException: ERR No such master with that name. channel: [id: 0x2d66827d, L:/172.23.9.103:46812 - R:/172.24.107.11:26379] command: (SENTINEL SLAVES), params: [mymaster] at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:365) ~[redisson-3.13.3.jar:3.13.3] at org.redisson.client.handler.CommandDecoder.decodeCommand(CommandDecoder.java:196) ~[redisson-3.13.3.jar:3.13.3] at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:134) ~[redisson-3.13.3.jar:3.13.3] at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:104) ~[redisson-3.13.3.jar:3.13.3] at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:501) ~[netty-codec-4.1.51.Final.jar:4.1.51.Final] at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366) ~[netty-codec-4.1.51.Final.jar:4.1.51.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[netty-codec-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.51.Final.jar:4.1.51.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.51.Final.jar:4.1.51.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.51.Final.jar:4.1.51.Final] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na] 解决方法

2023-07-15 上传