C# SMS API not accepted for delivery

SMS messages sent from the C#/.Net SMS API might not be accepted for delivery for example if the C# sms api user runs out of sms credits on the Ozeki SMS gateway. To handle the sms not accepted event you need to write an event handler in your C# sms api appliction.

C# sms api - text message not accepted for delivery
Figure 1 - C# sms api - sms not accepted

The C# SMS api / sms not accepted for delivery

When you send an sms from the C# SMS api the SMS gateway first checks if the you have enough credits to send the SMS. If it fins that you don't it will reject the SMS with the OnMessageNotAcceptedForDelivery call.

To handle the OnMessageNotAcceptedForDelivery C# sms api event follow these steps:

  • Create the C# event handler for the OnMessageNotAcceptedForDelivery event
  • Handle the incoming OnMessageNotAcceptedForDelivery event in the C# sms api code
  • Use the error message returned by Ozeki SMS Gateway in the event args

C# sms api "Not Accepted For Delivery" event example:

Client.OnMessageNotAcceptedForDelivery += Client_OnMessageNotAcceptedForDelivery;

static void Client_OnMessageNotAcceptedForDelivery(object sender, OzxArgs@lt;string, string> e)
{
    Console.WriteLine("Message rejected. ID: " + e.Item1.ToString()+" Reason: "+e.Item2);
}

The OnMessageNotAcceptedForDelivery event can happen because of multiple reasons. For example if the SMS routing table is not setup properly, the SMS will be stored for delivery. If there are no SMS network connections in the system there is also no chance for delivery. If such errors occur, the C# SMS API is notified immediately with this event. If there is a chance for the SMS to be delivered the OnMessageAcceptedForDelivery event is called, and the SMS is stored in the outbox messages queue of the SMS Server.

More information