电信SMGP协议,基于开源的jar文件smgpapi20100113.jar进行实现

        近来做了一个电信项目,电信要求使用它们的短信接口SMGP进行短信通知.找了很多方法, 刚开始乱码,各种处理,后来通过smgpapi20100113.jar,以及其源码已经完了功能的实现。特此记录;

smgpapi20100113.jar及其源码下载地址: 

或我本站分享:http://download.csdn.net/detail/pd10340927/9402069

        电信分为长短信和短短信,具体实现如下:

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.util.Properties;

import org.springframework.core.io.ClassPathResource;

 

import Sample.Config;

import cn.com.zjtelecom.smgp.Client;

import cn.com.zjtelecom.smgp.bean.Result;

import cn.com.zjtelecom.smgp.bean.Submit;

public classSmgpUtil {

   private static final String CONFURL = "config/smgp.properties";

   private static final String smgpHost = getConfigValue("smgpHost");//短信接口服务器ip

   private static final String smgpPort = getConfigValue("smgpPort");//服务器端口

   private static final String smgpUser = getConfigValue("smgpUser");//用户名

   private static final String smgpPwd = getConfigValue("smgpPwd");//密码

   private static final String smgpNo = getConfigValue("smgpNo");//电信提供的发送号码

   /**

    * 发送长短信

    * @param phoneNo  接收端号码

    * @param msg      消息内容

    * @throws IOException

    */

   public static void doSendLongMsg(String phoneNo,String msg) throws IOException{

      //soid一般指你的消息来源,如测试,或者来自XX项目的什么功能,参数传2和传0 是制定电信本次socket连接的具体用法,如发短信,收短信,还是其他

        Client client = new Client(smgpHost, Integer.valueOf(smgpPort.trim()), 2, smgpUser, smgpPwd, "spid", 0);

        Submit submit = new Submit();

        submit.setSrcTermid(smgpNo);

        submit.setDestTermid(phoneNo);

        //短消息内容体的编码格式。

        //0ASCII 编码;

        //3=短消息写卡操作;

        //4=二进制短消息;

        //8UCS2 编码;

        //15GB18030 编码;

        //246F6)=UIM 相关消息 UIM 相关消息,用于与 UIM 卡相关的 OTA 等业务,终端

        //收到该类型消息直接转发给 UIM 卡,由 UIM 卡来处理该类型消息;

        //其它保留。

        //对于文字短消息,要求 MsgFormat15。对于回执消息,要求 MsgFormat0 

        submit.setMsgFormat(15);

        submit.setMsgContent(msg.getBytes("GB18030")); //将字符集编码和你设置的msgFormat对应

        submit.setProductID("产品ID");//可以为空

        submit.setMsgType(0);

        submit.setNeedReport(0);

        submit.setPriority(0);

        //serviceId表示业务代码,是该条短消息所属的业务类别,由数字、字母

        //和符号组合而成。对于从 WEB 上发送的点对点短消息,要求业务代码为 “PC2P” ,其它业务代码由 SP 自定义。

        submit.setServiceID("PC2P");

        // 发送短信

        Result[] result = client.SendLong(submit);

        for (int i = 0; i < result.length; i++) {

                System.out.println("--------------------------------");

                System.out.println("Message "+i+"");

                System.out.println("Status:"+ result[i].ErrorCode);

                System.out.println("MsgID:"+ result[i].ErrorDescription);

                System.out.println("--------------------------------");

        }

        // 退出

        client.Close();

   }

   /**

    * 发送短短信

    * @param phoneNo  接收端号码

    * @param msg      消息内容

    * @throws IOException

    */

   public static void doSendShortMsg(String phoneNo,String msg) throws IOException{

      //初始化client

      Clientclient= newClient(smgpHost,Integer.valueOf(smgpPort.trim()), 2, smgpUser, smgpPwd,"spid",0);

      //设置submit

      Submitsubmit=newSubmit();

      submit.setSrcTermid(smgpNo);

      submit.setDestTermid(phoneNo);

      submit.setProductID("产品ID");//可以为空

        submit.setMsgType(0);

        submit.setNeedReport(0);

        submit.setPriority(0);

        submit.setServiceID("PC2P");

        submit.setMsgFormat(15);

      submit.setMsgContent(msg.getBytes("GB18030"));

      Result  result =client.Send(submit);

      System.out.println("Status:"+result.ErrorCode);

      System.out.println("MsgID:"+result.ErrorDescription);

      //退出

      client.Close();

   }

   privatestaticString getConfigValue(String key) {

 

   Propertiesconfig= newProperties();

   InputStreamin = null;

   try {

       config.load(newClassPathResource(CONFURL).getInputStream());

   }catch(FileNotFoundException e) {

       e.printStackTrace();

   }catch(IOException e) {

       e.printStackTrace();

   }finally{

       if (in != null){

      try {

          in.close();

      }catch(IOException e) {

          e.printStackTrace();

      }

       }

   }

   return config.getProperty(key);

   }

}

 


