Smart Messaging is a registered trademark of the Nokia corporation.
The MercuryXMS™ Smart Messaging® SDK™ is a lightweight COM/ATL DLL for wireless developers building content for SMS Text Messaging devices. The Toolkit provides a rich set of functions to create the PDU (Protocol Description Unit) strings for all types of rich media messages to interact with channels such as GSM/CDMA Modems, direct SMSC connections, and cellphone-cable connections. This relieves the developer from dealing with issues like octet creation and ordering, and the complexities of working with the PDU protocol. Content types include Text Messages, Flash Messages, Picture Messages, Operator Logos, CLI Icons, Ringtones, Downloadable Profiles, vCards and vCalendars. Complete encoding (for send) and decoding (for receive) functions are provided. Also supported is multi-part messages, Unicode, auto-recoverability, cache support for decoding, and much more.
When encoding a message, the SDK™ generates a collection of PDU Objects which can be enumerated for their payload and octet length for immediately delivery through a GSM Device. Alternatively, you can use the UserData and UserDataHeader parts of the message to deliver it through an Internet gateway (details depends on the gateways implementation). With Picture Messages, Downloadable Profiles, and Multipart messages, these PDUs can become extremely complex to manually create. The SDK™ relieves the developer of all issues regarding the PDU protocol – it returns all PDU strings and their lengths so they can be easily transmitted via a GSM device. The SDK™ can also receive and decode PDU strings to give users bitmaps, RTTTL code, and much more. The SDK™ can handle receiving the PDUs in any order and will notify the developer when the complete message is received. The component can even recover itself if the containing application crashes or is shut down. Sample code is included for Visual Basic, Visual C++, Visual Basic.NET and C#.NET. Integration with .NET is done through the COM Interop layer. Note that the SDK™ does not actually handle the communications (serial, TCP/IP, etc) with the GSM device - it only manages the translation of the PDU strings. However, some basic sample code is provided to communicate with the serial communications port.