Java源码示例:org.jsmpp.bean.TypeOfNumber

示例1
public DeliverSmCommandTask(PDUSender pduSender,
        String serviceType, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
        TypeOfNumber destAddrTon, NumberingPlanIndicator destAddrNpi,
        String destinationAddr, ESMClass esmClass, byte protocoId,
        byte priorityFlag, RegisteredDelivery registeredDelivery,
        DataCoding dataCoding, byte[] shortMessage,
        OptionalParameter[] optionalParameters) {
    
    super(pduSender);
    this.serviceType = serviceType;
    this.sourceAddrTon = sourceAddrTon;
    this.sourceAddrNpi = sourceAddrNpi;
    this.sourceAddr = sourceAddr;
    this.destAddrTon = destAddrTon;
    this.destAddrNpi = destAddrNpi;
    this.destinationAddr = destinationAddr;
    this.esmClass = esmClass;
    this.protocoId = protocoId;
    this.priorityFlag = priorityFlag;
    this.registeredDelivery = registeredDelivery;
    this.dataCoding = dataCoding;
    this.shortMessage = shortMessage;
    this.optionalParameters = optionalParameters;
}
 
示例2
/**
 * Sending bind.
 * 
 * @param bindType is the bind type.
 * @param systemId is the system id.
 * @param password is the password.
 * @param systemType is the system type.
 * @param interfaceVersion is the interface version.
 * @param addrTon is the address TON.
 * @param addrNpi is the address NPI.
 * @param addressRange is the address range.
 * @param timeout is the max time waiting for bind response. 
 * @return SMSC system id.
 * @throws PDUException if we enter invalid bind parameter(s).
 * @throws ResponseTimeoutException if there is no valid response after defined millisecond.
 * @throws InvalidResponseException if there is invalid response found.
 * @throws NegativeResponseException if we receive negative response.
 * @throws IOException if there is an IO error occur.
 */
private String sendBind(BindType bindType, String systemId,
		String password, String systemType,
		InterfaceVersion interfaceVersion, TypeOfNumber addrTon,
		NumberingPlanIndicator addrNpi, String addressRange, long timeout)
		throws PDUException, ResponseTimeoutException,
		InvalidResponseException, NegativeResponseException, IOException {
    
    BindCommandTask task = new BindCommandTask(pduSender(), bindType,
               systemId, password, systemType, interfaceVersion, addrTon,
               addrNpi, addressRange);
    
    BindResp resp = (BindResp)executeSendCommand(task, timeout);
    OptionalParameter.Sc_interface_version scVersion = resp.getOptionalParameter(Sc_interface_version.class);
    if(scVersion != null) {
	    logger.info("Other side reports SMPP interface version {}", scVersion);
    }

		sessionContext.bound(bindType);
       
	return resp.getSystemId();
}
 
示例3
@Override
public String submitShortMessage(String serviceType,
        TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
        String sourceAddr, TypeOfNumber destAddrTon,
        NumberingPlanIndicator destAddrNpi, String destinationAddr,
        ESMClass esmClass, byte protocolId, byte priorityFlag,
        String scheduleDeliveryTime, String validityPeriod,
        RegisteredDelivery registeredDelivery, byte replaceIfPresentFlag,
        DataCoding dataCoding, byte smDefaultMsgId, byte[] shortMessage,
        OptionalParameter... optionalParameters) throws PDUException,
        ResponseTimeoutException, InvalidResponseException,
        NegativeResponseException, IOException {
	
    ensureTransmittable("submitShortMessage");
	
    SubmitSmCommandTask submitSmTask = new SubmitSmCommandTask(
            pduSender(), serviceType, sourceAddrTon, sourceAddrNpi,
            sourceAddr, destAddrTon, destAddrNpi, destinationAddr,
            esmClass, protocolId, priorityFlag, scheduleDeliveryTime,
            validityPeriod, registeredDelivery, replaceIfPresentFlag,
            dataCoding, smDefaultMsgId, shortMessage, optionalParameters);
	
    SubmitSmResp resp = (SubmitSmResp)executeSendCommand(submitSmTask, getTransactionTimer());
	return resp.getMessageId();
}
 
