/client

Changelog

8.0.93 (9f191c1) released on 7 December 2018

New features

  • Long messages processing inside library (inbound/outbound). [#1233]
  • Native x86/x64 version of the library with C/C++ wrappers.
  • C++ source code sample for x86/x64 native version of the library.
  • Configuration storage added to demo applications.

Changes

  • Documentation heavily simplified.
  • Renamed to SMSC Server Library.

7.0.142 (005e003) released on 17 October 2017

New features

  • Ability to set various user UDHs for various parts of multipart message. [#1217, customer request]
  • TLS 1.1 and TLS 1.2 added to list of SSL/TLS protocols serviced (.NET Framework 4.5+). [#1208, customer request]
  • Toolbox icons installation for Visual Studio 2015.
  • Setting of MCLs (Message Class) extended beyond DCS in UCP protocol. [#1202, customer request]
  • Important security update. [#1168]
  • Ability to narrow the set of allowed protocols used in Secure Sockets Layer (SSL) and Transport Layer Security (TLS) negotiations. [#1164, customer request]
  • Ability to set command_status of response PDU on message/status report received. [#1162, customer request]
  • Implemented priority_flag parameter in submit_sm/submit_multi and deliver_sm PDUs of the SMPP protocol. [#1159, customer request]

Changes

  • Windows Service Example in C# now uses a list of SMSCclientSMPP instances in order to facilitate creation of solutions connecting to multiple messaging providers.
  • Originator not included if empty in submit message operation in CIMD2 protocol. [#1194, customer request]
  • Alphanumeric signature encoding changed from IA5 to ISO-8859-1 in SMPP protocol. [#1178, customer request]

Fixed issues

  • Delphi source code sample updated.
  • Regression introduced recently to long messages ID numbering.
  • Small regression in SSL/TLS implementation fixed.
  • Throttle rate is far off the value of ThrottleRate in certain circumstances. [#1190]
  • Fixed serious performance regression introduced with TLS/SSL security. [#1181]
  • Small regression in UCP protocol concerning PDU hexadecimal encoding.

7.0.52 (4a2788c) released on 12 January 2016

New features

  • Quicker reconnecting possible straight from inside of OnTcpDisconnected event. [#1146]
  • Synchronous SubmitMessage functions can now be safely called from multiple threads. [#1143]
  • SSL/TLS connection security implementation straight in the library. [#1108, customer request]
  • More flexible one byte character encoding mechanism in SMPP protocol allowing cooperation with SMSCs which support non-standard and legacy encoding standards (IA5, ISO 8859-1, HP Roman8 etc.) [#1111, customer request]

Changes

  • Documentation tweaked & updated.
  • MessageTimeStamp name changed to DeliveryTimeStamp in UCP protocol. [#1138]
  • Minor tweaks in compiled demo applications.

Fixed issues

  • Invalid UDH passed to any SubmitMessage function results in wrong PDU but no error signaled. [#1153]
  • Synchronous submits cause timeouts due to thread locking in some cases. [#1156]
  • Encoding of messages passed via message_payload does not respect SMSC encoding. [#1150]
  • TimeStamp and MessageTimeStamp switched in StatusReportReceivedEvent in UCP. [#1130]
  • NullReferenceException in SubmitMessage function(s) when TCP connection disconnected while inside the function. [#1125]
  • Time difference to UTC sometimes calculated incorrectly in SMPP Absolute Delivery Time and Validity Period. [#1096]

6.0.178 (472b90a) released on 20 March 2015

New features

  • Added documentation chapter about automatic connection restore (reconnecting).
  • Added source code sample of automatic reconnect procedure to Windows Service Example in C# example.
  • Added decoding of characters passed from the SMSC as ISO-Latin codes instead of ASCII special combination in CIMD2 protocol.
  • 8/16-bit concatenation reference exposed in SMPP demo application. [#1086]
  • Added message splitting/combining example in Visual Studio C++ source code sample. [#1070, customer request]
  • Added encoding and decoding of ussd_service_op and its_session_info TLVs (SMPP optional parameters) used in USSD mode of operation through ExtendedParameters methodology. [#1049]

Fixed issues

  • Wrong length in UCS2 message concatenated with 16-bit reference. [#1081]
  • Compiler generated code in CLR4 creates bad type names in TLB import. [#1059]

6.0.132 (319743f) released on 19 January 2015

New features

  • Added simple way of setting initial value for sequence_number in SMPP protocol. [#1043, customer request]
  • Documentation extended with Character Sets, Tracing Communication (Wireshark messaging protocols tracing & debugging guide), Silent Message (SMS0) chapters and other minor tweaks.

Fixed issues

  • SMPP protocol's compiled demo application does not pass ExtentedParameters to submitted messages. [#1036]

6.0.126 (586ae8e) released on 19 December 2014

New features

  • Long messages split using SAR optional parameters (sar_msg_ref_num, sar_total_segments, sar_segment_seqnum) in SMPP protocol. SAR and message_payload long message encoding can now be performed by EncodeMultipartMessage method. [#1033, customer request]
  • Explicit support for Common Language Runtime (CLR) versions 2.0 and 4.0 (separate selectable binaries plus detection of installed framework at the time of the setup).
  • Long messages concatenation method choice exposed in SMPP demo application.
  • Every single message both inbound and outbound can now be modified inside TraceProtocol callback. This allows modification of e.g. sequence_number for all or selected incoming/outgoing messages. [#1013]
  • Added ability to set local IP and port number for TCP/IP connection in SMPP protocol. [#1000, customer request]
  • Information and examples on setting Delivery Time and Validity Period added to User Manual (help). [#966]
  • Information about submitting messages with alphanumeric signature added to User Manual (help). [#16]
  • Visual Studio 2012 and Visual Studio 2013 toolbox icon installation.
  • Property for monitoring connection status on TCP/IP level added. [#245, customer request]
  • Submit to Multiple Destinations (submit_multi) in SMPP protocol added. [#850, customer request]
  • Multi-part messages concatenated via SMPP optional parameter fields (TLVs) are reconstructed properly. [#823]
  • ExtendedParameters exposed in demo application interface. [#797]

Changes

  • Alphanumeric signature may now contain full set of GSM 03.38 alphabet characters (Latin, international accented, Greek and special characters).
  • All relative times (Delivery Time and Validity Period) are now calculated relative from 2000-01-01 00:00:00. [#174]
  • Message Status and Reason Code parameters of Status Report event changed to reflect protocol naming convention. [#960]
  • Flags smpp.ascii-frontend and smpp.7bit-encoding separated for better control on encoding for some specific SMSCs. [#942]
  • AddressRange is now passed through ExtendedParameters of smppInitializeSessionEx. [#878]
  • soReplaceIfPresent (SubmitOption) flag moved to ExtendedParameters for better clarity. [#131]

Fixed issues

  • CIMD2 special characters encoding/decoding fails. [#979]
  • Out of bound data in CIMD2 protocol should be ignored. [#972]
  • Multi-part (concatenated) messages can sometimes have the same IDs in UDH. [#922]
  • Avoid crash if actual message body in SMPP is shorter than declared length (which is erroneously formatted message). [#914]
  • Throttling mechanism sometimes locked in submit function. [#891]
  • Text of message with ISO encoding (ISO-8859-[1, 5, 8]) not decoded properly. [#862]
  • In some circumstances EncodeMultipartMessage did not respect escape sequence coding. [#772]
  • Setting "ascii-frontend=1" in ExtendedParameters interferes with UCS2 encoding. [#759]
  • PDU field empty in ucpTraceProtocolEvent. [#746]
  • SM not filled properly in encoding of received message response in UCP protocol. [#739]

5.0.156 (fad268a) released on 26 June 2012

Fixed issues

  • Icons added in Start Menu for recently added source code sample projects (Microsoft Visual C++ and C++Builder) [#683]
  • ENROUTE message state not interpreted in SMPP protocol. [#711]
  • Some compilers crashed after COM interfaces for exposing events changed from IDispatch to dual. IUnknown interface added in code works properly. [#690]

5.0.140 (39fc29e) released on 11 June 2012

New features

  • Added Microsoft Visual C++ source code example project.
  • Added Borland/Code Gear/Embarcadero C++Builder source code example project.

Fixed issues

  • ExtendedParameters keys/values should be trimmed before inserting into the dictionary. [#668]
  • COM event interfaces changed from IDispatch only to dual. [#654]

5.0.101 (a2197b2) released on 18 May 2012

New features

  • Added OnSmppTraceProtocol [SMPP] and OnUcpTraceProtocol [UCP] events for capturing trace of all protocol level messages exchanged by the component with the SMSC.
  • Added multi-part message encoding and decoding to SMPP protocol C# source code example.
  • Added smppSendRAW/OnSmppRAWReceived method event pair to deal with SMPP messages not interpreted by the component.
  • Added ability to set local IP and port number for TCP/IP connection in UCP protocol. [#549]
  • Throttling scheduler is rewritten to achieve smoother submissions over time. [#289]
  • Added extended parameter to allow to impose DCS value of the submitted message in SMPP protocol. [#536]
  • Ability to set SM text for response messages in UCP. [#385, customer request]
  • In UCP protocol add ability to pass OPID to UCP-60 (login) message. [#379, customer request]
  • Accept text message delivered in data_sm SMPP frame. [#321, customer request]

Changes

  • Message encoding type etASCIIText removed to simplify programming interface. All of it's functionality is maintained.
  • UCP specific OTOA parameter moved to ExtendedParameters. [#570]
  • IMSI parameter removed from cimd2MessageReceivedEventArgs and passed through ExtendedParameters. [#460]

Fixed issues

  • Some outbound enquire_link PDUs have not been responded properly in SMPP protocol. [#633]
  • Delivery & Validity period Date/Time format corrupted in some cases. [#583]
  • Multi-part message after completing returns "00" as UDH. [#576]
  • Unhandled Exception when ucpInitializeInbound of UCP protocol invoked. [#555]
  • Inability to send KeepAlive packet should disconnect. [#403]
  • When there was no response to KeepAlive the session was not disconnected as it should. [#471]
  • Event tcpDisconnected does not pass error codes correctly in some situations. [#498]
  • Fixed missing cross-links in code-generated (XML) documentation. [#492]
  • WAP SI encoding created sometimes wrong single part message. [#430]
  • SMSCencoder does not return NoDecodingNeededMessage when no UDH. [#416]
  • Escape sequence with character code over 127 crashes component. [#397]

4.0.63 (9ce2178) released on 5 July 2011

New features

  • COM interoperability interface added to all components. [#14]
  • COM source code examples (Visual Basic 6 and/or Delphi Object Pascal). [#57]
  • DeleteMessage functionality in SMPP protocol. [#21]
  • QueryMessage result in SMPP protocol returned asynchronously. [#22]
  • QueryMessage in UCP protocol. [#23]
  • ExtendedParameters mechanism added to selected SMPP and UCP methods. [#19]
  • Helper class (SMSC encoder .NET) added for WAP-Push Service Indication (SI) message encoding and encoding/decoding of multipart (concatenated) messages. [#33]
  • Source code examples in C#/Visual Basic of windows service application running SMPP protocol. [#35]
  • Installation of the components in Visual Studio Toolbox (2005/2008/2010). [#40]
  • Limits on ResponseTimeOut and KeepAliveInterval property values. [#31]
  • COM registration split for 32/64 bit Registry. [#34]

Changes

  • SubmitOptionEnum soReplaceIfPresent flag transferred to SMPP ExtendedParameter pool. [#31]
  • Remove obsolete properties like MessageID, TimeStamp, SystemMessage etc. from all protocols. [#26]
  • ASCII frontend moved from property to InitializeSession ExtendedParameters. [#55]
  • XSER parameter transferred to UCP ExtendedParameter pool. [#114]

Fixed issues

  • SequenceNumber in some circumstances modified by response thread. [#63]
  • Int32 vs UInt32 as SequenceNumber in SMPP asynchronous method/event pair. [#302]

3.0.225 (c1d6b7a) released on 7 April 2011

  • Initial release of SMSC client .NET components.