CMPP模拟器主要是模拟使用中国移动CMPP协议(版本1.x~3.x)的各种网关。此类型网关只使用一个收发连接(短信接收和发送在一个链接上进行)。
模拟器要求使用JDK1.4以上的Java运行环境,请确认相关环境已经安装妥当。如果还没有安装Java环境,请访问java.sun.com下载最新J2SE的SDK。
此模拟器已经使用了全新的核心设计,主要针对应用程序的稳定性、可靠性、效率以及配置、管理和监控方面做了很大的调整。基本界面风格和应用功能上没什么变化。
安装模拟器
模拟器整个是一个压缩包。点击链接下载模拟器:CMPPSimulator.zip、CMPP3Simulator.zip;点击链接下载协议:CMPP v1.2、CMPP v3.0。
所下载的模拟器仅模拟标准CMPP协议网关。如果想让模拟器以其厂商所提供的CMPP网关,请在下载相关的配置文件。使用不同的配置文件,模拟器会按照特定网关的模式进行工作。下载配置文件后,替换原来的config.xml即可。
点击链接下载CMPP1.x~2.x网关配置文件:亚信网关、卓望网关、北维通讯网关、华为网关、英斯克网关、艾派网关、思特奇网关、清华深讯网关。
点击链接下载CMPP3.x网关配置文件:标准CMPP3网关(状态报告字段为60字节)、标准CMPP3.1网关(状态报告字段为71字节)、标准CMPP3网关(收发分离模式)、亚信CMPP3网关(收发分离模式)。
如果熟悉模拟器的配置文件,则可以通过直接修改配置文件来设定模拟器的工作方式。有关模拟器可能出现的各种问题请参考“模拟器相关问题”。
解包以后应该可以看到目录结构。其中bin目录是存放运行程序包的目录;CMPPSimulator目录存放配置文件(config.xml)、启动命令(startup.bat/startup.sh)和关闭命令(shutdown.bat/shutdown.sh)。
如果解开后没有发现相关的的启动命令和关闭命令文件,请点击这里下载:startup.bat、startup.sh、shutdown.bat、shutdown.sh。
![](http://39.104.58.144/wp-content/uploads/2023/02/directory.jpg)
Bat文件是windows环境下使用的启动和关闭命令;Shell文件是Unix系统下使用的启动和关闭命令。下面主要以Windows环境进行讲解,Unix下基本类似。
如果Java运行环境安装正确,则可以直接运行和关闭,无需安装其他软件或者运行包。
启动模拟器
启动模拟器只需要运行startup.bat即可。正常启动后,会出现一个Console窗口,最后会提示:
......
SimulatorCenter.main : system startup !
......
关闭模拟器
关闭模拟器只需要输入quit命令即可,或者运行shutdown.bat。正常关闭后,Console窗口中应该最后会提示:
......
TaskManager.uninitialize : process manager was uninitialized !
......
使用模拟器
模拟器启动以后使用缺省配置端口7890进行通讯。缺省配置的企业代码是:999999;特别服务号码(也称长号码)是9999;用户名是333;密码是0555。这些配置可以在config.xml中找到:
......
<!-- These are all authentications of gateway. -->
<authenticate name="whoami" role="authorized">
<enterprise_code>999999</enterprise_code>
<service_code>9999</service_code>
<account>333</account>
<password>0555</password>
</authenticate>
......
启动后,会在系统目录中多出几个工作目录。日志文件在目录webpages目录下。
![](http://39.104.58.144/wp-content/uploads/2023/02/workdirectory.png)
在系统运行过程中,请勿删除工作目录;在系统关闭后,可以根据需要
1. 建立Socket连接与登陆
使用自己的CMPP客户端程序,与7890端口建立Socket连接。然后按照CMPP协议发送登陆数据包。模拟器会按照协议处理相关连接和登陆过程。
2. 发送短信息
正确建立连接和登陆以后,可以按照CMPP协议的Submit过程提交相关数据并得到应答。模拟器在接收到数据以后,会进行解析并按照协议要求进行应答和回复。相关的处理信息会记录在日志文件中。
3. 接收短信息
正确建立连接和登陆以后,在同一连接上等待模拟器的Deliver数据包即可,并且要求客户端按照协议给予应答。模拟器会对相关过程记录在日志信息当中。
4. 模拟MT以及状态报告过程
发送submit时,请将registered_delivery设置为1即可。
模拟器收到相关数据包以后,会通过submit_response应答给出message_id;随后模拟出deliver数据包给出状态报告,其中registered_delivery为1。
5. 模拟MO过程
发送submit时,请将registered_delivery设置为0即可。
模拟器收到相关数据包以后,会通过deliver请求发送模拟的MO。其中deliver的相关数据全部来自接收到的submit数据。包括来源号码、目标号码、业务代码以及信息内容。
6. 模拟压力测试
如果需要进行模拟的完整压力测试过程,只需要以最大速度重复步骤5即可。
监控模拟器
模拟器有一个基于Web监控后台,系统启动的时候同时启动。缺省端口建立在8081上。监控的URL地址、用户名和密码可以在配置文件中找到。
......
<authenticate name="admin" role="administrator">
<url>http://localhost:8081</url>
<account>forest_luo</account>
<password>root</password>
</authenticate>
<service port="8081">
<application docBase="/webpages" id="admin" mapping="/admin"/>
</service>
......
1. 登陆监控页面
打开IE浏览器输入URL地址,然后输入用户名和密码即可访问(Firefox不支持iframe,不建议使用)
![此图片的alt属性为空;文件名为login.jpg](http://39.104.58.144/wp-content/uploads/2023/02/login.jpg)
2. 系统根目录区
系统根目录区提示当前的网关标识以及系统若干元素的组成结构。
![](http://39.104.58.144/wp-content/uploads/2023/02/cmppleft.jpg)
点击相关图标即可展开各个部分。
3. 观察网关状态
点击Gateway链接,则在左边会出现一些功能提示。
......
......返回首页 | 网关状态 | 流量报告
......
请点击“网关状态”,则页面跳至一个定时(间隔5秒)刷新的状态:
![](http://39.104.58.144/wp-content/uploads/2023/02/cmppstatus.jpg)
由于相关参数众多,这里只告诉几个比较常用的检查参数。
(1) bjcmpp cmpp …… T : yes R : no
此行的T和R表示连接情况。其中T代表发送;R代表接收。No表示尚未建立连接;Yes表示连接进入准备状态或者已经建立链接。
(2) tQueue……0
此行的最后一个参数表示通过tQueue的数据包总数,也就是发送数据包的总数。
(3) rQueue……0
此行的最后一个参数表示通过rQueue的数据包总数,也就是接收数据包的总数。
(4) transmit……CF0
此行的最后一个参数表示数据包发送的当前速度。单位是“个/秒”。
(5) receiver……CF0
此行的最后一个参数表示数据包接收的当前速度。单位是“个/秒”。
例如:项目(1)可以查看连接情况;一般执行步骤4的时候,项目(2)和项目(3)的总数相等;项目(4)和项目(5)表明数据收发的速度。模拟器内部连接互测试的时候,这个数值可以达到500以上。