示例4
@Override
public void cancelShortMessage(String serviceType, String messageId,
        TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
        String sourceAddr, TypeOfNumber destAddrTon,
        NumberingPlanIndicator destAddrNpi, String destinationAddress)
        throws PDUException, ResponseTimeoutException,
        InvalidResponseException, NegativeResponseException, IOException {
    
    ensureTransmittable("cancelShortMessage");
    
    CancelSmCommandTask task = new CancelSmCommandTask(pduSender(),
            serviceType, messageId, sourceAddrTon, sourceAddrNpi,
            sourceAddr, destAddrTon, destAddrNpi, destinationAddress);
    
    executeSendCommand(task, getTransactionTimer());
}
 
示例5
public ReplaceSmCommandTask(PDUSender pduSender, String messageId,
        TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
        String sourceAddr, String scheduleDeliveryTime,
        String validityPeriod, RegisteredDelivery registeredDelivery,
        byte smDefaultMsgId, byte[] shortMessage) {
    super(pduSender);
    this.messageId = messageId;
    this.sourceAddrTon = sourceAddrTon;
    this.sourceAddrNpi = sourceAddrNpi;
    this.sourceAddr = sourceAddr;
    this.scheduleDeliveryTime = scheduleDeliveryTime;
    this.validityPeriod = validityPeriod;
    this.registeredDelivery = registeredDelivery;
    this.smDefaultMsgId = smDefaultMsgId;
    this.shortMessage = shortMessage;
}
 
示例6
public DataSmCommandTask(PDUSender pduSender, String serviceType,
        TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
        String sourceAddr, TypeOfNumber destAddrTon,
        NumberingPlanIndicator destAddrNpi, String destinationAddr,
        ESMClass esmClass, RegisteredDelivery registeredDelivery,
        DataCoding dataCoding, OptionalParameter[] optionalParameters) {
    
    super(pduSender);
    this.serviceType = serviceType;
    this.sourceAddrTon = sourceAddrTon;
    this.sourceAddrNpi = sourceAddrNpi;
    this.sourceAddr = sourceAddr;
    this.destAddrTon = destAddrTon;
    this.destAddrNpi = destAddrNpi;
    this.destinationAddr = destinationAddr;
    this.esmClass = esmClass;
    this.registeredDelivery = registeredDelivery;
    this.dataCoding = dataCoding;
    this.optionalParameters = optionalParameters;
}
 
示例7
@Override
public void deliverShortMessage(String serviceType,
                                TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
                                String sourceAddr, TypeOfNumber destAddrTon,
                                NumberingPlanIndicator destAddrNpi, String destinationAddr,
                                ESMClass esmClass, byte protocoId, byte priorityFlag,
                                RegisteredDelivery registeredDelivery, DataCoding dataCoding,
                                byte[] shortMessage, OptionalParameter... optionalParameters)
    throws PDUException, ResponseTimeoutException,
    InvalidResponseException, NegativeResponseException, IOException {

  ensureReceivable("deliverShortMessage");

  DeliverSmCommandTask task = new DeliverSmCommandTask(pduSender(),
      serviceType, sourceAddrTon, sourceAddrNpi, sourceAddr,
      destAddrTon, destAddrNpi, destinationAddr, esmClass, protocoId,
      protocoId, registeredDelivery, dataCoding, shortMessage,
      optionalParameters);

  executeSendCommand(task, getTransactionTimer());
}
 
示例8
public String submitShortMessage(String serviceType,
                                 TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
                                 String sourceAddr, TypeOfNumber destAddrTon,
                                 NumberingPlanIndicator destAddrNpi, String destinationAddr,
                                 ESMClass esmClass, byte protocolId, byte priorityFlag,
                                 String scheduleDeliveryTime, String validityPeriod,
                                 RegisteredDelivery registeredDelivery, byte replaceIfPresentFlag,
                                 DataCoding dataCoding, byte smDefaultMsgId, byte[] shortMessage,
                                 OptionalParameter... optionalParameters) throws PDUException,
    ResponseTimeoutException, InvalidResponseException,
    NegativeResponseException, IOException {

  return getSession().submitShortMessage(serviceType, sourceAddrTon,
      sourceAddrNpi, sourceAddr, destAddrTon, destAddrNpi,
      destinationAddr, esmClass, protocolId, priorityFlag,
      scheduleDeliveryTime, validityPeriod, registeredDelivery,
      replaceIfPresentFlag, dataCoding, smDefaultMsgId, shortMessage,
      optionalParameters);
}
 
