彩信网关MMS/MM7模拟器

MMS/MM7模拟器主要是模拟使用MM7协议的彩信网关。此类型彩信网关使用基于SOAP协议的通讯模式。

模拟器要求使用JDK1.4以上的Java运行环境,请确认相关环境已经安装妥当。如果还没有安装Java环境,请访问java.sun.com下载最新J2SE的SDK。

此模拟器已经使用了全新的核心设计,主要针对应用程序的稳定性、可靠性、效率以及配置、管理和监控方面做了很大的调整。基本界面风格和应用功能上没什么变化。

模拟器的安装

模拟器整个是一个压缩包。点击链接下载模拟器:标准MM7模拟器联通MM7模拟器真脉无线MM7模拟器上海贝尔MM7模拟器亚信MM7模拟器

联通MM7网关、真脉无线MM7网关、上海贝尔MM7网关和移动的MM7网关基本一致,但是都存在少部分差别。例如:字段上的使用方式;XML文件的描述方式等等。亚信MM7网关完全属于自定义协议,只不过使用类似MM7的字段命名和API封装方式。

目前模拟器的缺省配置仅使用短链接的方式处理相关协议包,如果需要进行长链接测试则需要调整模拟器配置。有关模拟器可能出现的各种问题请参考“模拟器相关问题”。

解包以后应该可以看到目录结构。其中bin目录是存放运行程序包的目录;MM7Simulator目录存放配置文件(config.xml)、启动命令(startup.bat/startup.sh)和关闭命令(shutdown.bat/shutdown.sh)。

如果解开后没有发现相关的的启动命令和关闭命令文件,请点击这里下载:startup.batstartup.shshutdown.batshutdown.sh

目录

Bat文件是windows环境下使用的启动和关闭命令;Shell文件是Unix系统下使用的启动和关闭命令。下面主要以Windows环境进行讲解,Unix下基本类似。

如果Java运行环境安装正确,则可以直接运行和关闭,无需安装其他软件或者运行包。

启动模拟器

启动模拟器只需要运行startup.bat即可。

正常启动后,会出现一个Console窗口,最后会提示:“SimulatorCenter.main : system startup !”

关闭模拟器

关闭模拟器只需要输入quit命令即可,或者运行shutdown.bat。

正常关闭后,Console窗口中应该最后会提示:“TaskManager.uninitialize : process manager was uninitialized !”

模拟器的使用

模拟器启动以后使用缺省配置端口8088和8089进行通讯。

缺省配置的企业代码是:888888;特别服务号码(也称长号码)是10658888;用户名是zxme;密码是zxme。

这些配置可以在config.xml中找到:

        <!-- These are all authentications of gateway. -->
         <authenticate name="whoami" role="authorized">
             <enterprise_code>888888</enterprise_code>
             <service_code>10658888</service_code>
             <version>6.3.0</version>
             <server_id>927001</server_id>
                 <url>/vas</url>
             <account>zxme</account>
             <password>zxme</password>
         </authenticate>

启动后,会在系统目录中多出几个工作目录。日志文件在目录webpages目录下。

工作目录

在系统运行过程中,请勿删除工作目录;在系统关闭后,可以根据需要删除工作目录。如果需要完全重置模拟器的工作状态,则必须完全删除相关工作目录。

1.建立Socket连接与登陆

使用自己的MM7客户端程序,在8089端口等待链接,并与8088端口建立Socket连接。然后按照MM7协议发送数据包。模拟器会按照协议处理相关连接过程。

对于亚信MM7网关的接收和发送,都必须与8088端口建立Socket连接。然后按照亚信的自定义协议发送和接收数据报。模拟器会按照亚信的自定义协议处理相关连接过程。

2.发送彩信

正确建立连接以后,可以按照MM7协议的SubmitReq过程提交相关数据并得到应答。模拟器在接收到数据以后,会进行解析并按照协议要求进行应答和回复。相关的处理信息会记录在日志文件中。

3.接收彩信

客户端应该在8089端口建立侦听端口,并等待模拟器发起链接。模拟器正确建立连接以后,在该连接上等待模拟器的DeliverReq数据包即可,并且要求客户端按照协议给予应答。模拟器会对相关过程记录在日志信息当中。

4.模拟MT以及状态报告过程

发送SubmitReq时,请将DeliveryReport设置为true即可。

模拟器收到相关数据包以后,会通过SubmitReqResponse应答给出messageID;随后模拟出DeliverReportReq数据包给出状态报告。

