@ManagedOperation public void sendSegmentedDeliverLongMsg(int numberOfSegments, int minMsgSize) throws Exception { Address sourceAddress = new Address((byte) 0, (byte) 0, "123456789"); Address destinationAddress = new Address((byte) 0, (byte) 0, "987654321"); int msgRefNum = nextMsgRefNum.incrementAndGet(); for (int i = 1; i <= numberOfSegments; i++) { StringBuilder sb = new StringBuilder(255); sb.append("Segment content "); sb.append(i); sb.append(". "); while (sb.length() < minMsgSize) { sb.append("."); } String shortMessage = sb.toString(); DeliverSm pdu = SmppPduUtils.createDeliverSm(sourceAddress, destinationAddress, getSessionManager().getNextSequenceNumber()); SmppPduUtils.setSegmentOptionalParams(pdu, msgRefNum, i, numberOfSegments); byte[] body = CharsetUtil.encode(shortMessage, CharsetUtil.CHARSET_GSM); if (body.length < 256) { pdu.setShortMessage(body); } else { SmppPduUtils.setMessagePayloadOptionalParams(pdu, body); } pdu.setDataCoding(SmppConstants.DATA_CODING_8BITA); send(pdu); } }
@ManagedOperation public void sendSegmentedBinaryDeliverMsg(int numberOfSegments) throws Exception { Address sourceAddress = new Address((byte) 0, (byte) 0, "123456789"); Address destinationAddress = new Address((byte) 0, (byte) 0, "987654321"); int msgRefNum = nextMsgRefNum.incrementAndGet(); for (int i = 1; i <= numberOfSegments; i++) { String shortMessage = "Segment content " + i + ". "; DeliverSm pdu = SmppPduUtils.createDeliverSm(sourceAddress, destinationAddress, getSessionManager().getNextSequenceNumber()); SmppPduUtils.setSegmentOptionalParams(pdu, msgRefNum, i, numberOfSegments); pdu.setShortMessage(CharsetUtil.encode(shortMessage, CharsetUtil.NAME_GSM)); pdu.setDataCoding((byte) 0x02); // 8 bit binary encoding send(pdu); } }
public static DeliverSm createDeliverSm(Address sourceAddress, Address destinationAddress, int sequenceNumber) throws SmppInvalidArgumentException { DeliverSm pdu0 = new DeliverSm(); pdu0.setSequenceNumber(sequenceNumber); pdu0.setSourceAddress(sourceAddress); pdu0.setDestAddress(destinationAddress); pdu0.setProtocolId((byte) 0x00); pdu0.setPriority((byte) 0x00); pdu0.setScheduleDeliveryTime(null); pdu0.setValidityPeriod(null); pdu0.setRegisteredDelivery((byte) 0x00); pdu0.setReplaceIfPresent((byte) 0x00); pdu0.setDataCoding((byte) 0x00); pdu0.setDefaultMsgId((byte) 0x00); return pdu0; }
pdu0.setRegisteredDelivery((byte) 0x00); pdu0.setReplaceIfPresent((byte) 0x00); pdu0.setDataCoding((byte) 0x00); pdu0.setDefaultMsgId((byte) 0x00);