public void sendMessage() throws Exception
        {
            final SMPPSession session = sessionPool.borrowObject();
            try
            {
                final String messageId = session.submitShortMessage(
                    serviceType,
                    sourceTon, sourceNpi, sourceAddress,
                    destinationTon, destinationNpi, destinationAddress,
                    esm, protocolId, priorityFlag,
                    scheduleDeliveryTime, validityPeriod, registeredDelivery, replaceIfPresentFlag,
                    dataCoding, smDefaultMsgId, message );
                Log.debug( "Message submitted, message_id is '{}'.", messageId );
            }
            finally
            {
                sessionPool.returnObject( session );
            }
        }
Runnable that allows an SMS to be sent in a different thread.
xmppserver/src/main/java/org/jivesoftware/util/SmsService.java