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.
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" />
paket add Inetlab.SMPP --version 2.9.0-beta-2273
#r "nuget: Inetlab.SMPP, 2.9.0-beta-2273"
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).
Dependencies
-
.NETFramework 4.6.1
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
Used By
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 |