示例9
public String submitSm(String serviceType, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
        TypeOfNumber destAddrTon, NumberingPlanIndicator destAddrNpi,
        String destinationAddr, ESMClass esmClass, byte protocolId,
        byte priorityFlag, String scheduleDeliveryTime,
        String validityPeriod, RegisteredDelivery registeredDelivery,
        byte replaceIfPresentFlag, DataCoding dataCoding,
        byte smDefaultMsgId, byte[] shortMessage,
        OptionalParameter... optionalParameters) throws PDUException,
        ResponseTimeoutException, InvalidResponseException,
        NegativeResponseException, IOException {

    SubmitSmCommandTask submitSmTask = new SubmitSmCommandTask(
            pduSender(), serviceType, sourceAddrTon, sourceAddrNpi,
            sourceAddr, destAddrTon, destAddrNpi, destinationAddr,
            esmClass, protocolId, priorityFlag, scheduleDeliveryTime,
            validityPeriod, registeredDelivery, replaceIfPresentFlag,
            dataCoding, smDefaultMsgId, shortMessage, optionalParameters);

    SubmitSmResp resp = (SubmitSmResp)executeSendCommand(submitSmTask,
            getTransactionTimer());
    return resp.getMessageId();
}
 
示例10
public SubmitMultiResult submitMulti(String serviceType,
        TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
        String sourceAddr, Address[] destinationAddresses,
        ESMClass esmClass, byte protocolId, byte priorityFlag,
        String scheduleDeliveryTime, String validityPeriod,
        RegisteredDelivery registeredDelivery,
        ReplaceIfPresentFlag replaceIfPresentFlag, DataCoding dataCoding,
        byte smDefaultMsgId, byte[] shortMessage,
        OptionalParameter[] optionalParameters) throws PDUException,
        ResponseTimeoutException, InvalidResponseException,
        NegativeResponseException, IOException {

    SubmitMultiCommandTask task = new SubmitMultiCommandTask(pduSender(),
            serviceType, sourceAddrTon, sourceAddrNpi, sourceAddr,
            destinationAddresses, esmClass, protocolId, priorityFlag,
            scheduleDeliveryTime, validityPeriod, registeredDelivery,
            replaceIfPresentFlag, dataCoding, smDefaultMsgId, shortMessage,
            optionalParameters);

    SubmitMultiResp resp = (SubmitMultiResp)executeSendCommand(task,
            getTransactionTimer());

    return new SubmitMultiResult(resp.getMessageId(), resp
            .getUnsuccessSmes());
}
 
示例11
public QuerySmResult querySm(String messageId, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr)
        throws PDUException, ResponseTimeoutException,
        InvalidResponseException, NegativeResponseException, IOException {

    QuerySmCommandTask task = new QuerySmCommandTask(pduSender(),
            messageId, sourceAddrTon, sourceAddrNpi, sourceAddr);

    QuerySmResp resp = (QuerySmResp)executeSendCommand(task,
            getTransactionTimer());

    if (resp.getMessageId().equals(messageId)) {
        return new QuerySmResult(resp.getFinalDate(), resp
                .getMessageState(), resp.getErrorCode());
    } else {
        // message id requested not same as the returned
        throw new InvalidResponseException(
                "Requested message_id doesn't match with the result");
    }
}
 
示例12
public DeliveryReceiptTask(SMPPServerSession session, SubmitSm submitSm, MessageId messageId) {
	this.session = session;
	this.messageId = messageId;

	// reversing destination to source
	sourceAddrTon = TypeOfNumber.valueOf(submitSm.getDestAddrTon());
	sourceAddrNpi = NumberingPlanIndicator.valueOf(submitSm.getDestAddrNpi());
	sourceAddress = submitSm.getDestAddress();

	// reversing source to destination
	destAddrTon = TypeOfNumber.valueOf(submitSm.getSourceAddrTon());
	destAddrNpi = NumberingPlanIndicator.valueOf(submitSm.getSourceAddrNpi());
	destAddress = submitSm.getSourceAddr();

	totalSubmitted = totalDelivered = 1;

	shortMessage = submitSm.getShortMessage();
}
 
