CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  移动平台 >  开发应用

求助,关于短信网关!!!

楼主benyatou(丫头)2003-11-04 10:55:19 在 移动平台 / 开发应用 提问

各位大侠,如何做一个短信网关平台来实现SP向终端发送下行指令以及接收终端回传的GPS信息。我现在下载了一个中国移动通信(联通)短消息网关开发接口库,如何在此基础之上开发我自己的短信平台啊。  
  哪位大侠做过相关的工作,给点思路。非常着急,非常感谢! 问题点数:0、回复次数:28Top

1 楼benyatou(丫头)回复于 2003-11-05 22:19:43 得分 0

没人回复,自己up一下。Top

2 楼qingw2000()回复于 2003-11-05 23:46:25 得分 0

这种短信平台自己开发也不是很难,一个socket通讯部分,一个是协议解析部分Top

3 楼qingw2000()回复于 2003-11-06 00:11:44 得分 0

俺说的不难是指实现不难,效率嘛,呵呵....Top

4 楼zubasha(小狼)回复于 2003-11-06 11:48:09 得分 0

你都已经有接口库了,还不简单?  
  一般接口库就帮你封装了通信和解析协议的功能。  
  你只要调用接口库,得到你想要的东西,根据这些东西实现你自己的思路不就可以了?  
  比如你先定义一个struct,然后传到sendmt,得到类似msgid之类的东西,然后不就可以做你自己的东西咯Top

5 楼mzqali1(梦网无限)回复于 2003-11-06 14:34:13 得分 0

你们公司申请了特服号了吗?  
   
  有了接口就很容易了,你把这些接口封装到你的业务中就可以了,例如建立连接CMPP_CONNECT,CMPP_SUBMIT,CMPP_DELIVERY等等,只要你按照协议定义好参数表直接调用就可以了。如果没有接口函数,那你就要根据相关协议自己从底层做起了,那样麻烦一些了。Top

6 楼benyatou(丫头)回复于 2003-11-06 21:30:47 得分 0

谢谢各位大侠的关注,我们公司正在申请网关。  
  在申请到之前,我想先用虚拟网关来做。  
  我下载了移动的CMPP2.0协议,和一个短信开发库,里面有一个虚拟网关程序和一个客户端程序,但是没有什么说明,我本身不是学计算机的,也不是学通讯的,许多都是刚接触,谁能给我一些相关的资料或文档说明?  
  感激不尽。Top

7 楼icesg()回复于 2003-11-08 21:59:16 得分 0

我这边有详细的短信接口程序,协议是cmpp2.0,可以减少你们开发的时间,直接可以使用.  
  icesg@163.comTop

8 楼benyatou(丫头)回复于 2003-11-11 08:44:00 得分 0

楼上的icesg,谢谢你,我主要想找些资料和例程了解一下,因为申请到网关后,会提供接口库的吧。你的程序可以以什么方式提供呢?另外你可以提供给我一些文档资料么?thanks.Top

9 楼daymouse()回复于 2003-11-11 10:35:52 得分 0

icesg   ,你好,我已经发邮件到你邮箱了,请查阅,也希望你能提供一下,呵呵Top

10 楼eldwolf()回复于 2003-11-12 11:50:25 得分 0

可以把资料也发一份给我吗?  
  eldwolfm@sina.com,谢谢!Top

11 楼nicolefm(nicolefm)回复于 2003-11-12 13:09:21 得分 0

可以把资料也发一份给我吗?  
  fmcat@vip.sina.com,谢谢!  
  Top

12 楼sicainiao(死菜鸟乐乐)回复于 2003-11-12 13:59:26 得分 0

dlgzaa@163.com  
   
  能发给我一份吗?小弟先谢过了。。Top

13 楼crackatom(原子)回复于 2003-11-12 16:41:20 得分 0

我也刚开始做这方面的东西,可以也给我一份吗?谢谢!  
  sky_gao@sohu.comTop

14 楼lxxldd(菜鸟一个)回复于 2003-11-12 17:14:18 得分 0

现在sp竞争激烈,不容易呢!呵呵Top

15 楼lins(Anders*小明)回复于 2003-11-13 09:46:34 得分 0

markTop

16 楼benyatou(丫头)回复于 2003-11-13 21:58:04 得分 0

真着急啊,大家都是来问问题的,回答问题的人少啊。  
  up一下。Top

17 楼feixuehenshui(飞雪恨水)回复于 2003-11-20 10:58:56 得分 0

icesg()     能发给我一个吗?我急需  
  谢谢Top

18 楼Tiger0920(Tigerbeer)回复于 2003-11-21 14:55:20 得分 0

我也刚开始做这方面的东西,可以也给我一份吗?谢谢!  
  fog011@163.comTop

19 楼seacj(定时炸弹)回复于 2003-11-24 09:15:08 得分 0

