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 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


Unbound socket.


Socket can only send and cannot receive any messages.


To match Information Element Identifiers (IEI).


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


To match any text patterns


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


To receive Status Reports.


Socket for local SIM operations.


Socket for sock port identification.


Socket for sock port identification.


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.