示例13
@Override
public void deliverShortMessage(String serviceType,
        TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
        String sourceAddr, TypeOfNumber destAddrTon,
        NumberingPlanIndicator destAddrNpi, String destinationAddr,
        ESMClass esmClass, byte protocoId, byte priorityFlag,
        RegisteredDelivery registeredDelivery, DataCoding dataCoding,
        byte[] shortMessage, OptionalParameter... optionalParameters)
        throws PDUException, ResponseTimeoutException,
        InvalidResponseException, NegativeResponseException, IOException {
    
    ensureReceivable("deliverShortMessage");
    
    DeliverSmCommandTask task = new DeliverSmCommandTask(pduSender(),
            serviceType, sourceAddrTon, sourceAddrNpi, sourceAddr,
            destAddrTon, destAddrNpi, destinationAddr, esmClass, protocoId,
            protocoId, registeredDelivery, dataCoding, shortMessage,
            optionalParameters);
    
    executeSendCommand(task, getTransactionTimer());
}
 
示例14
public DeliveryReceiptTask(SMPPServerSession session,
        SubmitSm submitSm, MessageId messageId) {
    this.session = session;
    this.messageId = messageId;

    // reversing destination to source
    sourceAddrTon = TypeOfNumber.valueOf(submitSm.getDestAddrTon());
    sourceAddrNpi = NumberingPlanIndicator.valueOf(submitSm.getDestAddrNpi());
    sourceAddress = submitSm.getDestAddress();

    // reversing source to destination
    destAddrTon = TypeOfNumber.valueOf(submitSm.getSourceAddrTon());
    destAddrNpi = NumberingPlanIndicator.valueOf(submitSm.getSourceAddrNpi());
    destAddress = submitSm.getSourceAddr();

    totalSubmitted = totalDelivered = 1;

    shortMessage = submitSm.getShortMessage();
}
 
示例15
public void deliverSm(String serviceType, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
        TypeOfNumber destAddrTon, NumberingPlanIndicator destAddrNpi,
        String destinationAddr, ESMClass esmClass, byte protocoId,
        byte priorityFlag, RegisteredDelivery registeredDelivery,
        DataCoding dataCoding, byte[] shortMessage,
        OptionalParameter... optionalParameters) throws PDUException,
        ResponseTimeoutException, InvalidResponseException,
        NegativeResponseException, IOException {

    DeliverSmCommandTask task = new DeliverSmCommandTask(pduSender(),
            serviceType, sourceAddrTon, sourceAddrNpi, sourceAddr,
            destAddrTon, destAddrNpi, destinationAddr, esmClass, protocoId,
            protocoId, registeredDelivery, dataCoding, shortMessage,
            optionalParameters);

    executeSendCommand(task, getTransactionTimer());
}
 
示例16
public DeliveryReceiptTask(SMPPServerSession session,
        SubmitMulti submitMulti, MessageId messageId) {
    this.session = session;
    this.messageId = messageId;

    // set to unknown and null, since it was submit_multi
    sourceAddrTon = TypeOfNumber.UNKNOWN;
    sourceAddrNpi = NumberingPlanIndicator.UNKNOWN;
    sourceAddress = null;

    // reversing source to destination
    destAddrTon = TypeOfNumber.valueOf(submitMulti.getSourceAddrTon());
    destAddrNpi = NumberingPlanIndicator.valueOf(submitMulti.getSourceAddrNpi());
    destAddress = submitMulti.getSourceAddr();

    // distribution list assumed only contains single address
    totalSubmitted = totalDelivered = submitMulti.getDestAddresses().length;

    shortMessage = submitMulti.getShortMessage();
}
 
示例17
public byte[] sendSubmitSm(OutputStream os, int sequenceNumber,
        String serviceType, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
        TypeOfNumber destAddrTon, NumberingPlanIndicator destAddrNpi,
        String destinationAddr, ESMClass esmClass, byte protocoId,
        byte priorityFlag, String scheduleDeliveryTime,
        String validityPeriod, RegisteredDelivery registeredDelivery,
        byte replaceIfPresent, DataCoding dataCoding, byte smDefaultMsgId,
        byte[] shortMessage, OptionalParameter... optionalParameters)
        throws PDUStringException, IOException {
    byte[] b = pduComposer.submitSm(sequenceNumber, serviceType,
            sourceAddrTon.value(), sourceAddrNpi.value(), sourceAddr,
            destAddrTon.value(), destAddrNpi.value(), destinationAddr,
            esmClass.value(), protocoId, priorityFlag,
            scheduleDeliveryTime, validityPeriod,
            registeredDelivery.value(), replaceIfPresent, dataCoding.toByte(),
            smDefaultMsgId, checkShortMessage(shortMessage), optionalParameters);
    writeAndFlush(os, b);
    return b;
}
 
