Args smsArgs = new Cfg("config.xml", false).getArgs("ismg");
smsArgs.set("source-addr", "XXXX");
smsArgs.set("shared-secret", "XXXX");
smsArgs.set("port", 7890);
smsArgs.set("host", "XXXXXX");
smsArgs.set("heartbeat-interval", 10);
smsArgs.set("reconnect-interval", 30);
smsArgs.set("heartbeat-noresponseout", 5);
smsArgs.set("transaction-timeout", 20);
smsArgs.set("version", 1);
smsArgs.set("debug", false);
CMPPSMProxy cmppSmProxy = new CMPPSMProxy(smsArgs);
String[] rcvMobile = phone.split(",");
CMPPSubmitMessage submitMsg = new CMPPSubmitMessage(1, // 相同Msg_id消息的總條數
1, // 相同Msg_id的消息序號
1, // 需要狀態報告
1, // 信息類別
"websms", // 業務類型,應與Infox對應
1, // 計費用戶類型,0:對目的終端MSISDN計費,1:對源終端MSISDN計費,2:對SP計費,3:本字段無效
"", // 被計費用戶的號碼(因是對主叫計費,所以此段填寫了空)
0, // GSM協議類型
0, // GSM協議類型
1, // 信息的CMPP格式類型: 0: ASCII格式, 1: UCS2格式
"websms", // 信息內容來源,對應於登錄Infox的帳號
"02", // 資費類別,“短消息類型”為“發送”,對“計費用戶號碼”不計信息費,此類話單僅用於核減SP對稱的信道費
"10", // 資費代碼,以分為單位
new java.util.Date(System.currentTimeMillis() + 2 * 24 * 60
* 60 * 1000), // 存活有效期,當前時間+2天
new java.util.Date(System.currentTimeMillis()), // 定時發送時間(null:立即發送)
"8888", // 源終端MSISDN號碼(為SP的服務代碼或前綴, 為服務代碼的長號碼,
// 網關將該號碼完整的填到SMPP協議相應的destination_address字段,
// 該號碼最終在用戶手機上顯示為短消息的主叫號碼) (沒有可以為空)
rcvMobile, // 接收業務的MSISDN號碼(數組)
content.getBytes("utf-8"), "");
CMPPSubmitRepMessage rep = (CMPPSubmitRepMessage) cmppSmProxy
.send(submitMsg);
if (rep != null) {
prlint(phone + ":發送結果smsDemo: " + rep.getResult()
+ ",rep.getSequenceId():" + rep.getSequenceId()
+ ",rep.getMsgId():" + rep.getMsgId()
+ ",rep.getCommandId():" + rep.getCommandId()
+ new Timestamp(System.currentTimeMillis()));
}
cmppSmProxy.close();
System.out.println("執行完畢smsDemo:" + rep);
}