ie.ncl.sms.gsm
Class GsmEncoder
java.lang.Object
ie.ncl.util.bin.Bytes
ie.ncl.net.pdu.Encoder
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.
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 |
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 |
GsmEncoder
public GsmEncoder()
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