Library Overview

General information

SMSC Client Library is a native x86/x64 and managed .NET shared library for high performance SMS send & receive communication with mobile phones through SMSC over TCP/IP using SMPP, UCP, CIMD2 and SEMA protocols.

SMSC Client Library usage diagram

Library consists of four 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.


Implementation of asynchronous mode (sliding window) and multithreading construction ensure very high performance. Our components have proven production throughputs of hundreds messages per second on single TCP/IP connection with remote SMSC server.


Supported protocol operations
Login as transceiver (submit & receive)
Login as transmitter (submit only) N/A N/A N/A
Login as receiver (receive only) N/A N/A N/A
Submit Message
Submit Message Asynchronous  
Multiple Recipients (submit_multi) N/A N/A N/A
Submit Data Message (operation) N/A N/A N/A
Receive Status Report
Receive Message
Query Message Status    
Delete Message    
Replace Message    
Keep-Alive functionality
Send & Receive protocol RAW format
Extended functionality
SSL/TLS connection security
EMOJI support (in UCS2 encoding)
HTTP proxy
Long (UDH concatenated) messages
Long (message_payload) messages N/A N/A N/A
Long (SAR concatenated) messages N/A N/A N/A
Modify message on the fly N/A N/A
Alphanumeric signature
User Data Header (UDH)
Type-Length-Value fields (TLV) N/A N/A N/A
USSD session support N/A 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 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)
  • SEMA OIS version 8.1 (5.8) (Sema Telecoms)