SMS Utilities

This section provides a summary of the classes and the functionality provided by the SMSU. The SMS Utility (SMSU) is a DLL. The SMSU provides utility functionality for SMS messages.

Buffer and streams

The SMSU creates the buffers, read streams and write streams required for the SMS stack. The SMSU creates a temporary buffer of 256 bytes to store the Protocol Data Units (PDU)s in the SMS stack. The PDUs are processed by the SMS stack in the temporary buffers.

SMS event logger

SMSU provides the required functionality to log the events using the Log engine. The SMS stack logs all the sent and received messages using the Log engine. The Log engine is used by the User Interface (UI) implementers to display the log to the users. Client can use this functionality, only if the Log engine is installed in a device.

SMS address

The TSmsAddr of the SMSU provides methods to store the SMS address values. The SMS addresses are stored in a TSmsAddrFamily type. The TSmsAddr also enables the SMS stack to bind the packets to the socket server using the parameters defined in TSmsAddr. TSmsAddr::SetSmsAddrFamily() can be used to define the socket and port to bind the packets. The enumeration table for SMS socket address family:

Enumeration Socket customisation

ESmsAddrUnbound

Unbound socket.

ESmsAddrSendOnly

Socket can only send and cannot receive any messages.

ESmsAddrMatchIEI

To match Information Element Identifiers (IEI).

ESmsAddrMessageIndication

To match on IEI 0x01 and DCS 0x1100xxxx, 0x1101xxxx and 0x1110xxxx.

ESmsAddrMatchText

To match any text patterns

ESmsAddrRecvAny

To receive all messages. Only one client can use this.

ESmsAddrStatusReport

To receive Status Reports.

ESmsAddrLocalOperation

Socket for local SIM operations.

ESmsAddrApplication8BitPort

Socket for sock port identification.

ESmsAddrApplication16BitPort

Socket for sock port identification.

ESmsAddrEmail

To match email messages.

SMS stack settings

TSmsSettings define the variables used by the SMS stack. The variables are initialised during the creation of the SMS stack. The variables in TSmsSettings are initialised with the values defined in the smswap.sms.esk file.