public void sendSMS()

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);
        }

    }