示例18
public byte[] sendDeliverSm(OutputStream os, int sequenceNumber,
        String serviceType, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
        TypeOfNumber destAddrTon, NumberingPlanIndicator destAddrNpi,
        String destinationAddr, ESMClass esmClass, byte protocoId,
        byte priorityFlag, RegisteredDelivery registeredDelivery,
        DataCoding dataCoding, byte[] shortMessage,
        OptionalParameter... optionalParameters)
    throws PDUStringException, IOException {

    byte[] b = pduComposer.deliverSm(sequenceNumber, serviceType,
            sourceAddrTon.value(), sourceAddrNpi.value(), sourceAddr,
            destAddrTon.value(), destAddrNpi.value(), destinationAddr,
            esmClass.value(), protocoId, priorityFlag, registeredDelivery.value(),
            dataCoding.toByte(), checkShortMessage(shortMessage), optionalParameters);
    writeAndFlush(os, b);
    return b;
}
 
示例19
public byte[] sendDataSm(OutputStream os, int sequenceNumber,
        String serviceType, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
        TypeOfNumber destAddrTon, NumberingPlanIndicator destAddrNpi,
        String destinationAddr, ESMClass esmClass,
        RegisteredDelivery registeredDelivery, DataCoding dataCoding,
        OptionalParameter... optionalParameters)
    throws PDUStringException, IOException {
    byte[] b = pduComposer.dataSm(sequenceNumber, serviceType,
            sourceAddrTon.value(), sourceAddrNpi.value(), sourceAddr,
            destAddrTon.value(), destAddrNpi.value(), destinationAddr,
            esmClass.value(), registeredDelivery.value(), dataCoding
                    .toByte(), optionalParameters);
    writeAndFlush(os, b);
    return b;
}
 
示例20
public byte[] sendSubmiMulti(OutputStream os, int sequenceNumber,
        String serviceType, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
        DestinationAddress[] destinationAddresses, ESMClass esmClass,
        byte protocolId, byte priorityFlag, String scheduleDeliveryTime,
        String validityPeriod, RegisteredDelivery registeredDelivery,
        ReplaceIfPresentFlag replaceIfPresentFlag, DataCoding dataCoding,
        byte smDefaultMsgId, byte[] shortMessage,
        OptionalParameter... optionalParameters) throws PDUStringException,
        InvalidNumberOfDestinationsException, IOException {
    byte[] b = pduComposer.submitMulti(sequenceNumber, serviceType,
            sourceAddrTon.value(), sourceAddrNpi.value(), sourceAddr,
            destinationAddresses, esmClass.value(), protocolId,
            priorityFlag, scheduleDeliveryTime, validityPeriod,
            registeredDelivery.value(), replaceIfPresentFlag.value(),
            dataCoding.toByte(), smDefaultMsgId, checkShortMessage(shortMessage),
            optionalParameters);
    writeAndFlush(os, b);
    return b;
}
 
示例21
public byte[] sendSubmitSm(OutputStream os, int sequenceNumber,
        String serviceType, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
        TypeOfNumber destAddrTon, NumberingPlanIndicator destAddrNpi,
        String destinationAddr, ESMClass esmClass, byte protocolId,
        byte priorityFlag, String scheduleDeliveryTime,
        String validityPeriod, RegisteredDelivery registeredDelivery,
        byte replaceIfPresent, DataCoding dataCoding, byte smDefaultMsgId,
        byte[] shortMessage, OptionalParameter... optionalParameters)
        throws PDUStringException, IOException {
    synchronized (os) {
        return pduSender.sendSubmitSm(os, sequenceNumber, serviceType,
                sourceAddrTon, sourceAddrNpi, sourceAddr, destAddrTon,
                destAddrNpi, destinationAddr, esmClass, protocolId,
                priorityFlag, scheduleDeliveryTime, validityPeriod,
                registeredDelivery, replaceIfPresent, dataCoding,
                smDefaultMsgId, shortMessage, optionalParameters);
    }

}
 
示例22
public byte[] sendDeliverSm(OutputStream os, int sequenceNumber,
        String serviceType, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
        TypeOfNumber destAddrTon, NumberingPlanIndicator destAddrNpi,
        String destinationAddr, ESMClass esmClass, byte protocoId,
        byte priorityFlag, RegisteredDelivery registeredDelivery,
        DataCoding dataCoding, byte[] shortMessage,
        OptionalParameter... optionalParameters) throws PDUStringException,
        IOException {
    synchronized (os) {
        return pduSender.sendDeliverSm(os, sequenceNumber, serviceType,
                sourceAddrTon, sourceAddrNpi, sourceAddr, destAddrTon,
                destAddrNpi, destinationAddr, esmClass, protocoId,
                priorityFlag, registeredDelivery, dataCoding, shortMessage,
                optionalParameters);
    }
}
 
示例23
public byte[] sendSubmiMulti(OutputStream os, int sequenceNumber,
        String serviceType, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
        DestinationAddress[] destinationAddresses, ESMClass esmClass,
        byte protocolId, byte priorityFlag, String scheduleDeliveryTime,
        String validityPeriod, RegisteredDelivery registeredDelivery,
        ReplaceIfPresentFlag replaceIfPresentFlag, DataCoding dataCoding,
        byte smDefaultMsgId, byte[] shortMessage,
        OptionalParameter... optionalParameters) throws PDUStringException,
        InvalidNumberOfDestinationsException, IOException {
    synchronized (os) {
        return pduSender.sendSubmiMulti(os, sequenceNumber, serviceType,
                sourceAddrTon, sourceAddrNpi, sourceAddr,
                destinationAddresses, esmClass, protocolId, priorityFlag,
                scheduleDeliveryTime, validityPeriod, registeredDelivery,
                replaceIfPresentFlag, dataCoding, smDefaultMsgId,
                shortMessage, optionalParameters);
    }
}
 
示例24
@Override
public SubmitMultiResult submitMultiple(String serviceType,
        TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
        String sourceAddr, Address[] destinationAddresses,
        ESMClass esmClass, byte protocolId, byte priorityFlag,
        String scheduleDeliveryTime, String validityPeriod,
        RegisteredDelivery registeredDelivery,
        ReplaceIfPresentFlag replaceIfPresentFlag, DataCoding dataCoding,
        byte smDefaultMsgId, byte[] shortMessage,
        OptionalParameter... optionalParameters) throws PDUException,
        ResponseTimeoutException, InvalidResponseException,
        NegativeResponseException, IOException {
    
    ensureTransmittable("submitMultiple");
    
    SubmitMultiCommandTask task = new SubmitMultiCommandTask(pduSender(),
            serviceType, sourceAddrTon, sourceAddrNpi, sourceAddr,
            destinationAddresses, esmClass, protocolId, priorityFlag,
            scheduleDeliveryTime, validityPeriod, registeredDelivery,
            replaceIfPresentFlag, dataCoding, smDefaultMsgId, shortMessage,
            optionalParameters);

    SubmitMultiResp resp = (SubmitMultiResp)executeSendCommand(task,
            getTransactionTimer());

    return new SubmitMultiResult(resp.getMessageId(), resp
            .getUnsuccessSmes());
}
 
示例25
@Override
public byte[] sendSubmiMulti(OutputStream os, int sequenceNumber, String serviceType, TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
		DestinationAddress[] destinationAddresses, ESMClass esmClass, byte protocolId, byte priorityFlag, String scheduleDeliveryTime, String validityPeriod, RegisteredDelivery registeredDelivery,
		ReplaceIfPresentFlag replaceIfPresentFlag, DataCoding dataCoding, byte smDefaultMsgId, byte[] shortMessage, OptionalParameter... optionalParameters)
		throws PDUStringException, InvalidNumberOfDestinationsException, IOException {
	await(delays.getSendSubmiMultiWaiting());
	return delegate.sendSubmiMulti(os, sequenceNumber, serviceType, sourceAddrTon, sourceAddrNpi, sourceAddr, destinationAddresses, esmClass, protocolId, priorityFlag, scheduleDeliveryTime,
			validityPeriod, registeredDelivery, replaceIfPresentFlag, dataCoding, smDefaultMsgId, shortMessage, optionalParameters);
}
 