gzingTop

20 楼mzqali1(梦网无限)回复于 2003-12-05 20:34:54 得分 0

如何使用CMPPAPI接入短信网关,开展短信业务  
  SP可以使用MISC(移动信息服务中心)系统提供的CMPPAPI方便地接入   MISC   短信网关(MTBS)开展短信业务,在进行短信业务的开发时不但要仔细阅读API的使用手册,还要注意在接入MTBS时对一些业务相关参数的处理。  
  一、参数说明  
  1、 建立连接  
  对于MTBS   V1.3,连接包字段Source_Addr需要填写填特服号,对于MTBSV1.5,该字段填以9开头的6位企业代码(Sp_Id)  
  SP可以使用CMPPAPI(v1.5)提供的接口函数nCMPP_Connect建立同MTBS(v1.5)的连接(包括链路层连接和应用层连接),同时需要在配置文件的[SP]段正确设置了SP的企业代码即Sp_Id字段的值。  
  2、 发送Sumit包  
  使用CMPPAPI(v1.5)发送Submit包到MTBS时,SP需要定义一个RecCSumit类型的结构变量,并使用接口函数nCMPP_PrepSubmit对该变量进行赋值(也可以直接对该结构进行赋值),最后使用接口函数nCMPP_SendSubmit发送Submit消息包到MTBS。在使用nCMPP_   PrepSubmit对结构变量进行赋值(或直接对该结构进行赋值)时需要注意下列字段的取值。  
  l 对于FeeType字段,MTBS   V1.3和V1.5都对计费类型FeeType字段进行了扩展,当FeeType字段的值为08时,表示该Submit包为服务定制,即通知MTBS建立目的手机和该服务的定购关系,当FeeType字段的值为09,表示该Submit包为服务取消,即通知MTBS取消目的手机和该服务的定购关系。  
  在CMPPAPI中则需要调用函数nCMPP_PrepSubmit时对sFeeType字段进行赋值。  
  l 对于Service_id字段,   MTBS   V1.3建议使用三位数字,   MTBS   V1.5   可以为六位以内的数字和字母组合  
  如果使用CMPPAPI时,则在调用nCMPP_PrepSubmit接口函数时对sServiceId输入参数进行赋值。  
  l 对于Fee_terminal_id字段,MTBS   V1.3   配合Fee_UserType放第三方计费用户(具体请参见CMPP协议),MTBS   V1.5   则要求必须正确填写计费用户,包括本机号码  
  l 对于Msg_Id字段,一般情况下发送Submit包时该字段由SP侧网关产生,但是如果是对应点播服务的MT则要求必须将MO的Msg_Id返回。  
  在PUSH服务SP必须将Msg_Id值为   “0x00”,如果使用CMPPAPI则在调用nCMPP_PrepSubmit接口函数时把ucMsgId输入参数直接赋值为NULL就可以了。  
  l 对于Pk_total和Pk_number字段,MTBS   V1.5   要求Pk_total和Pk_number必须设置有值.MTBS   V1.3无要求  
  在使用CMPPAPI(v1.5)时,如果将要发送的消息内容由CMPPAPI进行处理则在调用nCMPP_PrepSubmit函数(或直接对结构赋值)时把ucPkTotal和ucPkNumber字段都赋值为0,如果不为0则表示由SP自己赋值。  
  l FeeCode   字段无效,请设置为   “0x30”。  
  使用CMPPAPI,在调用nCMPP_PrepSubmit接口函数把sFeeCode输入参数赋值为  
  l 对于Msg_Src字段,MTBS   V1.5   需要填以9开头的6位企业代码.  
  使用CMPPAPI时需要在调用nCMPP_PrepSubmit接口函数把ucMsgSrc输入参数赋值为Sp_Id  
  l 在MTBS   中SP无需发送SMC包,包月用户的话单由MISC(移动信息服务中心)系统在计帐周期开始时自动产生。  
  l 群发:  
  MTBS   V1.3   不支持群发功能,MTBS   V1.5   虽然支持群发功能,但SP会收到对应多个按顺序的相同响应包,建议尽量不使用该功能,同时按照CMPP2.0协议,只有在不需要状态回执报告时才能进行群发。  
  使用CMPPAPI进行群发,在调用nCMPP_SendSubmit进行发送时直接填写sDestTerminalId输入参数项即可,中间需要使用逗号进行分割,例如:“13912345678,13812345678”  
  3、 接受包  
   
  l 对于所有响应包,如果出现流量控制错误,需要暂时停止发送1秒,重新发送原包。  
   
  l 同时按照CMPP2.0协议,短信网关和SP之间消息发送等待确认时间暂定为60秒,超过则认为超时需要重新发送两次。  
   
  l 对于MTBS1.3短信网关会主动发起Active测试包,对于MTBS1.5短信网关不再主动发起Active测试包,MTBS1.5短信网关要求SP发送Active测试包的时间为30秒没有任何信息交互,如果超过90秒没有信息交互则断开对SP的连接  
   
  l 在使用CMPPAPI时SP需要自己判断超时以及响应包的返回值的意义,并进行相应的超时重发或者当出现流量控制错误时进行延时重发。  
   
  l 用户发给SP的MO消息在短信网关中保存的时间为半小时,半小时之内会重发三次,之后会把该包删除。  
   
  注意:如果使用CMPPAPI(1.5)的接口函数nCMPP_RecvPacket接收到的包命令码为0x01000005,表示该消息包为一个状态回执报告,该命令码是由CMPPAPI(1.5)定义的,这时消息体的结构为RecCDeliverRcpt而不是RecCDeliver。(具体结构定义请参考CMPPAPI使用手册)  
  4、Msg_Id   的产生  
  Msg_Id是由SP侧的短信网关生成的(SP根据请求和应答消息的Sequence_Id一致性就可得到Submit消息的Msg_Id)  
  一般来说,SP可以不关心Msg_Id的生成机制或算法,直接使用生成的Msg_Id即可。  
  下面是短信网关Msg_Id   的生成方法:  
  l MTBS   V1.3中Msg_Id的产生  
  MMDDYYYY   +   (10位)Sequence  
  MM   月DD日,YYYY对应手机区号,Sequence   循环  
  l MTBS   V1.5中的Msg_Id产生按照CMPP2.0协议标准  
  生成算法如下:  
  采用64位(8字节)的整数:  
  (1)时间(格式为MMDDHHMMSS,即月日时分秒):bit64-bit39,其中  
  bit64-bit61:月份的二进制表示;  
  bit60-bit56:日的二进制表示;  
  bit55-bit51:小时的二进制表示;  
  bit50-bit45:分的二进制表示;  
  bit44-bit39:秒的二进制表示;  
  (2)网关代码:bit38-bit17,把短信网关的代码转换为整数填写到该字段中。  
  (3)序列号:bit16-bit1,顺序增加,步长为1,循环使用。  
  各部分如不能填满,左补零,右对齐。  
  Top

