Inetlab.SMPP 2.9.0-beta-2273

.NET implementation of SMPP protocol v.3.4 and v.5.0. This library can help to communicate with SMSC, send and receive SMS messages. It allows to create SMPP server.

This is a prerelease version of Inetlab.SMPP.
There is a newer version of this package available.
See the version list below for details.
Install-Package Inetlab.SMPP -Version 2.9.0-beta-2273
dotnet add package Inetlab.SMPP --version 2.9.0-beta-2273
<PackageReference Include="Inetlab.SMPP" Version="2.9.0-beta-2273" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Inetlab.SMPP --version 2.9.0-beta-2273
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Inetlab.SMPP, 2.9.0-beta-2273"
For F# scripts that support #r syntax, copy this into the source code to reference the package.

Release Notes

Added
- MMS m-notification-ind and m-delivery-ind over SMPP
- WorkersTaskScheduler class creates worker threads to handle received requests for a client.
- ReceiveTaskScheduler property in SmppClientBase class. Received requests can be handled in individual or global TaskScheduller or in standard TaskScheduler.Default.
 By default client uses WorkersTaskScheduler with 3 worker threads.
- RetryUntilConnectedAsync extension method for SmppClient class that helps to establish connection when a SMPP server is temporary unreachable.
- SubmitBatchAndWaitForDeliveryAsync extension method for SmppClient class that helps to submit a batch of SubmitSm PDUs and receive all delivery receipts.
- SubmitWithRepeatAsync extension method that help to repeat the SubmitSm requests on disconnection or unsuccess reponse status.

Changed
- Target Framework changed from .NET 4.5.2 to .NET 4.6.1
- SmppClientBase.SendQueueLimit limits a number of requests waiting for response. When this limit is exceeded, SubmitAsync method is blocked until queue has a free slot.
- Less GC pressure by reusing reading buffer.
- Improve DeliverReceipt deserialization when received PDU has wrong DataCoding.
- Deliver receipt serializer enriches DeliverSm PDU with optional parameters (MessageState, ReceiptedMessageId, NetworkErrorCode) only when PDU was not received from remote side.
- Throws GenericNackSmppException when GENERICK_NACK response received in Submit methods.
- Throws ObjectDisposedException when trying to call public method on disposed classes SmppClientBase, SmppClient, SmppServerClient
- New implementation of SMPP connection that frees all used resources after disconnect.
- Improved batch submit. Send several PDUs in one TCP packet.

Fixed
- ArgumentNullException in MessageComposer by adding a PDU with empty text
- SmppClientBase.SendSpeedLimit sends more than allowed PDUs when run SubmitAsync in tasks.
- GSMEncoding returns wrong number of bytes for Turkish charset when both NationalLanguageLockingShift and NationalLanguageSingleShift are specified.
- Text splitting. The maximum length of the short_message field is not used if NationalLanguageSingleShift is enabled.

Removed
- evConnected event from SmppClientBase class. SmppClient is connected after call of the method ConnectAsync or on the event evRecoverySucceeded. SmppServer has own method evClientConnected.
- Obsolete properties from PDU classes.
- QueueState class and SmppClientBase.Queue property. Use SmppClientBase.Metrics instead.
- SmppClientBase.WorkerThreads property. Set the SmppClientBase.ReceiveTaskScheduler property to the instance new WorkersTaskScheduler(3).

  • .NETFramework 4.6.1

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Inetlab.SMPP:

Package Downloads
Codecamp.SMPP
This library is for make developer easy to use SMPP protocol

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
2.9.5-beta-2316 0 3/5/2021
2.9.5-beta-2315 39 3/4/2021
2.9.5-beta-2308 28 2/25/2021
2.9.5-beta-2298 58 2/15/2021
2.9.4 414 2/6/2021
2.9.3 70 2/4/2021
2.9.2 176 2/1/2021
2.9.1 90 1/29/2021
2.9.0 82 1/25/2021
2.9.0-beta-2273 73 1/21/2021
2.9.0-beta-2271 44 1/19/2021
2.9.0-beta-2267 62 1/15/2021
2.9.0-beta-2252 81 12/30/2020
2.9.0-beta-2249 68 12/28/2020
2.9.0-beta-2222 67 12/1/2020
2.9.0-beta-2220 81 11/29/2020
2.9.0-beta-2216 81 11/25/2020
2.9.0-beta-2211 119 11/20/2020
2.9.0-beta-2180 87 10/20/2020
2.8.6 3,525 11/19/2020
2.8.5 161 11/12/2020
2.8.4 134 11/11/2020
2.8.3 166 11/3/2020
2.8.2 1,436 9/1/2020
2.8.2-beta-2129 92 8/30/2020
2.8.2-beta-2127 102 8/28/2020
2.8.1 2,474 6/16/2020
2.8.0 4,025 4/2/2020
2.7.1 1,966 1/23/2020
2.7.0 1,370 12/11/2019
2.6.13 3,632 8/14/2019
2.6.12 2,678 7/26/2019
2.6.10 8,186 4/19/2019
2.6.9 287 4/15/2019
2.6.7 706 3/27/2019
2.6.5 262 3/18/2019
2.6.4 278 3/15/2019
2.6.3 412 3/4/2019
2.6.2 564 2/7/2019
2.6.1 325 2/4/2019
2.6.0 614 1/14/2019
2.4.1 2,912 6/27/2018
1.3.1 608 7/4/2018
1.3.0 542 6/19/2018
1.2.11 4,409 1/2/2018
1.2.8 845 11/6/2017
1.2.6 554 10/4/2017
1.2.5 1,533 8/12/2017
1.2.1 1,081 5/22/2017
1.1.29.1 1,255 3/14/2017
1.1.29 785 1/27/2017
1.1.28 606 1/23/2017
1.1.27.6 681 1/10/2017
1.1.27.5 569 12/30/2016
1.1.25 3,874 10/24/2016
1.1.23.2 582 10/6/2016
1.1.23.1 553 9/29/2016
1.1.23 534 9/28/2016
1.1.22.7 3,408 8/2/2016
1.1.22.6 2,465 6/29/2016
1.1.22.4 542 6/24/2016
1.1.22.3 584 6/21/2016
1.1.22.2 1,034 6/8/2016
1.1.22 735 5/13/2016
1.1.20 2,960 4/27/2015
1.1.16.1 913 10/13/2014
Show less