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.