【资料名称】:中国电信集团公司企业标准(SMGP协议)(V1.0).doc移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单5N/d0_9F,U2r8I*\ 2k)N3u1| S k*A 【资料作者】:中国电信集团公司、中国电信集团上海研发中心、中国亚信科技公司 | 国内领先的通信技术论坛;D*L&a4v;*T MSCBSC 移动通信论坛6h&N h3O)K,o$l!E 【资料日期】:不详 :w'x"X5O:w t移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单 #X9O-h0S3I%T-y+}%X-K | 国内领先的通信技术论坛【资料语言】:中文 "t1q)I+U'T#H&uwww;.mscbsc.com 9B&P,y#u"~4_"q$b | 国内领先的通信技术论坛【资料格式】:DOC(w:i#b'H&_:J*h f"M0u!e mscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。)T2o-|*b:j:p9U5`1b8s 【资料目录和简介】: 1D-W"v!v0p/A%?6[ | 国内领先的通信技术论坛 | 国内领先的通信技术论坛&\)M0w:J9B2g/P $l+T3f8B$X3i4u!}#f移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单 1.1、 目标MSCBSC 移动通信论坛,J(l.K"D*_.Z,E;M9G "}8g'z2V w!jmscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。本文档(用文档表示是否合适??)详细介绍中国电信的短信网关(SMG应为SMGW,为统一起见,建议所有的短信网关改为短消息网关,所有的短信中心改为短消息中心)和服务提供商(SP)之间、短信网关和短信网关之间的通信协议。本协议简称SMGP(ShortMessageGatewayProtocol)。 3M r*h(i7s(N9@7c | 国内领先的通信技术论坛 8F8W"D!u;T7f#mmscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。服务提供商使用SMGP接入短信网关,向中国电信的短信用户发送短信,以及接收短信用户发送的短信。短信网关使用SMGP相互转发短信。7u'Z6w%L \ k,b1b MSCBSC 移动通信论坛(Q7_ {3l-I+z;l5]5E#h;] 本标准起草单位:中国电信集团公司、中国电信集团上海研发中心、中国亚信科技公司www.mscbsc.com/c,R%Z1v2` \(y 8K8u1g!^5F4I+\2}4B | 国内领先的通信技术论坛本标准主要起草人:移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单1q&d3s;o7b+`,z8H-Z-M www.mscbsc.com:A!u3L;z1U(w8o/n (n*n.M7i6O8h'j | 国内领先的通信技术论坛"b,G3f7E+j:W8g2L,]/c 1.2、 适用范围 0J!}0z#h S6K&]&|"G6{5qMSCBSC 移动通信论坛 2@(E T:d3D!U0a"^ | 国内领先的通信技术论坛本协议使用于短信网关开发商和短信服务提供商。 7t.H#~'C-k'`-p)N,Amscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。MSCBSC 移动通信论坛:A)n;@.y9M%c#E8q4G6` 1.3、 缩略语 #u6u&@#P%X/P"U%a移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单 | 国内领先的通信技术论坛!o.F"Z5S&a,b%\ SMGP 中国电信短信网关通信协议MSCBSC 移动通信论坛0d3k C2i7v!Z(p3C#I mscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。+s*q u$x*a*s SMG 短信网关 -I7p-E%o;O(omscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。 0V5[-Q(q.n6~'M%s"~6q | 国内领先的通信技术论坛SMPP 短信点对点协议mscbsc 移动
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值