in modules/sms/src/main/java/org/apache/axis2/transport/sms/smpp/SMPPImplManager.java [181:277]
public void sendSMS(SMSMessage sm) {
TypeOfNumber sourceTon =TypeOfNumber.UNKNOWN;
NumberingPlanIndicator sourceNpi = NumberingPlanIndicator.UNKNOWN;
TypeOfNumber destTon = TypeOfNumber.UNKNOWN;
NumberingPlanIndicator destNpi = NumberingPlanIndicator.UNKNOWN;
try {
if (outSession == null) {
outSession = new SMPPSession();
outSession.setEnquireLinkTimer(smppTransportOutDetails.getEnquireLinkTimer());
outSession.setTransactionTimer(smppTransportOutDetails.getTransactionTimer());
outSession.connectAndBind(smppTransportOutDetails.getHost(), smppTransportOutDetails.getPort(),
new BindParameter(BindType.BIND_TX, smppTransportOutDetails.getSystemId(),
smppTransportOutDetails.getPassword(), smppTransportOutDetails.getSystemType(),
TypeOfNumber.UNKNOWN, NumberingPlanIndicator.UNKNOWN, null));
log.debug("Conected and bind to " + smppTransportOutDetails.getHost());
}
boolean invert = true;
if("false".equals(sm.getProperties().get(SMSTransportConstents.INVERT_SOURCE_AND_DESTINATION))){
invert = false;
}
if(invert) {
if(sm.getProperties().get(DESTINATION_ADDRESS_NPI) != null) {
sourceNpi = NumberingPlanIndicator.valueOf((String)sm.getProperties().get(DESTINATION_ADDRESS_NPI));
}
if(sm.getProperties().get(DESTINATION_ADDRESS_TON) != null) {
sourceTon = TypeOfNumber.valueOf((String)sm.getProperties().get(DESTINATION_ADDRESS_TON));
}
if(sm.getProperties().get(SOURCE_ADDRESS_NPI) != null) {
destNpi = NumberingPlanIndicator.valueOf((String)sm.getProperties().get(SOURCE_ADDRESS_NPI));
}
if(sm.getProperties().get(SOURCE_ADDRESS_TON) != null) {
destTon = TypeOfNumber.valueOf((String)sm.getProperties().get(SOURCE_ADDRESS_TON));
}
} else {
if(sm.getProperties().get(DESTINATION_ADDRESS_NPI) != null) {
destNpi = NumberingPlanIndicator.valueOf((String)sm.getProperties().get(DESTINATION_ADDRESS_NPI));
}
if(sm.getProperties().get(DESTINATION_ADDRESS_TON) != null) {
destTon = TypeOfNumber.valueOf((String)sm.getProperties().get(DESTINATION_ADDRESS_TON));
}
if(sm.getProperties().get(SOURCE_ADDRESS_NPI) != null) {
sourceNpi = NumberingPlanIndicator.valueOf((String)sm.getProperties().get(SOURCE_ADDRESS_NPI));
}
if(sm.getProperties().get(SOURCE_ADDRESS_TON) != null) {
sourceTon = TypeOfNumber.valueOf((String)sm.getProperties().get(SOURCE_ADDRESS_TON));
}
}
String messageId = outSession.submitShortMessage(
"CMT",
sourceTon,
sourceNpi,
sm.getSender(),
destTon,
destNpi,
sm.getReceiver(),
new ESMClass(),
(byte) 0,
(byte) 1,
timeFormatter.format(new Date()),
null,
new RegisteredDelivery(SMSCDeliveryReceipt.DEFAULT),
(byte) 0,
new GeneralDataCoding(false, false, MessageClass.CLASS1,Alphabet.ALPHA_DEFAULT),
(byte) 0,
sm.getContent().getBytes()
);
log.debug("Message Submited with id" + messageId);
} catch (IOException e) {
log.error("Unable to Connect ", e);
} catch (InvalidResponseException e) {
log.debug("Invalid responce Exception", e);
} catch (PDUException e) {
log.debug("PDU Exception", e);
} catch (NegativeResponseException e) {
log.debug(e);
} catch (ResponseTimeoutException e) {
log.debug(e);
}
}