`
shine1200
  • 浏览: 40233 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

电信短信SMGP模拟器

 
阅读更多
电信短信SMGP模拟器
        SMGP模拟器主要是模拟使用中国电信SMGP协议(版本1.x~3.x)的网关。此类型网关既可以使用一个收发连接(短信接收和发送在一个链接上进行),也可以使用收发连接分离的模式。
        模拟器要求使用JDK1.4以上的Java运行环境,请确认相关环境已经安装妥当。如果还没有安装Java环境,请访问java.sun.com下载最新J2SE的SDK。
        此模拟器已经使用了全新的核心设计,主要针对应用程序的稳定性、可靠性、效率以及配置、管理和监控方面做了很大的调整。基本界面风格和应用功能上没什么变化。


模拟器的安装


        模拟器整个是一个压缩包。点击链接下载模拟器:SMGPSimulator.zip、SMGP3Simulator.zip(支持TLV)。
        解包以后应该可以看到目录结构。其中bin目录是存放运行程序包的目录;SMGPSimulator目录存放配置文件(config.xml)、启动命令(startup.bat/startup.sh)和关闭命令(shutdown.bat/shutdown.sh)。
        如果解开后没有发现相关的的启动命令和关闭命令文件,请点击这里下载:startup.bat、startup.sh、shutdown.bat、shutdown.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 !”


模拟器的使用


        模拟器启动以后使用缺省配置端口9890进行通讯。缺省配置的企业代码是:99999;地区码为027;特别服务号码(也称长号码)是99999;用户名是333;密码是0555。这些配置可以在config.xml中找到:
        <!-- These are all authentications of gateway. -->
        <authenticate name="whoami" role="authorized">
            <enterprise_code>3027099999</enterprise_code>
            <service_code>99999</service_code>
            <account>333</account>
            <password>0555</password>
        </authenticate>
        启动后,会在系统目录中多出几个工作目录。日志文件在目录webpages目录下。





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


1.建立Socket连接与登陆


         使用自己的SMGP客户端程序,与9890端口建立Socket连接。然后按照SMGP协议发送登陆数据包。模拟器会按照协议处理相关连接和登陆过程。


2.发送短信息


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


3.接收短信息


        正确建立连接和登陆以后,在同一连接上等待模拟器的Deliver数据包即可,并且要求客户端按照协议给予应答。模拟器会对相关过程记录在日志信息当中。


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


        发送submit时,请将need_report设置为1即可。
        模拟器收到相关数据包以后,会通过submit_response应答给出message_id;随后模拟出deliver数据包给出状态报告,其中is_report为1。


5.模拟MO过程


        发送submit时,请将need_report设置为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,不建议使用)。





2.系统根目录区


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





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


3.观察网关状态


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


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


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





        由于相关参数众多,这里只告诉几个比较常用的检查参数。
        (1) hbtelecom smgp …… 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以上。


模拟器的常见问题


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


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


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


        缺省端口配置在这个部分:
        <socket timeout="5">
            <local port="9890"/>
        </socket>
        修改配置后,需要重新启动模拟器才可以生效。


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


        登陆的相关参数在这个部分:
        <!-- These are all authentications of gateway. -->
        <authenticate name="whoami" role="authorized">
            <enterprise_code>3027099999</enterprise_code>
            <service_code>99999</service_code>
            <account>333</account>
            <password>0555</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="server.transceiver" async="true" count="1">


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


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


        处理速度的配置在这个部分:


<session type="server.transceiver" async="true" count="1">


        增加一个属性flux即可。例如:flux=”100”。单位是“个/秒”。


<session type="server.transceiver" async="true" flux="100" count="1">


7.如何控制活动测试的时间间隔?


        活动测试的时间间隔的配置在这个部分:


<enquire initiative="30" passive="-1"/>


        属性initiative表示了活动测试的时间间隔。单位为秒。缺省是每30秒进行一次活动测试,从服务器端发送给客户端。如果想取消活动测试,则将initiative设置为-1。注意:设置为0,则表示连续进行活动。


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


        调整监控端口需要两个步骤。
        (1) 先调整服务器端口。属性port指明了服务器端口配置,可以调整为其他数值。


<service port="8081">


        (2) 相应的url也必须进行修改:


<url>http://localhost:8081</url>


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


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


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


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


        对于模拟器端,可以正确执行的指令只有“模拟上行”和“状态报告”。
        (1) 点击“模拟上行”,按照下面的方式进行填写:





        填写完毕后,点击“发送”。系统则开始按照所填写的数据模拟上行操作。
        (2) 点击“状态报告”,按照下面的方式进行填写:





        填写完毕后,点击“发送”。系统则开始按照所填写的数据模拟状态报告。
        注意:如果不清楚状态报告的结构或者数据,请使用前面介绍的方法触发正确的状态报告。
分享到:
评论
1 楼 吴志飞 2014-08-25  
SMGP3Simulator.zip中只有startup.dat,startup.sh文件,没有shutdown.bat/shutdown.sh,而且点击链接下载不了,能否发我一份完整的模拟器谢谢。邮箱是tiantianzhifei@126.com

相关推荐

Global site tag (gtag.js) - Google Analytics