示例26
public static void main(String[] args) throws Exception {
    SMPPSession session = null; // 1. initialize
    // 2. Initiate bind
    // 3. Set message receiver listener if needed
    
    // this is how to write "house" in arabic
    String house = "\u0628" + "\u064e" + "\u064a" + 
                    "\u0652" + "\u067a" + "\u064f";
    
    TimeFormatter timeFormatter = new RelativeTimeFormatter();
    
    
    // 4. Specify the data coding using UCS2
    DataCoding dataCoding = new GeneralDataCoding(Alphabet.ALPHA_UCS2, MessageClass.CLASS1, false);
    
    // 5. UTF-16BE is equals to UCS2
    byte[] data = house.getBytes("UTF-16BE");
    
    // 6. Submit the short message
    String messageId = session.submitShortMessage("CMT", 
            TypeOfNumber.INTERNATIONAL, NumberingPlanIndicator.UNKNOWN, 
            "1616", TypeOfNumber.INTERNATIONAL, NumberingPlanIndicator.UNKNOWN, 
            "628176504657", new ESMClass(), (byte)0, (byte)1,  
            timeFormatter.format(new Date()), null, 
            new RegisteredDelivery(SMSCDeliveryReceipt.DEFAULT), (byte)0, 
            dataCoding, 
            (byte)0, data);
}
 
示例27
void deliverShortMessage(String serviceType,
                     TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
                     String sourceAddr, TypeOfNumber destAddrTon,
                     NumberingPlanIndicator destAddrNpi, String destinationAddr,
                     ESMClass esmClass, byte protocoId, byte priorityFlag,
                     RegisteredDelivery registeredDelivery, DataCoding dataCoding,
                     byte[] shortMessage, OptionalParameter... optionalParameters)
throws PDUException, ResponseTimeoutException,
InvalidResponseException, NegativeResponseException, IOException;
 
示例28
void deliverSm(String serviceType, TypeOfNumber sourceAddrTon,
NumberingPlanIndicator sourceAddrNpi, String sourceAddr,
TypeOfNumber destAddrTon, NumberingPlanIndicator destAddrNpi,
String destinationAddr, ESMClass esmClass, byte protocoId,
byte priorityFlag, RegisteredDelivery registeredDelivery,
DataCoding dataCoding, byte[] shortMessage,
OptionalParameter... optionalParameters) throws PDUException,
ResponseTimeoutException, InvalidResponseException,
NegativeResponseException, IOException;
 
示例29
public QuerySmCommandTask(PDUSender pduSender,
        String messageId, TypeOfNumber sourceAddrTon,
        NumberingPlanIndicator sourceAddrNpi, String sourceAddr) {
    super(pduSender);
    this.messageId = messageId;
    this.sourceAddrTon = sourceAddrTon;
    this.sourceAddrNpi = sourceAddrNpi;
    this.sourceAddr = sourceAddr;
}
 
示例30
public SubmitSmCommandTask(PDUSender pduSender, String serviceType,
        TypeOfNumber sourceAddrTon, NumberingPlanIndicator sourceAddrNpi,
        String sourceAddr, TypeOfNumber destAddrTon,
        NumberingPlanIndicator destAddrNpi, String destinationAddr,
        ESMClass esmClass, byte protocoId, byte priorityFlag,
        String scheduleDeliveryTime, String validityPeriod,
        RegisteredDelivery registeredDelivery, byte replaceIfPresentFlag,
        DataCoding dataCoding, byte smDefaultMsgId, byte[] shortMessage,
        OptionalParameter... optionalParameters) {
    
    super(pduSender);
    this.serviceType = serviceType;
    this.sourceAddrTon = sourceAddrTon;
    this.sourceAddrNpi = sourceAddrNpi;
    this.sourceAddr = sourceAddr;
    this.destAddrTon = destAddrTon;
    this.destAddrNpi = destAddrNpi;
    this.destinationAddr = destinationAddr;
    this.esmClass = esmClass;
    this.protocolId = protocoId;
    this.priorityFlag = priorityFlag;
    this.scheduleDeliveryTime = scheduleDeliveryTime;
    this.validityPeriod = validityPeriod;
    this.registeredDelivery = registeredDelivery;
    this.replaceIfPresentFlag = replaceIfPresentFlag;
    this.dataCoding = dataCoding;
    this.smDefaultMsgId = smDefaultMsgId;
    this.shortMessage = shortMessage;
    this.optionalParameters = optionalParameters;
}