Experts in SMS and MMS Technology. NCLs Provato is an SMS/MMS Gateway supporting  WAP Push, EMS, MMS, SMS, Nokia Smart Messaging, SMPP, CIMD, UCP, MM7, M20, TC35 NCL Technologies Ltd
Provato - SMS MMS Gateway
Mobile Messaging in J2EE & .NET

SwiftNote - Java SMS Toolkit

ie.ncl.sms.gsm
Class GsmEncoder

java.lang.Object
  extended by ie.ncl.util.bin.Bytes
      extended by ie.ncl.net.pdu.Encoder
          extended by ie.ncl.sms.gsm.GsmEncoder
All Implemented Interfaces:
GsmConstants

public class GsmEncoder
extends ie.ncl.net.pdu.Encoder
implements GsmConstants

Encode messages as defined in the OTA spec GSM 03.40. Currently only submit is implemented.


Field Summary
 
Fields inherited from class ie.ncl.net.pdu.Encoder
asciiStringEncoding
 
Fields inherited from interface ie.ncl.sms.gsm.GsmConstants
SMS_COMMAND, SMS_DELIVER, SMS_DELIVER_REPORT, SMS_STATUS_REPORT, SMS_SUBMIT, SMS_SUBMIT_REPORT, TP_MR_BYTE, TP_MR_SIZE, TP_MTI_BYTE, TP_MTI_MASK, TP_MTI_SHIFT, TP_RD_BITMASK, TP_RD_BYTE, TP_RP_BITMASK, TP_RP_BYTE, TP_SRI_BITMASK, TP_SRI_BYTE, TP_SRR_BITMASK, TP_SRR_BYTE, TP_UDHI_BITMASK, TP_UDHI_BYTE, TP_VP_ABSOLUTE, TP_VP_ENHANCED, TP_VP_NONE, TP_VP_RELATIVE
 
Constructor Summary
GsmEncoder()
           
 
Method Summary
static byte[] compressUserDataTo7BitData(byte[] userData)
           
static byte[] compressUserDataTo7BitData(byte[] headerData, byte[] userData)
           
static byte[] compressUserDataTo7BitData(int udhLength, byte[] userData)
          NOTE THE FORMAT: [UDHL][UDH][UD]
Example: [05][0003000201][134 bytes]
In this example, it is '5' that should be supplied to this function.
 void flushBits()
           
static void log(java.lang.String s)
           
static int minimumNumberOfSeptetsToEncodeBytes(int bytes)
           
static int septetsInBytesRoundDown(int bytes)
           
 void writeAddress(GsmAddress addr)
           
 void writeBit(boolean b)
           
 void writeBits(int val, int bitCount)
           
 void writeContentPart(Submit submit)
           
 void writeDate(java.util.Date d)
           
 void writeDeliver(Deliver d)
           
 void writeSemiOctet(int val)
           
 void writeSmscAddress(GsmAddress address)
           
 void writeSubmit(Submit s)
           
 void writeValidity(ValidityPeriod vp)
           
 
Methods inherited from class ie.ncl.net.pdu.Encoder
size, write, writeAsciiz, writeAsciiz, writeBcd, writeBcd, writeBoolean8, writeBoolean8, writeByte, writeBytes, writeInt16, writeInt16, writeInt16, writeInt16, writeInt32, writeInt32, writeInt32, writeInt32, writeInt8, writeInt8, writeInt8, writeInt8, writeString, writeUtc
 
Methods inherited from class ie.ncl.util.bin.Bytes
append, append, append, append, append, asciiString, binaryChar, binaryString, binaryString, copyTo, getByte, getBytes, hexDump, hexString, hexStringToBytes, hexStringWithSpaces, length, quadChar, rbinaryChar, setAllocationSize, subarray, subarray, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GsmEncoder

public GsmEncoder()
Method Detail

log

public static void log(java.lang.String s)

writeValidity

public void writeValidity(ValidityPeriod vp)
                   throws ie.ncl.net.pdu.EncoderException
Throws:
ie.ncl.net.pdu.EncoderException

writeDate

public void writeDate(java.util.Date d)
               throws ie.ncl.net.pdu.EncoderException
Throws:
ie.ncl.net.pdu.EncoderException

writeSemiOctet

public void writeSemiOctet(int val)
                    throws ie.ncl.net.pdu.EncoderException
Throws:
ie.ncl.net.pdu.EncoderException

writeAddress

public void writeAddress(GsmAddress addr)
                  throws ie.ncl.net.pdu.EncoderException
Throws:
ie.ncl.net.pdu.EncoderException

writeSubmit

public void writeSubmit(Submit s)
                 throws ie.ncl.net.pdu.EncoderException
Throws:
ie.ncl.net.pdu.EncoderException

writeDeliver

public void writeDeliver(Deliver d)
                  throws ie.ncl.net.pdu.EncoderException
Throws:
ie.ncl.net.pdu.EncoderException

writeSmscAddress

public void writeSmscAddress(GsmAddress address)
                      throws ie.ncl.net.pdu.EncoderException
Throws:
ie.ncl.net.pdu.EncoderException

writeContentPart

public void writeContentPart(Submit submit)
                      throws ie.ncl.net.pdu.EncoderException
Throws:
ie.ncl.net.pdu.EncoderException

compressUserDataTo7BitData

public static byte[] compressUserDataTo7BitData(byte[] headerData,
                                                byte[] userData)

compressUserDataTo7BitData

public static byte[] compressUserDataTo7BitData(int udhLength,
                                                byte[] userData)
NOTE THE FORMAT: [UDHL][UDH][UD]
Example: [05][0003000201][134 bytes]
In this example, it is '5' that should be supplied to this function.

Parameters:
udhLength -
userData -

compressUserDataTo7BitData

public static byte[] compressUserDataTo7BitData(byte[] userData)

minimumNumberOfSeptetsToEncodeBytes

public static int minimumNumberOfSeptetsToEncodeBytes(int bytes)

septetsInBytesRoundDown

public static int septetsInBytesRoundDown(int bytes)

writeBit

public void writeBit(boolean b)

writeBits

public void writeBits(int val,
                      int bitCount)

flushBits

public void flushBits()
               throws ie.ncl.net.pdu.EncoderException
Throws:
ie.ncl.net.pdu.EncoderException

Experts in SMS and MMS Technology. NCLs Provato is an SMS/MMS Gateway supporting  WAP Push, EMS, MMS, SMS, Nokia Smart Messaging, SMPP, CIMD, UCP, MM7, M20, TC35 NCL Technologies Ltd
Provato - SMS MMS Gateway
Mobile Messaging in J2EE & .NET

SwiftNote - Java SMS Toolkit