5.模拟MO过程

发送SubmitReq时,请将DeliveryReport设置为false即可。

模拟器收到相关数据包以后,会通过DeliverReq请求发送模拟的MO。其中DeliverReq的相关数据全部来自接收到的SubmitReq数据。包括来源号码、目标号码、业务代码以及信息内容。

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,不建议使用)。

登录页面

2.系统根目录区

系统根目录区提示当前的网关标识以及系统若干元素的组成结构。

根目录

点击相关图标即可展开各个部分。

3.观察网关状态

点击Gateway链接,则在左边会出现一些功能提示。

返回首页 | 网关状态 | 流量报告

请点击“网关状态”,则页面跳至一个定时(间隔5秒)刷新的状态:

网关状态

由于相关参数众多,这里只告诉几个比较常用的检查参数。

      (1) server mm7 …… 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)表明数据收发的速度。模拟器内部连接互测试的时候,这个数值可以达到70以上。

模拟器的常见问题

1.模拟器能同时启动两个么?

可以同时启动多个模拟器,但是不能在同一个目录下运行。因为由于MO端口监听方面的冲突,因此需要修改配置文件。

2.缺省端口在配置文件哪个部分?

缺省端口配置在这个部分:

        <socket timeout="5">
             <local port="8088"/>
         </socket>

修改配置后,需要重新启动模拟器才可以生效。

3.登陆的相关参数在配置文件哪个部分?

登陆的相关参数在这个部分:

        <!-- These are all authentications of gateway. -->
         <authenticate name="whoami" role="authorized">
             <enterprise_code>888888</enterprise_code>
             <service_code>10658888</service_code>
             <version>6.3.0</version>
             <server_id>927001</server_id>
                 <url>/vas</url>
             <account>zxme</account>
             <password>zxme</password>
         </authenticate>

4.登陆后台的参数在配置文件哪个部分?

登陆后台的相关参数在这个部分:

         <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>

5.如何允许建立更多的连接?

连接个数的配置在这个部分:

<session type="client.receiver" async="true" count="1">
......
<session type="server.transmitter" async="true" count="1">

将属性count修改为大于1的数值即可。

6.如何控制链接中数据包的处理速度?

由于HTTP协议是短链接,目前这个速度不能直接通过设置session的flux来控制。一般情况下是通过控制最多连接个数来限定。

7.后台监控端口已经被占用,如何调整?

调整监控端口需要两个步骤。

  • (1) 先调整服务器端口。属性port指明了服务器端口配置,可以调整为其他数值。
<service port="8081">
  • (2) 相应的url也必须进行修改:
<url>http://localhost:8081</url>

修改后,系统必须重新启动才可以生效。

8.如何发送特定的上行和状态报告?

点击Gateway链接,则在右边会出现一些功能提示。

发送下行 | 模拟上行 | 状态报告 | 模拟回执

对于模拟器端,可以正确执行的指令只有“模拟上行”和“状态报告”。

  • (1) 点击“模拟上行”,按照下面的方式进行填写:

模拟上行

根据自己的测试需要可以选择各种测试项目。可测试的内容包括:文字、图片和铃声。以及三者的各种混合模式。点击“发送”,系统即开始执行相关模拟特定上行的功能。

*(2) 点击“状态报告”,按照下面的方式进行填写:

状态报告

根据自己的测试需要可以选择各种测试项目。可以测试成功、过期、流量控制错等状态。点击“发送”,系统即开始执行相关模拟特定状态报告的功能。

  • 注意:如果不清楚状态报告的结构或者数据,请使用前面介绍的方法触发正确的状态报告。
2010年10月9日:增加了对上海贝尔彩信网关的支持。该类网关类似真脉无线MM7网关,但是附件封装类似Parlay彩信网关。
2010年9月12日:修改了模拟状态报告中的一个程序错误。该错误是因为在生成状态报告消息时,未能加载合适的消息体,导致无法正常模拟状态报告。
2010年7月16日:MM7Api大批量发送时的异常情况,与MM7Api和模拟器的长/短链接模式选择有关。两者必须在同一种模式下才可以正常工作。
2010年6月14日:增加了对亚信彩信网关的支持。该类网关采取完全自定义的通讯协议。
2010年3月25日:解决了DeliverReq模拟时采取utf8不能被识别的问题;解决了对VASPErrorRsp不能正确接纳的问题。
QR Code
QR Code message:mm7_simulator (generated for current page)