21 楼benyatou(丫头)回复于 2003-12-09 09:16:22 得分 0

谢谢冰糖葫芦,我先看看,不明白的地方还请不吝赐教!Top

22 楼ercnet(莫木)回复于 2003-12-11 16:14:33 得分 0

ercnet@tom.comTop

23 楼mzqali1(梦网无限)回复于 2003-12-12 14:29:31 得分 0

呵呵,现在移动的特服号真是难申请,  
  我们也只是申请了一个只支持上行的服务号,可惜我做了一套短信接口只用了很简单的一点点功能,真是没有感觉!不过偶的这套接口可是严格按照CMPP协议写的,而且支持多线程监控,就是没有时间了,又要做别的项目去了,可惜可惜!等有时间完善了一定拿出来和大家共享!Top

24 楼zhanvi(流浪代码)回复于 2003-12-15 15:56:23 得分 0

哎,网上到处都是,去下啊,在这里要什么呀Top

25 楼crackatom(原子)回复于 2003-12-16 17:47:03 得分 0

哪儿有啊?Top

26 楼padfan(胖有)回复于 2003-12-16 23:37:52 得分 0

呵呵!也好!我就是在SP工作的,但是没有接触过短信平台的开发,所以也希望多学习学习!  
   
  另外问问:delphi可否直接根据CMPP等协议开发短信平台?  
   
  或者说调用那些接口!Top

27 楼zhanvi(流浪代码)回复于 2003-12-21 19:39:03 得分 0

delphi当然可以根据CMPP等协议开发短信平台  
   
  这个网站有:www.sp-from.comTop

28 楼zubasha(小狼)回复于 2004-02-25 15:38:55 得分 0

to   mzqali1(冰糖葫芦)    
  ==================================  
  你说你的接口有多线程监控?能否给一份代码俺瞧瞧?  
  winglgp@21cn.com  
   
  TO   others  
  ==================================  
  要接口库,容易,去移动主页下  
   
  http://www.gmcc.net/others/spjr.html  
  Top

相关问题

  • 谁有短信网关资料?急
  • 网关
  • 网关??
  • asp中如何利用icq网关来发送手机短信?
  • 谁有测试短信的网关程序?
  • 如何编写基于网关的短信息程序
  • 怎样通过网关发送和接受短信?
  • 如何访问知短信网关,大家来坐谈一下!!!
  • 散分求移动或者网通的短信网关源码
  • 如何通过网关方式做短信平台?

关键词

  • 字段
  • 网关
  • 接口
  • 函数
  • 协议
  • 二进制
  • 代码
  • 结构
  • mtbs
  • cmppapi

得分解答快速导航

  • 帖主:benyatou

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo