Arad.SMPP by Ammar Heidari

<PackageReference Include="Arad.SMPP" Version="1.0.9" />

 SmppClientExtensions

public static class SmppClientExtensions
Extension methods for SmppClient
public static Task RetryUntilConnectedAsync(this AradSmppClient client, string host, int port, TimeSpan retryDelay, int retryCount = 2147483647, CancellationToken token = default)

Tries to connect to SMPP server until success.

public static Task RetryUntilConnectedAsync(this AradSmppClient client, EndPoint endPoint, TimeSpan retryDelay, int retryCount = 2147483647, CancellationToken token = default)

Tries to connect to SMPP server until success.

Submit batch of SubmitSm PDUs and wait for all Delivery receipts.

public static Task<IEnumerable<SubmitSmResp>> SubmitWithRepeatAsync(this AradSmppClient client, IEnumerable<SubmitSm> requests, TimeSpan repeatDelay, CancellationToken cancellationToken = default)

Submits a batch of SubmitSm PDUs. Repeats the PDU if following response status received: SMPPCLIENT_NOCONN, SMPPCLIENT_RCVTIMEOUT, ESME_RTHROTTLED, ESME_RMSGQFUL, SMPPCLIENT_UNBOUND.

public static Task<SubmitSmResp> SubmitWithRepeatAsync(this AradSmppClient client, SubmitSm request, TimeSpan repeatDelay, CancellationToken cancellationToken = default)

Submits a SubmitSm PDU. Repeats the PDU if following response status received: SMPPCLIENT_NOCONN, SMPPCLIENT_RCVTIMEOUT, ESME_RTHROTTLED, ESME_RMSGQFUL, SMPPCLIENT_UNBOUND.