code: 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();
      }
docs: /* (non-Javadoc)
  @see org.jsmpp.session.ClientSession#submitShortMessage(java.lang.String, org.jsmpp.bean.TypeOfNumber, org.jsmpp.bean.NumberingPlanIndicator, java.lang.String, org.jsmpp.bean.TypeOfNumber, org.jsmpp.bean.NumberingPlanIndicator, java.lang.String, org.jsmpp.bean.ESMClass, byte, byte, java.lang.String, java.lang.String, org.jsmpp.bean.RegisteredDelivery, byte, org.jsmpp.bean.DataCoding, byte, byte[], org.jsmpp.bean.OptionalParameter[])