Проверка имени отправителя через SMPP: что делать, если регистрация не проходит

Проверка имени отправителя через SMPP: что делать, если регистрация не проходит

Если ваш шлюз настроен, тестовое SMS уходит, а боевой трафик блокируется — проблема чаще всего в имени отправителя. Провайдеры сверяют его с заявкой: несоответствие формата, отсутствие регистрации или конфликт с чужим брендом — и сообщение не дойдёт. В статье разберём, почему регистрация не проходит и как исправить ситуацию без долгих переписок с техподдержкой.

Зачем нужна регистрация имени отправителя при SMPP‑подключении?

Протокол SMPP сам по себе не проверяет, кому принадлежит номер или буквенное имя. Эту проверку делает SMS-центр (SMSC) провайдера. Если вы шлёте трафик с незарегистрированным именем, SMSC его отклоняет — вы получаете статус «rejected» или ошибку в DLR отчёте. Регистрация закрывает три риска: отправка под чужим брендом (кто-то может представиться вашим названием), блокировка из-за дубликата (то же имя уже занято) и несоответствие стандартам спецификации SMPP версии 3.4 (Quicktel, smsp.by).

Какие ошибки возникают при проверке имени?

Чаще всего отказ приходит с кодом, который расшифровывается в спецификации SMPP 3.4 как «invalid source address» или «source address ton/npi mismatch». В ответах от SMSC встречаются коды 0x0000000A (INVSRCADR) и 0x0000000B (INVDSTADR). Причина может быть в формате: буквенное имя длиннее 11 символов или номер начинается не с той цифры. Иногда провайдер требует, чтобы имя совпадало с договором — одна лишняя точка или заглавная буква, и регистрация не пройдёт.

Как проверить регистрацию имени отправителя?

Процедура обычно включает три шага. Сначала вы подаёте заявку в личном кабинете провайдера или через API, указывая имя (до 11 символов латиницей или кириллицей в UTF-8). Затем провайдер проверяет его через SMSC — часто это занимает от нескольких минут до суток. Наконец, вы получаете подтверждение: на некоторые платформы приходит ответное SMS на указанный номер верификации. Если у вас интеграция через SMPP-шлюз, можно отправить тестовое сообщение на свой номер и проверить DLR — статус «DELIVRD» означает, что имя принято. Подробнее о контроле статусов доставки читайте в статье про настройку SMPP-шлюза.

Типичные ошибки при регистрации имени отправителя

  1. Имя длиннее 11 символов (латиница) или 7 символов (кириллица в UTF-8).
  2. Использование пробелов, дефисов или спецсимволов, кроме подчёркивания.
  3. Имя уже занято другим клиентом провайдера или зарезервировано оператором.
  4. Несовпадение TON (Type of Number) — для буквенного имени обычно TON=5, для номера TON=1.
  5. Отсутствие верификационного SMS — на некоторых шлюзах нужно ответить на тестовое сообщение.
  6. Ошибка в параметре source_addr_ton/npi в SMPP-пакете: если вы указали «альфа» (буквы), а в системе числовой формат, SMSC отклонит пакет.

Что делать, если регистрация не проходит: пошаговая инструкция

  1. Проверьте формат имени: латиница до 11 символов, без пробелов. Кириллица в UTF-8 — до 7 символов.
  2. Уточните TON и NPI: для буквенного отправителя установите source_addr_ton=5, source_addr_npi=0. Для короткого номера — TON=1, NPI=1.
  3. Запросите лог ошибок у провайдера или в SMPP-клиенте. Код ошибки указан в PDU-пакете (например, command_status). Расшифровку кодов ищите в спецификации SMPP версии 3.4 или в документации вашего шлюза.
  4. Попробуйте другое имя: если ваше брендовое название занято, используйте вариант без торговой марки (например, «MAGAZ» вместо «MAGAZIN»).
  5. Свяжитесь с техподдержкой — провайдер может зарезервировать имя вручную или убрать дубль.

Как избежать отказа при регистрации на этапе интеграции

Лучший способ — заранее договориться с провайдером о доступных форматах. Некоторые SMS-центры поддерживают только цифровые имена (короткие номера), другие — только буквенные. Уточните это перед подачей заявки. Также сразу проверьте, есть ли у вашего шлюза функция динамического выбора source_addr_ton: некоторые SMPP-библиотеки по умолчанию ставят TON=1 (номер), а вам нужно TON=5 (альфа). Если вы используете готовое решение для отправки SMS, в документации обычно описан параметр «source address type». После успешной регистрации протестируйте сценарий с отправкой на 2-3 номера разных операторов и проверьте DLR — это позволит выявить проблемы с доставляемостью не только из-за имени, но и из-за маршрутизации. Для оптимизации маршрутизации и throughput можно обратиться к провайдеру — он предложит настройку под ваш трафик (smsp.by).

3 шага, которые можно сделать сегодня:

  1. Проверьте в своих SMPP-логах последние 10-20 пакетов с ошибкой «INVSRCADR» — выпишите source_addr_ton и source_addr_npi.
  2. Сверьте длину имени отправителя с требованиями вашего провайдера (обычно до 11 символов латиницей).
  3. Отправьте тестовое SMS на свой номер через тот же шлюз — если DLR вернет «DELIVRD», регистрация корректна; если статус отличается, перепроверьте формат имени.