Library Overview

General information

SMSC Server Library is a native x86/x64 and managed .NET shared library for high performance messaging applications that can act as server (SMSC) accepting connections from SMPP, UCP or CIMD2 protocols enabled clients.

SMSC Server Library usage diagram

Library consists of three main classes each implementing separate protocol. Classes can be mixed and used in multiple instances when parallel access to multiple mobile networks is required. Library delivers high performance and wide range of features in communication with SMSC still guarding simplicity which allows for very quick delivery of a working solution. At the same time programming interface (API) of our components accepts set of advanced optional parameters to access low level protocol features if there is a need to.


Libraries have wrappers and can easily interface with solutions in C++ and C (native x86/x64 library) and with all languages/versions of .NET & MONO frameworks (managed .NET library).

Other languages

If you would be considering using libraries with other environments/languages like Python, Java, Objective-C, Object Pascal (Delphi, FPC) or need a native library for Linux please let us know. We can provide you with a proper wrapper/build.


Possible range of applications of the component is passive/active proxying (e.g. proxy can insert adverts or other information into passed messages for certain types of traffic), filtering, routing, billing or accounting systems etc.


Basic operations
Login as transceiver (submit & receive)
Login as transmitter (receive only) N/A N/A
Login as receiver (submit only) N/A N/A
Logout N/A N/A
Receive Message
Receive Data Message
Deliver Message
Deliver Status Report
Keep-Alive functionality
Send & Receive message in RAW format
Extended functionality
SSL/TLS connection security
EMOJI support (in UCS2 encoding)
Long (UDH concatenated) messages
Long (message_payload) messages N/A N/A
Long (SAR concatenated) messages N/A N/A
Alphanumeric signature
User Data Header (UDH)
Type-Length-Value fields (TLV) N/A N/A
USSD sessions N/A N/A
7-bit GSM 03.38 (with escape encoding)
16-bit UCS2 (Unicode)
Binary (8-bit encoded)
ISO 8859-1 (Western)
ISO 8859-2 (East European)
ISO 8859-5 (Cyrillic)
HP Roman 8 (O2 UK specific) N/A N/A

Supported Protocols

  • SMPP versions 3.3, 3.4 and 5.0 (SMPP Developers Forum)
  • EMI-UCP (EUCP) revision 2, versions 4.0-4.6 and 5.0 (CMG Wireless Data Solutions)
  • CIMD2 version 8.0 (NOKIA)