Доставка сообщения абоненту и передача результата клиентской программе — разные процессы. Для отчётов по SMPP предусмотрены отдельная очередь, скорость и количество попыток. Это помогает согласовать обмен с приложением, которое принимает состояния в собственном режиме.
Отчёты доступны при соответствующем типе подключения. Успешный ответ на их приём связан с обработкой записи очереди. В исходном коде SMPP-сервера повторная передача результата не является новой отправкой SMS на телефон.
Программа должна понимать повторный отчёт
Если подтверждение потерялось, состояние может прийти повторно. Поэтому клиентскому приложению полезно связывать результат с идентификатором и корректно обрабатывать такие ситуации. Одного успешного запроса на отправку для полной проверки интеграции недостаточно.
При индивидуальной разработке SMS-сервиса эти условия нужно включать в контракт обмена. Количество попыток, ожидание и ограничения хранения не означают бесконечную гарантированную доставку отчёта.
Проверку удобно проводить в обоих направлениях: отправить сообщение и убедиться, что программа приняла итоговое состояние с нужным ID. Затем посмотреть поведение при временном отсутствии ответа. Это помогает отделить проблему приёма отчёта от недоставки самого текста и не запускать лишнюю повторную SMS только из-за ошибки интеграции.