- Название компании
- system_id — логин для подключения к платформе
- описание проблемы
- пример сообщения: дата, время, system_id, имя отправителя, номер получателя, message_id, коды ошибок
- tcpdump, логи с ошибкой, статистика по ошибке
Почему SMS могут не отправляться
- Не куплен пакет SMS. Если у вас тестовый период — пакет нужно подключать каждый день. Посмотреть пакеты можно в личном кабинете иконка кошелька → пакеты SMS
- Не подключено имя отправителя. Проверить статус имени можно в личном кабинете Инструменты → Имя отправителя
- Имя отправителя подключено не на всех операторов. Тогда SMS будут уходить только на подключённых операторов
Как настроить SMPP-подключение черeз Stunnel
Как настроить SMPP-подключение черeз IPsec
Требования к отправке сообщений
Ошибки при отправке
Как установить Stunnel
⚙️ Чтобы SMS отправлялись
- В личном кабинете МТС Маркетолога должно быть подключено имя отправителя для рассылок по своей базе PRO.
- Должен быть подключен пакет SMS.
Подробнее
Как настроить SMPP-подключение черeз Stunnel
- Установите stunnel на компьютер и запустите его. Инструкция по установке на разные ОС есть в конце статьи.
- При подключении командой bind_transceiver, используйте ip-адрес stunnel 127.0.0.1 и порт 3800. Если stunnel и SMPP клиент находятся на разных хостах, укажите ip-адрес хоста, на котором установлен stunnel.
- При запуске сессии командой bind_ установите в PDU параметры:
system_id — логин, который вы получили при создании SMPP-подключения в кабинете МТС Маркетолога
password — пароль, оттуда же - Как запустите сессию — можно отправлять SMS командой submit_sm.
Подробнее о команды bind_* и submit_sm — в спецификации SMPP 3.4
❔ Как получить логин и пароль
В личном кабинете МТС Маркетолога: Инструменты → Интеграции → SMPP и создать подключение — сгенерируем логин и пароль.
Как настроить SMPP-подключение черeз IPsec
Сперва отправьте заявку
Напишите нам на почту templates@mts.ru.
Тема: SMPP IPsec, в письме: ИНН, лицевой счёт кабинета.
С вами свяжется менеджер и обсудит детали. После этого мы сделаем все настройки на стороне МТС.
После настроек на стороне МТС:
- Настройте L2L сеть через IPsec.
- Поднимите SMPP-подключение:
2. 1. При подключении командой bind_transceiver, используйте ip-адрес stunnel 10.241.88.195, порт 3700. Либо URL prov.omnichannel.vas.mts.ru:3700
2. 2. При запуске сессии командой bind_ установите в PDU параметры:
system_id — логин, который вы получили при создании SMPP-подключения в кабинете МТС Маркетолога
password — пароль, оттуда же.
2. 3. Как запустите сессию — можно отправлять SMS командой submit_sm.
Подробнее о команды bind_* и submit_sm — в спецификации SMPP 3.4
❔ Как получить логин и пароль
В личном кабинете МТС Маркетолога: Инструменты → Интеграции → SMPP и создать подключение — сгенерируем логин и пароль.
Требования к отправке сообщений
Термины
SMSC — SMS-центр
Пользователь — вы
Оборудование — например, ваш сервер
Абонент — получатель SMS
- Протокол взаимодействия с SMSC — SMPP v3.4
- Сервис работает в синхронном и асинхронном режимах. Размер окна — 99, пропускная способность — 10 SMS в секунду.
- Для обмена SMS между оборудованием и SMSC может использоваться любой из типов подключения: transmitter, receiver, transceiver — в зависимости от направления трафика: на Пользователя, от Пользователя, на и от Пользователя.
- Если SMPP- и TCP-сессии оборвутся, ожидайте 1,5 минуты — после установите новую TCP-сессию и отправьте в сторону SMSC PDU команду bind_transceiver/ bind_transmitter / bind_receiver. Если соединение оборвётся, увеличьте ожидание до 2 минут.
- При отправке PDU bind_transceiver выставите значения полей
Address TON (addr_ton) = 0
Address NPI (addr_npi) = 0
Address Range (address_range) = NULL
- Номер получателя в формате 79ххххххххх должен иметь:
destination_addr_ton = 1 и destination_addr_npi = 1
Буквенно-цифровой номер отправителя (alphanumeric) должен иметь:
source_addr_ton = 5, source_addr_npi = 0
- Оборудование должно отправлять на каждый полученный от SMSC PDU deliver_sm (data_sm) подтверждение deliver_sm_resp (data_sm_resp) со статусом 0 (OK). Отправка PDU generic_nack запрещена
- Оборудование должно отправлять PDU enquire_link каждые 30 секунд вне зависимости от наличия или отсутствия трафика в SMPP-соединении.
- SMS из более чем из одного сегмента, отправленные со стороны контент-провайдера, должны содержать UDH или SAR параметры — чтобы корректно соединить части сообщения абонентским терминалом Пользователя
- В одной части составного SMS можно передавать не более 67 символов в кириллице и 153 в латинице.
- Если SMSC получает от Оборудования составное SMS, то отправляет ответ в PDU submit_sm_resp — каждый раз, когда получает часть SMS. При этом Оборудование должно передать все части составного SMS за период не более 60 секунд. Если не соблюдать требование, SMSC не отправит полученные от Оборудования части составного SMS и отправит на Оборудование PDU deliver_sm с отчётом о доставке delivery report, содержащим код ошибки 0x00000384 (ESME_RCNCTTIMEOUT).
- Используйте схему кодировки DCS 0х03 (HEX) для текста на латинице и DCS 0х08 (HEX) для текста на кириллице — в соответствии со спецификациями SMPP v3.4/v.5.0, 3GPP TS 23.038.
- Значение параметра validity_period не должно быть меньше 60 секунд. Если значение будет меньше — оно принудительно изменится на 60.
- Кодировка поля destination_addr должна быть в ASCII (символы между 36 (0x24) и 126 (0x7E)).
- Значение поля protocol_id должно быть = 0.
- Контролируйте равномерность скорости отправки SMS. Например, если установлено ограничение 100 SMS в секунду — отправляйте SMS каждые 10 миллисекунд, а не 100 SMS за первые 100 миллисекунд.
- Если при разрыве TCP-сессии со стороны SMSC в сторону Оборудования отправляется TCP-пакет с флагом FIN, то в ответ Оборудование должно отправить пакет FIN (FIN, ACK). Любой другой ответ запрещён.
- Чтобы отслеживать правильность взаимодействия SMSC и Оборудования по протоколам TCP и SMPP, рекомендуем использовать протокольный анализатор — например, Wireshark. Если возникнут проблемы в работе сервиса следует провести анализ tcpdump, описать проблему и направить tcpdump на supmarketolog@mts.ru
Ошибки при отправке
Если SMS не отправилось, SMSC может передать код ответа в PDU submit_sm_resp, так и в PDU deliver_sm в виде отчёта о доставке.
Даже если SMS принято к отправке, доставка SMS не гарантирована
Операция | Код ошибки | Что делать |
---|---|---|
submit_sm_resp | Invalid Destination Address | Удалите сообщение из очереди и больше не пытайтесь отправить |
submit_sm_resp | Throttling error | Поместите сообщение, на которое пришла ошибка, в начало очереди на отправку. Время ожидания перед повторной отправкой сообщений с Оборудования в данном соединении должно составлять 1 секунду. |
submit_sm_resp | Message Queue Full |
Поместите сообщение, на которое пришла ошибка, в конец очереди. И выполните от 3 до 5 повторных попыток отправки, каждый раз возвращая это SMS в конец очереди — если ошибка повторяется. Рекомендуем применять прогрессивный метод обработки этой ошибки: после первой ошибки делать паузу перед отправкой 5 секунд, при второй — 15 секунд, третьей — 45 секунд и т. д. Если после 3-5 попыток доставить SMS возвращается ошибка Message Queue Full, удалите его из очереди. |
deliver_sm | 620 | |
submit_sm_resp | Invalid Source Address | Заблокируйте отправку сообщений с данного номера отправителя. Не повторяйте отправки, пока не получите от МТС уведомление, что номер внесли в разрешённый список номеров отправителей на SMSC. |
submit_sm_resp | Message Length is invalid | Уменьшите количество символов в тексте сообщения в полях short_message или message_payload TLV в соответствии с ограничениями протокола GSM. Спецификация GSM 03.40/3GPP TS 23.040 |
deliver_sm | 950 | Приостановите отправку SMS, удалите сообщения из очереди и не отправляйте снова в течение 24 часов. |
Код ошибки 903 SMSC delivery timeout (ESME_RDLVRTIMEOUT) формируется, если через 72 часа после принятия SMS к отправке от SMSC не получен pdu deliver_sm c delivery_report. Либо после истечения срока, заданного в pdu submit_sm (validity period).
SMPP Error Code | Value (HEX) | Description | CDR ‘command_status’ field (message status) |
Value (HEX) | Value (DEC) | Description |
ESME_ROK | 0x00000000 | No Error | MSG_ERROR_NONE | 0x00 | 0 | No error occurred |
ESME_RINVMSGLEN | 0x00000001 | Message Length is invalid | MSG_ERROR_VALIDATION | 0x84 | 132 | Message is invalid |
ESME_RSYSERR | 0x00000008 | System Error | MSG_ERROR_UNROUTABLE | 0x0b | 11 | Unroutable message |
ESME_RINVSRCADR | 0x0000000A | Invalid Source Address | MSG_ERROR_INVALID_SRC | 0x85 | 133 | Invalid source address |
ESME_RINVSRCADR | 0x0000000A | Invalid Source Address | MSG_ERROR_FORBIDDEN_SRC | 0x8b | 139 | Forbidden source address |
ESME_RINVDSTADR | 0x0000000B | Invalid Dest Addr | MSG_ERROR_UNKNOWN_RECIPIENT | 0x81 | 129 | The recipient is unknown |
ESME_RINVDSTADR | 0x0000000B | Invalid Dest Addr | MSG_ERROR_INVALID_DST | 0x88 | 136 | Invalid destination address(es) |
ESME_RINVDSTADR | 0x0000000B | Invalid Dest Addr | MSG_ERROR_FORBIDDEN_DST | 0x8c | 140 | Forbidden destination address |
ESME_RINVDSTADR | 0x0000000B | Invalid Dest Addr | MSG_ERROR_MNP_CHECK_BARRING | 0x8e | 142 | MNP check barring error |
ESME_RMSGQFUL | 0x00000014 | Message Queue Full | MSG_ERROR_CONGESTION | 0x0a | 10 | Congestion error |
ESME_RTHROTTLED | 0x00000058 | Throttling error (ESME has exceeded allowed message limits) |
MSG_ERROR_THROTTLED | 0x09 | 9 | Throttling error |
ESME_RINVEXPIRY | 0x00000062 | Invalid message validity period (Expiry time) |
MSG_ERROR_EXPIRED | 0xff | 255 | The message has expired |
ESME_RX_T_APPN | 0x00000064 | ESME Receiver Temporary App Error Code |
MSG_ERROR_TEMPORARY | 0x01 | 1 | A temporary error occurred |
ESME_RX_T_APPN | 0x00000064 | ESME Receiver Temporary App Error Code |
MSG_ERROR_TRANSPORT_ERROR | 0x02 | 2 | A transport error occurred |
ESME_RX_T_APPN | 0x00000064 | ESME Receiver Temporary App Error Code |
MSG_ERROR_SRI_TRANSPORT_ERROR | 0x03 | 3 | A SRI transport error occurred |
ESME_RX_T_APPN | 0x00000064 | ESME Receiver Temporary App Error Code |
MSG_ERROR_SIM_CARD_FULL | 0x04 | 4 | The SIM card of the receiver is full GSM MAP memoryCapacityExceed error |
ESME_RX_T_APPN | 0x00000064 | ESME Receiver Temporary App Error Code |
MSG_ERROR_ABSENT_SUBSCRIBER | 0x05 | 5 | The mobile subscriber is absent GSM MAP absentSubscriber error |
ESME_RX_T_APPN | 0x00000064 | ESME Receiver Temporary App Error Code |
MSG_ERROR_TIMEOUT | 0x06 | 6 | Transaction has timed out |
ESME_RX_T_APPN | 0x00000064 | ESME Receiver Temporary App Error Code |
MSG_ERROR_ILLEGAL_EQUIPMENT | 0x07 | 7 | GSM MAP illegalEquipment error |
ESME_RX_T_APPN | 0x00000064 | ESME Receiver Temporary App Error Code |
MSG_ERROR_CANCELLED | 0x08 | 8 | Message processing has been cancelled |
ESME_RX_T_APPN | 0x00000064 | ESME Receiver Temporary App Error Code |
MSG_ERROR_NO_RETRY_LEFT | 0x82 | 130 | No retry left |
ESME_RX_P_APPN | 0x00000065 | ESME Receiver Permanent App Error Code |
MSG_ERROR_DEFINITIVE | 0x80 | 128 | A definitive error occurred |
ESME_RX_P_APPN | 0x00000065 | ESME Receiver Permanent App Error Code |
MSG_ERROR_VALIDATION | 0x84 | 132 | Message is invalid |
ESME_RPROHIBITED | 0x00000101 | ESME Prohibited from using specified operation. |
MSG_ERROR_CHARGING | 0x8d | 141 | Charging error |
ESME_RPROHIBITED | 0x00000101 | ESME Prohibited from using specified operation. |
MSG_ERROR_BLACKLISTED | 0x8f | 143 | Blacklisted recipient |
Код ошибки в DR (DEC) | Соответствует коду ошибки SMPP | Код ошибки в submit_sm_resp (HEX) |
601 | Message Length is invalid (ESME_RINVMSGLEN) | 0x000000001 |
608 | System Error (ESME_RSYSERR) | 0x000000008 |
610 | Invalid Source Address (ESME_RINVSRCADR) | 0x00000000A |
611 | Invalid Dest Addr (ESME_RINVDSTADR) | 0x00000000B |
620 | Message Queue Full (ESME_RMSGQFUL) | 0x000000014 |
688 | Throttling error (ESME has exceeded allowed message limits) (ESME_RTHROTTLED) | 0x000000058 |
698 | Invalid message validity period Expiry time (ESME_RINVEXPIRY) | 0x000000062 |
700 | ESME Receiver Temporary App Error Code (ESME_RX_T_APPN) | 0x000000064 |
701 | ESME Receiver Permanent App Error Code (ESME_RX_P_APPN) | 0x000000065 |
857 | ESME Prohibited from using specified operation (ESME_RPROHIBITED) | 0x000000101 |
900 | Сoncatenation timeout (ESME_RCNCTTIMEOUT) | 0x00000384 |
901 | Routing error (ESME_ROUTERR | 0x00000385 |
902 | SMSC response timeout (ESME_RRESPTIMEOUT) | 0x00000386 |
903 | SMSC delivery timeout (ESME_RDLVRTIMEOUT) | 0x00000387 |
904 – 949 | Резерв | |
950 | Временный код ошибки, формируется в течение 24 часов после замены SIM-карты абонентом «МТС». | 0x000007FFF |
951-998 | Резерв |
Как установить stunnel
Нужна версия 5.56+
- Скачайте программу stunnel-5.XX-win64-installer.exe для windows на сайте stunnel.org
- Запустите установщик (exe файл)
- По инструкции установщика установите stunnel на компьютер, оставьте все параметры по умолчанию
- После установки нажмите на ярлык на рабочем столе, чтобы запустить программу
- В открывшемся окне выберите пункт configuration → edit configuration
- Откроется файл конфигурации. Удалите из него всё и внесите новые данные:
7. Перезапустите stunnel
Ubuntu 20.04 и выше
1. Установите stunnel:
sudo apt-get install stunnel4
2. Создайте файл conf и сконфигурируйте коннект:
sudo nano /etc/stunnel/stunnel.conf
[smpp]
client = yes
accept = 0.0.0.0:3800
connect = smpp.marketolog.mts.ru:3800
3. Запустите stunnel:
sudo systemctl start stunnel
sudo systemctl enable stunnel
1. Скачайте stunnel, не ниже версии 5.56:
wget https://www.stunnel.org/downloads/stunnel-5.59.tar.gz
2. Распакуйте:
tar -xvf stunnel-5.59.tar.gz
3. Установите:
apt-get install stunnel4
4. Создайте файл conf и сконфигрурируйте коннект:
sudo nano /etc/stunnel/stunnel.conf
CentOS 7 и ниже
- Скачайте stunnel (вместо XX указать доступную версию):
wget https://www.stunnel.org/downloads/stunnel-5.XX.tar.gz
2. Распакуйте:
tar -xvf stunnel-5.XX.tar.gz
3. Соберите и установите. В процессе сборки могут потребоваться дополнительные пакеты в системе, их необходимо будет доставить.
cd stunnel-5.XX
./configure
make
make install
4. Создайте файл conf и сконфигурируйте коннект:
sudo vim /etc/stunnel/stunnel.conf
[smpp]
client = yes
accept = 0.0.0.0:3800
connect = smpp.marketolog.mts.ru:3800
5. Запустите stunnel:
stunnel /etc/stunnel/stunnel.conf
sudo docker run -d -e STUNNEL_CLIENT=yes -e STUNNEL_ACCEPT=0.0.0.0:3800 -e STUNNEL_CONNECT=smpp.marketolog.mts.ru:3800 -e STUNNEL_SERVICE=smpp -p 3800:3800 dweomer/stunnel
При возникновении проблемы получения sms сообщения через сервис smsc.ru:
- Проверить доступность сервиса smsc.ru с контроллера
- Если для связи с smsc.ru используется протокол SMPP необходимо проверить следующие настройки в личном кабинете smsc.ru :
- включена ли галочка доступ по SMPP;
- проверить правильно ли зарегистрирован ip адрес, с которого приходят запросы.
- Если с доступность сервиса с контроллера нет проблем и настройки в личном кабинете выполнены правильно, проверьте наличие записей об ошибках в файле /var/log/eltex-portal/sms_ep.txt. В таблице 1 приведено описание кодов ошибок
Таблица 1 – Коды ошибок
Код | Название | Описание |
---|---|---|
0 |
Нет ошибки |
Абонент существует и доступен. |
1 |
Абонент не существует |
Указанный номер телефона не существует. |
6 |
Абонент не в сети |
Телефон абонента отключен или находится вне зоны действия сети. |
11 |
Нет услуги SMS |
Означает, что абонент не может принять SMS-сообщение. Например, услуга не подключена, или абонент находится в роуминге, где не активирован прием сообщений, или у оператора абонента не налажен обмен SMS с текущим роуминговым оператором. Также это может быть городской номер без приема сообщений. |
13 |
Абонент заблокирован |
Возникает, например, если на счету абонента нулевой или отрицательный баланс, и он находится в роуминге, или заблокирован оператором за продолжительную неуплату либо добровольно самим абонентом. Также данная ошибка может возвращаться при повреждении SIM-карты либо неправильном вводе PIN и PUK-кодов SIM-карты. |
21 |
Нет поддержки SMS |
Аппарат абонента не поддерживает прием SMS-сообщений. |
200 |
Виртуальная отправка |
Данное уведомление появляется под статусом сообщения в случае отправки сообщения в режиме тестирования (при установленной в настройках галочке «Режим тестирования (виртуальная отправка без оплаты)»). |
220 |
Переполнена очередь у оператора |
Указанная ошибка может возникать в случае, когда абонент недоступен для приема SMS, но сообщения продолжают приходить оператору и происходит переполнение внутренней очереди сообщений для данного абонента. В редких случаях возможно появление ошибки в результате сбоя в сети самого оператора или переполнении общей очереди сообщений. Во всех подобных ситуациях система с определенными интервалами несколько раз пытается отправить указанные сообщения повторно. |
240 |
Абонент занят |
Возникает при передаче голосового сообщения абоненту, если линия занята или абонент отменил вызов. |
241 |
Ошибка конвертации звука |
При преобразовании текста или звукового файла в конечный формат для передачи абоненту голосового сообщения произошла ошибка конвертации звука. |
242 |
Зафиксирован автоответчик |
Означает, что во время отправки голосового сообщения на стороне абонента был зафиксирован автоответчик. |
243 |
Не заключен договор |
Возникает при попытке отправки рассылок рекламного или массового характера без заключенного договора. |
244 |
Рассылки запрещены |
Означает, что для данного Клиента запрещена отправка массовых и рекламных рассылок. |
245 |
Статус не получен |
В течение суток статус доставки не был получен от оператора, в этом случае нельзя точно сказать, было сообщение доставлено или нет. |
246 |
Ограничение по времени |
Если в личном кабинете в пункте «Настройки» во вкладке «Лимиты и ограничения» установлено «Время отправки» и галочка «запретить отправку в другое время», то при попытке отправки SMS-сообщений в период времени, отличный от указанного в поле «Время отправки», отправка сообщений будет запрещаться с указанием данной ошибки. |
247 |
Превышен лимит сообщений |
Превышен общий суточный лимит сообщений, указанный Клиентом в личном кабинете в пункте «Настройки». |
248 |
Нет маршрута |
Означает, что на данный номер отправка сообщений недоступна в нашем сервисе. Например, ввели несуществующий мобильный код, либо для указанного номера и текста нет рабочего SMS-шлюза. |
249 |
Неверный формат номера |
Возникает, когда мобильный код указанного номера и соответствующая этому коду длина номера неверны. |
250 |
Номер запрещен настройками |
Номер попал под ограничения, установленные Клиентом для мобильных номеров в личном кабинете в пункте «Настройки». |
251 |
Превышен лимит на один номер |
Превышен суточный лимит сообщений на один номер. Лимит устанавливается Клиентом в личном кабинете в пункте «Настройки». Также такая ошибка возможна при отправке более 50 сообщений одному абоненту, которые были отправлены с перерывом между сообщениями менее 30 секунд. |
252 |
Номер запрещен |
Возникает, например, при попытке указания Клиентом одного из наших федеральных номеров в качестве получателя SMS-сообщения. |
253 |
Запрещено спам-фильтром |
Если текст сообщения содержит нецензурные выражения и оскорбления, призывы отправить sms и некоторые другие запрещенные тексты, то отправка сообщения заблокируется. Также запрещено указывать в качестве отправителя короткие платные номера, номер получателя сообщений, названия операторов, чужих интернет-ресурсов, компаний и государственных организаций. |
254 |
Незарегистрированный sender id |
Данная ошибка возникает при попытке отправки сообщения от незарегистрированного имени отправителя. |
255 |
Отклонено оператором |
Оператор отклонил сообщение без указания точного кода ошибки. |
При отсутствии записей об ошибках в файле /var/log/eltex-portal/sms_ep.txt, проверьте логи портала в файле /var/log/eltex-portal/error_ep.txt. В данном файле будет выводится информация об ошибках в случае если между контроллером и сервисом smsc.ru не было установлено соединение по какой-либо причине.
Например:
ERROR Kernel SmsSmppGate.connect(line:115). Failed connect and bind to smpp host. java.io.IOException: Receive negative bind response: Negative response 0000000e found
в данном случае между контроллером и smsc.ru не удалось установить smpp-соединение из-за неправильного пароля.
Таблица 2 – Коды ошибок протокола SMPP
Код ошибки, HEX |
Описание |
0x00000000 |
No error |
0x00000001 |
Message Length is invalid |
0x00000002 |
Command Length is invalid |
0x00000003 |
Invalid Command ID |
0x00000004 |
Incorrect BIND Status for given command |
0x00000005 |
ESME Already in bound state |
0x00000006 |
Invalid priority flag |
0x00000007 |
Invalid registered delivery flag |
0x00000008 |
System Error |
0x00000009 |
|
0x0000000a |
Invalid source address |
0x0000000b |
Invalid destination address |
0x0000000c |
Message ID is invalid |
0x0000000d |
Bind failed |
0x0000000e |
Invalid password |
0x0000000f |
Invalid System ID |
0x00000010 |
|
0x00000011 |
Cancel SM Failed |
0x00000012 |
|
0x00000013 |
Replace SM Failed |
0x00000014 |
Message queue full |
0x00000015 |
Invalid service type |
0x00000016 ………… 0x00000032 |
reserved |
0x00000033 |
Invalid number of destinations |
0x00000034 |
Invalid distribution list name |
0x00000035 ………… 0x0000003f |
reserved |
0x00000040 |
Destination flag is invalid (submit_multi) |
0x00000041 |
|
0x00000042 |
Invalid `submit with replace’ request (i.e. submit_sm with replace_if_present_flag set) |
0x00000043 |
Invalid esm_class field data |
0x00000044 |
Cannot submit to distribution list |
0x00000045 |
submit_sm or submit_multi failed |
0x00000046 |
|
0x00000047 |
|
0x00000048 |
Invalid source address TON |
0x00000049 |
Invalid source address NPI |
0x0000004a ………… 0x0000004f |
undocumented |
0x00000050 |
Invalid destination address TON |
0x00000051 |
Invalid destination address NPI |
0x00000052 |
|
0x00000053 |
Invalid system_type field |
0x00000054 |
Invalid replace_if_present flag |
0x00000055 |
Invalid number of messages |
0x00000056 |
|
0x00000057 |
|
0x00000058 |
Throttling error (ESME has exceeded allowed message limits) |
0x00000059 ………… 0x00000060 |
reserved |
0x00000061 |
Invalid scheduled delivery time |
0x00000062 |
Invalid message validity period (expiry time) |
0x00000063 |
Predefined message invalid or not found |
0x00000064 |
ESME Receiver Temporary App Error Code |
0x00000065 |
ESME Receiver Permanent App Error Code |
0x00000066 |
ESME Receiver Reject Message Error Code |
0x00000067 |
query_sm request failed |
0x00000068 ………… 0x000000bf |
reserved |
0x000000c0 |
Error in the optional part of the PDU Body |
0x000000c1 |
Optional paramenter not allowed |
0x000000c2 |
Invalid parameter length |
0x000000c3 |
Expected optional parameter missing |
0x000000c4 |
Invalid optional parameter value |
0x000000c5 ………… 0x000000fd |
reserved |
0x000000fe |
Delivery Failure (used for data_sm_resp) |
0x000000ff |
Unknown error |
0x00000100 ………… 0x000003ff |
reserved for SMPP extension |
0x00000400 ………… 0x000004ff |
reserved for SMSC vendor specific errors |
0x00000500 ………… 0xffffffff |
reserved |
Содержание
- SMPP Error Codes
- SMPP Error Code Reference
- Related posts:
- pling/smpp-errors
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
SMPP Error Codes
Command Status as defined in [SMPP] (5.1.3).
Value | Description |
---|---|
0x00000000 | No Error |
0x00000001 | Message Length is invalid |
0x00000002 | Command Length is invalid |
0x00000003 | Invalid Command ID |
0x00000004 | Incorrect BIND Status for given command |
0x00000005 | ESME Already in Bound State |
0x00000006 | Invalid Priority Flag |
0x00000007 | Invalid Registered Delivery Flag |
0x00000008 | System Error |
0x00000009 | Reserved |
0x0000000A | Invalid Source Address |
0x0000000B | Invalid Destination Address |
0x0000000C | Message ID is invalid |
0x0000000D | Bind Failed |
0x0000000E | Invalid Password |
0x0000000F | Invalid System ID |
0x00000010 | Reserved |
0x00000011 | Cancel SM Failed |
0x00000012 | Reserved |
0x00000013 | Replace SM Failed |
0x00000014 | Message Queue Full |
0x00000015 | Invalid Service Type |
0x00000016- 0x00000032 |
Reserved |
0x00000033 | Invalid number of destinations |
0x00000034 | Invalid Distribution List name |
0x00000035- 0x0000003F |
Reserved |
0x00000040 | Destination flag is invalid (submit_multi) |
0x00000041 | Reserved |
0x00000042 | Invalid ‘submit with replace’ request (e.g. submit_sm with replace_if_present_flag set) |
0x00000043 | Invalid esm_class field data |
0x00000044 | Cannot Submit to Distribution List |
0x00000045 | submit_sm or submit_multi failed |
0x00000046- 0x00000047 |
Reserved |
0x00000048 | Invalid Source address TON |
0x00000049 | Invalid Source address NPI |
0x00000050 | Invalid Destination address TON |
0x00000051 | Invalid Destination address NPI |
0x00000052 | Reserved |
0x00000053 | Invalid system_type field |
0x00000054 | Invalid replace_if_present flag |
0x00000055 | Invalid number of messages |
0x00000056- 0x00000057 |
Reserved |
0x00000058 | Throttling error (ESME has exceeded allowed message limits) |
0x00000059- 0x00000060 |
Reserved |
0x00000061 | Invalid Scheduled Delivery Time |
0x00000062 | Invalid message validity period (Expiry time) |
0x00000063 | Predefined Message Invalid or Not Found |
0x00000064 | ESME Receiver Temporary App Error Code |
0x00000065 | ESME Receiver Permanent App Error Code |
0x00000066 | ESME Receiver Reject Message Error Code |
0x00000067 | query_sm request failed |
0x00000068- 0x000000BF |
Reserved |
0x000000C0 | Error in the optional part of the PDU Body |
0x000000C1 | Optional Parameter not allowed |
0x000000C2 | Invalid Parameter Length. |
0x000000C3 | Expected Optional Parameter missing |
0x000000C4 | Invalid Optional Parameter Value |
0x000000C5- 0x000000FD |
Reserved |
0x000000FE | Delivery Failure (used for data_sm_resp) |
0x000000FF | Unknown Error |
0x00000100- 0x000003FF |
Reserved for SMPP extension |
0x00000400- 0x000004FF |
Reserved for SMSC vendor specific errors |
0x00000500- 0xFFFFFFFF |
Reserved |
Message State as defined in [SMPP] (5.2.28).
Value | Description |
---|---|
1 | The message is in «en route» state |
2 | Message is delivered to destination |
3 | Message validity period has expired |
4 | Message has been deleted |
5 | Message is undeliverable |
6 | Message is in accepted state (e.g. has been manually read on behalf of the subscriber by customer service) |
7 | Message is in invalid state |
8 | Message is in a rejected state |
Network Error Code as defined in [SMPP] (5.3.2.31).
The Network Error Code parameter is used to indicate the actual network error code for a delivery failure. The network error code is technology specific. It’s a 3 Octet String which consists of 2 sub fields: Network Type (1 Integer) and Error Code (2 Integer). The first octet indicates the network type. The following values are defined: 1 = ANSI-136, 2 = IS-95, 3 = GSM, 4 = Reserved. All other values reserved. The remaining two octets specify the actual network error code appropriate to the network type.
Источник
SMPP Error Code Reference
Posted by bryce on Sep 28, 2009 in Support Blog Comments Off on SMPP Error Code Reference —>
Information on how NowSMS handles different SMPP errors can be found at the following link: https://nowsms.com/smpp-error-code-handling-in-nowsms
This article is a reference for SMPP error codes.
Invalid Message Length (sm_length parameter)
Invalid Command Length (command_length in SMPP PDU)
Invalid Command ID (command_id in SMPP PDU)
Incorrect BIND status for given command (example: trying to submit a message when bound only as a receiver)
ESME already in bound state (example: sending a second bind command during an existing SMPP session)
Invalid Priority Flag (priority_flag parameter)
Invalid Regstered Delivery Flag (registered_delivery parameter)
System Error (indicates server problems on the SMPP host)
Invalid source address (sender/source address is not valid)
Invalid desintation address (recipient/destination phone number is not valid)
Message ID is invalid (error only relevant to query_sm, replace_sm, cancel_sm commands)
Bind failed (login/bind failed – invalid login credentials or login restricted by IP address)
Invalid password (login/bind failed)
Invalid System ID (login/bind failed – invalid username / system id)
cancel_sm request failed
replace_sm request failed
Message Queue Full (This can indicate that the SMPP server has too many queued messages and temporarily cannot accept any more messages. It can also indicate that the SMPP server has too many messages pending for the specified recipient and will not accept any more messages for this recipient until it is able to deliver messages that are already in the queue to this recipient.)
Invalid service_type value
Invalid number_of_dests value in submit_multi request
Invalid distribution list name in submit_multi request
Invalid dest_flag in submit_multi request
Invalid ‘submit with replace’ request (replace_if_present flag set)
Invalid esm_class field data
Cannot submit to distribution list (submit_multi request)
Submit message failed
Invalid Source address TON
Invalid Source address NPI
Invalid Destination address TON
Invalid Destination address NPI
Invalid system_type field
Invalid replace_if_present flag
Invalid number_of_messages parameter
Throttling error (This indicates that you are submitting messages at a rate that is faster than the provider allows)
Invalid schedule_delivery_time parameter
Invalid validity_period parameter / Expiry time
Invalid sm_default_msg_id parameter (this error can sometimes occur if the “Default Sender Address” field is blank in NowSMS)
ESME Receiver Temporary App Error Code
ESME Receiver Permanent App Error Code (the SMPP provider is rejecting the message due to a policy decision or message filter)
ESME Receiver Reject Message Error Code (the SMPP provider is rejecting the message due to a policy decision or message filter)
query_sm request failed
Error in the optional TLV parameter encoding
An optional TLV parameter was specified which is not allowed
An optional TLV parameter has an invalid parameter length
An expected optional TLV parameter is missing
An optional TLV parameter is encoded with an invalid value
Generice Message Delivery failure
An unknown error occurred (indicates server problems on the SMPP host)
Error codes between 0x400 and 0x4FF are SMPP provider specific, and it is necessary to consult system documentation for the provider for more details.
For additional information, archived versions of the SMPP specification can be found at the following link: https://nowsms.com/smpp-3-4-protocol-specification-archive
For comments and further discussion, please click here to visit the NowSMS Technical Forums (Discussion Board).
Источник
pling/smpp-errors
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more.
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
SMPP message state and error codes
The following is a list of allowable states for a short message. The MC returns the message_state value to the ESME as part of the query_sm_resp or query_broadcast_sm_resp PDU. Intermediate states are states that can change. Final states are states that represent an end of life state for a message.
For example, a message in retry may return an ENROUTE state. At some point in the future, this message will either expire or be delivered. The state will then progress to EXPIRED or DELIVERED. Thus a message in ENROUTE state is said to be in an intermediate state. A message in DELIVERED or EXPIRED state cannot progress to another state. These states are therefore final states.
State | Value | Type | Description |
---|---|---|---|
SCHEDULED | Intermediate | The message is scheduled. Delivery has not yet been initiated. A message submitted with a scheduled delivery time may return this state when queried. | |
ENROUTE | 1 | Intermediate | The message is in enroute state. This is a general state used to describe a message as being active within the MC. The message may be in retry or dispatched to a mobile network for delivery to the mobile. |
DELIVERED | 2 | Final | Message is delivered to destination. The message has been delivered to the destination. No further deliveries will occur. |
EXPIRED | 3 | Final | Message validity period has expired. The message has failed to be delivered within its validity period and/or retry period. No further delivery attempts will be made. |
DELETED | 4 | Final | Message has been deleted. The message has been cancelled or deleted from the MC. No further delivery attempts will take place. |
UNDELIVERABLE | 5 | Final | Message is undeliverable. The message has encountered a delivery error and is deemed permanently undeliverable. No further delivery attempts will be made.Certain network or MC internal errors result in the permanent non-delivery of a message. Examples of such errors would be an unknown subscriber or network error that indicated that the given destination mobile was denied SMS service or could not support SMS. |
ACCEPTED | 6 | Final | Message is in accepted state (i.e. has been manually read on behalf of the subscriber by customer service). This state is used to depict intervention on the MC side. Sometimes a malformed message can cause a mobile to power-off or experience problems. The result is that all messages to that mobile may remain queued until the problem message is removed or expires. In certain circumstances, a mobile network support service or administrator may manually accept a message to prevent further deliveries and allow other queued messages to be delivered. |
UNKNOWN | 7 | N/A | Message is in invalid state. The message state is unknown. This may be due to some internal MC problem which may be intermediate or a permanent. This state should never be returned. A MC experiencing difficulties that prevents it from returning a message state, would use this state. |
REJECTED | 8 | Final | Message is in a rejected state. The message has been rejected by a delivery interface. The reasons for this rejection are vendor and network specific. No further delivery attempts will be made. |
SKIPPED | 9 | Final | The message was accepted but not transmitted or broadcast on the network. A skipped message is one that was deliberately ignored according to vendor or network-specific rules. No further delivery attempts will be made. |
The error code for a delivery failure will be included in the network_error_code field of the deliver_sm PDU when available.
The network_error_code is encoded according to SMPP specification where the network type is the first octet (always 7 => SMPP Error) and the error code is an integer with 2 octets.
All SMPP error codes may be returned. In addition, the following MC Vendor specific errors are defined.
Addition error codes in the range 0x400-0x4FF may be added at any time.
Источник
The SMS > STATUS SEND page does not display a description for messages «delivered« and those «queued.
However the error messages are displayed in the following format: Status_RoutingCode_ErrorCode
Below are the descriptions of the codes returned in case of error.
Note: For the protocol used, there is also the state DELIVRD (message delivered) but this will never be displayed, because it does not fall into the error’s examples
Depending on the route (SMSC) which is sent a SMS error the code may be different. The possible paths are identified by numbers (1, 2, 3, …)
For errors like «NACK« they depend on messages belonging to the 0x00000400-0x000004FF interval.
The first table shows errors are independent by the route, while the following tables report dependencies to the SMSC on which the message was routed.
ErrorCode |
Error Description |
0x00000000 |
No Error |
0x00000001 |
Message Length is invalid |
0x00000002 |
Command Length is invalid |
0x00000003 |
Invalid Command ID |
0x00000004 |
Incorrect BIND Status for given command |
0x00000005 |
ESME Already in Bound State |
0x00000006 |
Invalid Priority Flag |
0x00000007 |
Invalid Registered Delivery Flag |
0x00000008 |
System Error |
0x00000009 |
Reserved |
0x0000000A |
Invalid Source Address |
0x0000000B |
Invalid Dest Addr |
0x0000000C |
Message ID is invalid |
0x0000000D |
Bind Failed |
0x0000000E |
Invalid Password |
0x0000000F |
Invalid System ID |
0x00000010 |
Reserved |
0x00000011 |
Cancel SM Failed |
0x00000012 |
Reserved |
0x00000013 |
Replace SM Failed |
0x00000014 |
Message Queue Full |
0x00000015 |
Invalid Service Type |
0x00000016-0x00000032 |
Reserved |
0x00000033 |
Invalid number of destinations |
0x00000034 |
Invalid Distribution List name |
0x00000035-0x0000003F |
Reserved |
0x00000040 |
Destination flag is invalid (submit_multi) |
0x00000041 |
Reserved |
0x00000042 |
Invalid ‘submit with replace’ request (i.e. submit_sm with replace_if_present_flag set) |
0x00000043 |
Invalid esm_class field data |
0x00000044 |
Cannot Submit to Distribution List |
0x00000045 |
submit_sm or submit_multi failed |
0x00000046-0x00000047 |
Reserved |
0x00000048 |
Invalid Source address TON |
0x00000049 |
Invalid Source address NPI |
0x00000050 |
Invalid Destination address TON |
0x00000051 |
Invalid Destination address NPI |
0x00000052 |
Reserved |
0x00000053 |
Invalid system_type field |
0x00000054 |
Invalid replace_if_present flag |
0x00000055 |
Invalid number of messages |
0x00000056-0x00000057 |
Reserved |
0x00000058 |
Throttling error (ESME has exceeded allowed message limits) |
0x00000059-0x00000060 |
Reserved |
0x00000061 |
Invalid Scheduled Delivery Time |
0x00000062 |
Invalid message validity period (Expiry time) |
0x00000063 |
Predefined Message Invalid or Not Found |
0x00000064 |
ESME Receiver Temporary App |
0x00000065 |
ESME Receiver Permanent App Error |
0x00000066 |
ESME Receiver Reject Message Error |
0x00000067 |
query_sm request failed |
0x00000068-0x000000BF |
Reserved |
0x000000C0 |
Error in the optional part of the PDU |
0x000000C1 |
Optional Parameter not allowed |
0x000000C2 |
Invalid Parameter Length. |
0x000000C3 |
Expected Optional Parameter missing |
0x000000C4 |
Invalid Optional Parameter Value |
0x000000C5-0x000000FD |
Reserved |
0x000000FE |
Delivery Failure (used for data_sm_resp) |
0x000000FF |
Unknown Error |
0x00000100-0x000003FF |
Reserved for SMPP extension |
0x00000400-0x000004FF |
Reserved for SMSC vendor specific errors |
0x00000500-0xFFFFFFFF |
Reserved |
Error-Code |
Error Description |
401 |
Number blacklisted in system |
402 |
Client blacklisted in system |
403 |
Prefix blacklisted in system |
404 |
Invalid account Error |
405 |
No longer applicable |
406 |
Destination busy — The message was not sent due to the fact that the QoS was busy, please try again. |
407 |
Reply Type Error. |
408 |
MSIP Syntax Error. |
409 |
No longer applicable |
40A |
System unavailable. |
40B |
System unavailable. |
40C |
System unavailable. |
40D |
Profile Error. |
40E |
Username not set — No username was specified. |
40F |
Do not try again. Binary message not allowed on profile. — This message does not allow binary messages. |
410 |
Temporary System failure, please retry. |
411 |
Number unroutable. Do not retry. |
412 |
Number Temporarily unroutable, please try again. |
413 |
Number unroutable. Do not retry. |
414 |
Number unroutable on current settings. Do not retry. |
415 |
Number Temporarily unroutable, please try again. |
416 |
Number unroutable. Do not retry. |
417 |
Number unroutable. Do not retry. |
418 |
Number unroutable. Do not retry. |
419 |
Number unroutable. Do not retry. |
41A |
Number unroutable. Do not retry. |
41B |
Number unroutable. Do not retry. |
41C |
Number Temporarily unroutable, please try again. |
41D |
Number unroutable. Do not retry. |
41E |
Number Temporarily unroutable, please try again. |
41F |
Number Temporarily unroutable, please try again. |
420 |
Unable to send on local deliverer |
421 |
Cannot find originator for index. Do not retry. |
422 |
Destination unavailable, please try again. |
The following table shows the values of specific ErrorCode for the route. Lines highlighted in green relate to the message returned if the message is sent successfully.
There is no specific ErrorCode of this route. We only use information from the Status field.
Error-Code |
Error Description |
Permanent |
Status |
1 |
Phone related |
No |
BUFFERED |
2 |
Deliver related: message within operator |
No |
BUFFERED |
3 |
Accepted bySMSC |
No |
ACKED |
4 |
Delivered to mobile device |
n/a |
DELIVERED |
5 |
Message failed — detailed reason is unknown |
n/a |
FAILED |
6 |
Final status of message is unknown |
n/a |
UNKNOWN |
8 |
Message expired within the operator and failure reason is unknown |
No |
FAILED |
20 |
Permanent operator error |
Yes |
FAILED |
21 |
Credit related: message has been retried by operator |
No |
FAILED |
23 |
Absent subscriber permanent |
Yes |
FAILED |
24 |
Absent subscriber temporary |
No |
FAILED |
25 |
Operator network failure |
No |
FAILED |
26 |
Phone related error |
No |
FAILED |
27 |
Permanent phone related error |
Yes |
FAILED |
28 |
Anti-spam |
Yes |
FAILED |
29 |
Content related error |
Yes |
FAILED |
33 |
Age verification failure — parental lock |
Yes |
FAILED |
73 |
Mobile number portability error |
Yes |
FAILED |
74 |
Roaming error |
No |
FAILED |
76 |
Mobile number portability and blocking error |
Yes |
FAILED |
202 |
Mobile number portability error |
Yes |
FAILED |
Error code |
Error description |
Permanent |
Status |
0000 |
EC_DELIVRD |
Yes |
DELIVERED |
1 |
EC_UNKNOWN_SUBSCRIBER |
Yes |
UNDELIV |
5 |
EC_UNIDENTIFIED_SUBSCRIBER |
No |
EXPIRED |
6 |
EC_ABSENT_SUBSCRIBER_SM |
No |
EXPIRED |
9 |
EC_ILLEGAL_SUBSCRIBER |
Yes |
UNDELIV |
11 |
EC_TELESERVICE_NOT_PROVISIONED |
Yes |
UNDELIV |
12 |
EC_ILLEGAL_EQUIPMENT |
Yes |
UNDELIV |
13 |
EC_CALL_BARRED |
No |
EXPIRED |
21 |
EC_FACILITY_NOT_SUPPORTED |
No |
EXPIRED |
27 |
EC_ABSENT_SUBSCRIBER |
No |
EXPIRED |
31 |
EC_SUBSCRIBER_BUSY_FOR_MT_SMS |
No |
EXPIRED |
32 |
EC_SM_DELIVERY_FAILURE |
No |
EXPIRED |
33 |
EC_MESSAGE_WAITING_LIST_FULL |
No |
EXPIRED |
34 |
EC_SYSTEM_FAILURE |
No |
EXPIRED |
35 |
EC_DATA_MISSING |
Yes |
UNDELIV |
36 |
EC_UNEXPECTED_DATA_VALUE |
Yes |
UNDELIV |
256 |
EC_SM_DF_memoryCapacityExceeded |
No |
EXPIRED |
257 |
EC_SM_DF_equipmentProtocolError |
No |
EXPIRED |
258 |
EC_SM_DF_equipmentNotSM_Equipped |
No |
EXPIRED |
259 |
EC_SM_DF_unknownServiceCentre |
No |
EXPIRED |
260 |
EC_SM_DF_sc_Congestion |
No |
EXPIRED |
261 |
EC_SM_DF_invalidSME_Address |
No |
EXPIRED |
262 |
EC_SM_DF_subscriberNotSC_Subscriber |
No |
EXPIRED |
500 |
EC_PROVIDER_GENERAL_ERROR |
No |
EXPIRED |
502 |
EC_NO_RESPONSE |
No |
EXPIRED |
503 |
EC_SERVICE_COMPLETION_FAILURE |
No |
EXPIRED |
504 |
EC_UNEXPECTED_RESPONSE_FROM_PEER |
No |
EXPIRED |
507 |
EC_MISTYPED_PARAMETER |
No |
EXPIRED |
508 |
EC_NOT_SUPPORTED_SERVICE |
No |
EXPIRED |
509 |
EC_DUPLICATED_INVOKE_ID |
No |
EXPIRED |
511 |
EC_INITIATING_RELEASE |
No |
EXPIRED |
1024 |
EC_OR_appContextNotSupported |
No |
EXPIRED |
1025 |
EC_OR_invalidDestinationReference |
No |
EXPIRED |
1026 |
EC_OR_invalidOriginatingReference |
No |
EXPIRED |
1027 |
EC_OR_encapsulatedAC_NotSupported |
No |
EXPIRED |
1028 |
EC_OR_transportProtectionNotAdequate |
No |
EXPIRED |
1030 |
EC_OR_potentialVersionIncompatibility |
No |
EXPIRED |
1031 |
EC_OR_remoteNodeNotReachable |
No |
EXPIRED |
1152 |
EC_NNR_noTranslationForAnAddressOfSuchNatur |
No |
EXPIRED |
1153 |
EC_NNR_noTranslationForThisSpecificAddress |
No |
EXPIRED |
1154 |
EC_NNR_subsystemCongestion |
No |
EXPIRED |
1155 |
EC_NNR_subsystemFailure |
No |
EXPIRED |
1156 |
EC_NNR_unequippedUser |
No |
EXPIRED |
1157 |
EC_NNR_MTPfailure |
No |
EXPIRED |
1158 |
EC_NNR_networkCongestion |
No |
EXPIRED |
1159 |
EC_NNR_unqualified |
No |
EXPIRED |
1160 |
EC_NNR_errorInMessageTransportXUDT |
No |
EXPIRED |
1161 |
EC_NNR_errorInLocalProcessingXUDT |
No |
EXPIRED |
1162 |
EC_NNR_destinationCannotPerformReassemblyXUDT |
No |
EXPIRED |
1163 |
EC_NNR_SCCPfailure |
No |
EXPIRED |
1164 |
EC_NNR_hopCounterViolation |
No |
EXPIRED |
1165 |
EC_NNR_segmentationNotSupported |
No |
EXPIRED |
1166 |
EC_NNR_segmentationFailure |
No |
EXPIRED |
1281 |
EC_UA_userSpecificReason |
No |
EXPIRED |
1282 |
EC_UA_userResourceLimitation |
No |
EXPIRED |
1283 |
EC_UA_resourceUnavailable |
No |
EXPIRED |
1284 |
EC_UA_applicationProcedureCancellation |
No |
EXPIRED |
1536 |
EC_PA_providerMalfunction |
No |
EXPIRED |
1537 |
EC_PA_supportingDialogOrTransactionRealeased |
No |
EXPIRED |
1538 |
EC_PA_ressourceLimitation |
No |
EXPIRED |
1539 |
EC_PA_maintenanceActivity |
No |
EXPIRED |
1540 |
EC_PA_versionIncompatibility |
No |
EXPIRED |
1541 |
EC_PA_abnormalMapDialog |
No |
EXPIRED |
1793 |
EC_NC_responseRejectedByPeer |
No |
EXPIRED |
1794 |
EC_NC_abnormalEventReceivedFromPeer |
No |
EXPIRED |
1795 |
EC_NC_messageCannotBeDeliveredToPeer |
No |
EXPIRED |
1796 |
EC_NC_providerOutOfInvoke |
No |
EXPIRED |
2048 |
EC_TIME_OUT |
No |
EXPIRED |
2049 |
EC_IMSI_BLACKLISTED |
Yes |
UNDELIV |
2050 |
EC_DEST_ADDRESS_BLACKLISTED |
Yes |
UNDELIV |
2051 |
EC_InvalidMscAddress |
No |
EXPIRED |
4096 |
EC_InvalidPduFormat |
Yes |
UNDELIV |
4100 |
EC_Cancelled |
Yes |
EXPIRED |
4101 |
EC_ValidityExpired |
Yes |
UNDELIV |
Error-Code |
Status |
Permanent |
Descrizione |
00 |
DELIVRD |
Y |
Message is delivered to destination |
01 |
REJECTD |
Y |
SMPP Gateway cannot accept the message for delivery ( i.e. you run out of credit if your account is a prepaid one ) |
02 |
UNDELIV |
Y |
Mobile network attemtps to deliver the message have been failed |
03 |
ACCEPTED |
N |
Mobile network has accepted message for delivery |
04 |
FAILED |
Y |
Mobile network is unable to accept message for delivery |
05 |
EXPIRED |
Y |
Message validity period has expired |
99 |
UNKNOWN |
Y |
AT cannot determine the status of your message |
Error-Code |
Descrizione |
Permanent |
Status |
000 |
DELIVERED |
Y |
DELIVRD |
001 |
EXPIRED (generic error) |
||
002 |
UNKNOWN (generic error) |
UNKNOWN |
|
003 |
UNDELIV (generic error) |
UNDELIV |
|
004 |
UNDELIV (generic error) |
||
005 |
DELETED (generic error) |
||
006 |
FAILED (generic error) |
FAILED |
|
007 |
REJECTD (generic error) |
REJECTD |
|
008 |
UNKNOWN (generic error) |
UNKNOWN |
|
101 |
abort |
||
102 |
absent subscriber |
FAILED, UNDELIV |
|
103 |
absent subscriber sm |
||
104 |
absent subscriber temporary |
FAILED |
|
105 |
absent subscriber. imsi detached. |
||
106 |
absent subscriber. no paging response via msc. |
||
107 |
absent subscriber. roaming restriction. |
||
108 |
absent subscriber: the message is undeliverable |
||
109 |
age verification failure failed av |
||
110 |
age verification failure no previous av |
||
111 |
age verification failure parental lock |
||
112 |
age verification failure temporary av error |
||
113 |
agent not registered |
||
114 |
anti spam |
||
115 |
ati not allowed |
||
116 |
bad parameter value |
||
117 |
badly formatted transaction portion |
||
118 |
badly structured component |
||
119 |
barring service active |
||
120 |
bearer service not provisioned |
||
121 |
blacklisted destination |
||
122 |
blacklisted_opc |
||
123 |
blacklisted_prefix |
||
124 |
busysubscriber |
||
125 |
call barred |
UNDELIV |
|
126 |
cancelled |
||
127 |
charged failed |
||
128 |
connection aborted before delivery |
||
129 |
content related error |
||
130 |
context could not be loaded |
||
131 |
controling msc system failure |
||
132 |
could not asn.1 encode a parameter. |
||
133 |
could not decode an asn.1 encoded parameter. |
||
134 |
could not open map dialogue |
||
135 |
credit related message may be being retried |
||
136 |
credit related: message has been retried |
||
137 |
cug_reject |
||
138 |
customer blocked |
||
139 |
data missing |
||
140 |
data not found |
||
141 |
dcs inconsistency |
||
142 |
delivery fail |
REJECTD |
|
143 |
deregistered in hlr for gprs |
||
144 |
deregistered in hlr for non-gprs |
||
145 |
deregistered in the hlr for gprs |
||
146 |
deregistered in the hlr for non-gprs |
||
147 |
dest_address_blacklisted |
||
148 |
destination blocked |
||
149 |
destination blocked by customer |
||
150 |
destination network or country is blocked. |
||
151 |
device unable to receive sms |
||
152 |
dialogue collision |
||
153 |
dialogue queue size exceeded. |
||
154 |
dialogue timed out |
||
155 |
duplicate invoke id |
||
156 |
eir system failure |
||
157 |
equipment memory capacity exceeded |
||
158 |
equipment not sm equiped |
||
159 |
equipment not supported |
||
160 |
equipment protocol error |
||
161 |
error in ms |
||
162 |
error in smt |
||
163 |
esme client error |
||
164 |
exceeded maximum length |
||
165 |
expired |
FAILED |
|
166 |
facility not supported |
||
167 |
failed_to_req_routing_info |
||
168 |
flood protection in multiple identical messages |
||
169 |
format error |
||
170 |
forwardingfailed |
||
171 |
forwardingviolation |
||
172 |
gprs connection suspended |
||
173 |
gprs detached |
||
174 |
handset delivery failure |
||
175 |
handset error |
||
176 |
handset memory exceeded |
||
177 |
hlr error |
||
178 |
hlr failure |
||
179 |
hlr system failure |
ACCEPTD |
|
180 |
illegal character in message body |
||
181 |
illegal equipment |
||
182 |
illegal subscriber |
||
183 |
illegalss-operation |
||
184 |
imsi detached |
||
185 |
imsi_blacklisted |
||
186 |
inappropriate transport message |
||
187 |
incompatibleterminal |
||
188 |
incorrect ie length |
||
189 |
incorrect message length |
||
190 |
incorrect transaction portion |
||
191 |
initiating release |
||
192 |
insufficient credit |
||
193 |
insufficient credits to send message |
||
194 |
internal error code |
||
195 |
internal recoverable system failure |
||
196 |
internal server error |
||
197 |
invalid acct — your number has expire date |
||
198 |
invalid delivery outcome |
||
199 |
invalid destination address |
UNKNOWN |
|
200 |
invalid dialogue id |
||
201 |
invalid input format |
||
202 |
invalid msisdn/destaddr |
||
203 |
invalid parameter |
||
204 |
invalid params |
||
205 |
invalid payload length |
||
206 |
invalid pdu format |
||
207 |
invalid response received |
||
208 |
invalid service id from the request. |
||
209 |
invalid sme address |
||
210 |
invalid source address |
||
211 |
invalid srcaddr |
||
212 |
invalidmscaddress |
||
213 |
invalidpduformat |
||
214 |
invalidsme-address |
||
215 |
invalidtargetbasestation |
||
216 |
linked response unexpected |
||
217 |
local acl deny |
||
218 |
local cancel |
||
219 |
login incorrect |
||
220 |
longtermdenial |
||
221 |
max_attempts_reached |
||
222 |
mb_err_blacklisted_dpc |
||
223 |
mb_err_blacklisted_smsc |
||
224 |
mcef-set |
||
225 |
memory capacity exceeded |
||
226 |
message body error |
||
227 |
message expired within the operator |
||
228 |
message expired, reason unknown |
||
229 |
message too long |
||
230 |
message waiting list full |
||
231 |
missing mandatory ie |
||
232 |
missing parameter |
||
233 |
missing params |
||
234 |
mistyped component |
||
235 |
mnrf-set |
||
236 |
mnrg-set |
||
237 |
mobile number portability and blocking error |
||
238 |
mobile number portability error (client side) |
||
239 |
mobile number portability error (operator side) |
||
240 |
mobile subscriber not reachable |
||
241 |
ms not equipped |
UNKNOWN |
|
242 |
ms protocol error |
||
243 |
ms purged for gprs |
||
244 |
ms purged for non-gprs |
||
245 |
national blacklist |
||
246 |
nc_abnormaleventreceivedfrompeer |
||
247 |
nc_messagecannotbedeliveredtopeer |
||
248 |
nc_provideroutofinvoke |
||
249 |
nc_responserejectedbypeer |
||
250 |
network specific error codes |
||
251 |
network timeout |
||
252 |
nnr_destinationcannotperformreassemblyxudt |
||
253 |
nnr_errorinlocalprocessingxudt |
||
254 |
nnr_errorinmessagetransportxudt |
||
255 |
nnr_hopcounterviolation |
||
256 |
nnr_mtpfailure |
||
257 |
nnr_networkcongestion |
||
258 |
nnr_notranslationforanaddressofsuchnatur |
||
259 |
nnr_notranslationforthisspecificaddress |
||
260 |
nnr_sccpfailure |
||
261 |
nnr_segmentationfailure |
||
262 |
nnr_segmentationnotsupported |
||
263 |
nnr_subsystemcongestion |
||
264 |
nnr_subsystemfailure |
||
265 |
nnr_unequippeduser |
||
266 |
nnr_unqualified |
||
267 |
no free dialogues |
||
268 |
no interworking module available |
||
269 |
no is41 server available |
||
270 |
no mt connection found for short number |
||
271 |
no network response |
||
272 |
no own smh |
||
273 |
no paging response msc |
||
274 |
no paging response via sgsn |
||
275 |
no paging response via the msc |
||
276 |
no paging response via the sgsn |
||
277 |
no response from is41 server |
||
278 |
no response from peer |
||
279 |
no retry allowed |
||
280 |
no route found |
||
281 |
no session with user |
||
282 |
no subscriber reply |
||
283 |
no_response |
||
284 |
no_route_to_destination |
||
285 |
no_route_to_destination_sip |
||
286 |
no_sub_reply |
||
287 |
node not reachable |
||
288 |
nogroupcallnumberavailable |
||
289 |
nohandovernumberavailable |
||
290 |
noradioresourceavailable |
||
291 |
noroam |
||
292 |
nosubscriberreply |
||
293 |
not supported service |
||
294 |
not_prov |
||
295 |
not_supported |
||
296 |
not_supported_service |
||
297 |
numberchanged |
||
298 |
numberofpw-attemptsviolation |
||
299 |
operator barring |
||
300 |
operator network failure |
||
301 |
or_appcontextnotsupported |
||
302 |
or_encapsulatedac_notsupported |
||
303 |
or_invaliddestinationreference |
||
304 |
or_invalidoriginatingreference |
||
305 |
or_potentialversionincompatibility |
||
306 |
or_remotenodenotreachable |
||
307 |
or_transportprotectionnotadequate |
||
308 |
or-notallowed |
||
309 |
pa_abnormalmapdialog |
||
310 |
pa_maintenanceactivity |
||
311 |
pa_providermalfunction |
||
312 |
pa_ressourcelimitation |
||
313 |
pa_supportingdialogortransactionrealeased |
||
314 |
pa_versionincompatibility |
||
315 |
permanent handset error |
||
316 |
permanent operator error |
||
317 |
permanent phone related error |
||
318 |
phone related error |
||
319 |
phone switched off |
||
320 |
phone switched off or phone not reachable |
||
321 |
plmn system failure |
ACCEPTD |
|
322 |
portability error: the message was failed |
||
323 |
positionmethodfailure |
||
324 |
previous vlr system failure |
||
325 |
provider_general_error |
||
326 |
psa connection failed |
||
327 |
pvlr system failure |
||
328 |
radio subsystem system failure |
||
329 |
ref_in_use |
||
330 |
rejected |
||
331 |
rejected — smsc rejected |
||
332 |
relation with is41 server removed |
||
333 |
remote abort |
||
334 |
remote logic deny |
||
335 |
remote logic error |
||
336 |
removed by operator |
||
337 |
removed by sme |
||
338 |
resource limitation |
||
339 |
return error unexpected |
||
340 |
return result unexpected |
||
341 |
roaming error |
||
342 |
roaming level not supported |
||
343 |
roaming restriction |
||
344 |
route error, please contact support |
||
345 |
rtec error |
||
346 |
sc-addressnotincluded |
||
347 |
sc-congestion |
||
348 |
sccp_destination_cannot_perform_reassembly |
||
349 |
sccp_error_in_local_processing |
||
350 |
sccp_error_in_message_transport |
||
351 |
sccp_failure |
||
352 |
sccp_hop_counter_violation |
||
353 |
sccp_mtp_failure |
||
354 |
sccp_network_congestion |
||
355 |
sccp no translation for an address |
||
356 |
sccp_no_translation_for_this_specific_address |
||
357 |
sccp_segmentation_failure |
||
358 |
sccp_segmentation_not_suported |
||
359 |
sccp_subsystem_congestion |
||
360 |
sccp_subsystem_failure |
||
361 |
sccp_unequipped_failure |
||
362 |
sccp_unqualified |
||
363 |
screening error, terminating imsi blocked |
||
364 |
service center congestion |
||
365 |
service completion failure |
||
366 |
service temporary not available |
ACCEPTD |
|
367 |
service_completion_failure |
||
368 |
shorttermdenial |
||
369 |
sm delivery failure |
||
370 |
sm loop prevented |
||
371 |
sm loop prevention |
||
372 |
sm_df_equipmentnotsm_equipped |
||
373 |
sm_df_equipmentprotocolerror |
||
374 |
sm_df_invalidsme_address |
||
375 |
sm_df_memorycapacityexceeded |
||
376 |
sm_df_sc_congestion |
||
377 |
sm_df_subscribernotsc_subscriber |
||
378 |
sm_df_unknownservicecentre |
||
379 |
sm-deliveryfailure |
||
380 |
sms buffered. |
||
381 |
sms discarded |
||
382 |
sms expired. |
||
383 |
sms lower layer capabilities not provisioned |
||
384 |
sms lower layer not provisioned |
||
385 |
sms malformed. sms is not formed correctly |
||
386 |
sms sent, no delivery report received. |
||
387 |
sms submit from smsgw to smsc failure |
||
388 |
sms window exceeded. |
||
389 |
smsc congestion |
||
390 |
smsc failure |
||
391 |
smsc roaming |
||
392 |
ss_err_status |
||
393 |
ss_incompat |
||
394 |
ss_notavail |
||
395 |
ss_subviol |
||
396 |
ss-errorstatus |
||
397 |
ss-incompatibility |
||
398 |
ss-notavailable |
||
399 |
ss-subscriptionviolation |
||
400 |
subscriber absent |
||
401 |
subscriber barred |
||
402 |
subscriber busy |
||
403 |
subscriber busy for mt short message |
||
404 |
subscriber not provisioned |
||
405 |
subscriber not sc subscriber |
||
406 |
subscriber spend limit exceeded |
||
407 |
subscriber unable to be billed |
||
408 |
subscriber unavailable |
||
409 |
subscriber_busy_for_mt_sms |
||
410 |
subscriberlocationreport |
||
411 |
subscribernotsc-subscriber |
||
412 |
subscription failed |
||
413 |
subsequenthandoverfailure |
||
414 |
system failure |
ACCEPTD |
|
415 |
tc user not bound |
||
416 |
tcap error. |
||
417 |
tcap_abort1 (on hlr request) |
||
418 |
tcap_abort2 205 (on forwardsm) |
||
419 |
teleservice not provisioned |
||
420 |
temporary handset error — memory exceeded |
||
421 |
the dialogue has received a map-delimiter error |
||
422 |
the dialogue has received a map-service-request |
||
423 |
the end user belongs to a network operator |
||
424 |
the end user does not exist |
||
425 |
the end user has insufficient funds |
||
426 |
the end user is blocked |
||
427 |
the end user is not allowed to purchase premium |
||
428 |
the recipient has no credit |
||
429 |
the subscription period is expired |
||
430 |
throttling error |
||
431 |
time_out |
||
432 |
timeout waiting for response from peer. |
||
433 |
timer_exp |
||
434 |
tracingbufferfull |
||
435 |
ua_applicationprocedurecancellation |
||
436 |
ua_resourceunavailable |
||
437 |
ua_userresourcelimitation |
||
438 |
ua_userspecificreason |
||
439 |
umo (unauthorised message originator) |
||
440 |
umo with barring service active |
||
441 |
umo with operator barring |
||
442 |
unable to find outbound route for this sms. |
||
443 |
unauthorizedlcsclient |
||
444 |
unauthorizedrequestingnetwork |
||
445 |
unexp_tcap_msg |
||
446 |
unexpected data value |
||
447 |
unexpected data value (in idi message) |
||
448 |
unexpected data value (in internal message) |
||
449 |
unexpected data value |
||
450 |
unexpected error |
||
451 |
unexpected linked operation |
||
452 |
unexpected response from peer |
||
453 |
unexpected_response_from_peer |
||
454 |
unidentified subscriber via msc |
||
455 |
unidentified subscriber via sgsn |
||
456 |
unidentified subscriber via the msc |
||
457 |
unidentified subscriber via the sgsn |
||
458 |
unidentified subscriber |
||
459 |
unidentifiedsubscriber |
||
460 |
unknown alphabet |
||
461 |
unknown equipment |
||
462 |
unknown error |
FAILED |
|
463 |
unknown operator |
||
464 |
unknown service center |
||
465 |
unknown subscriber |
UNKNOWN |
|
466 |
unknown subscriber (gprs subscription unknown) |
||
467 |
unknown subscriber (imsi unknown) |
||
468 |
unknown subscriber (recipient address problem) |
||
469 |
unknownbasestation |
||
470 |
unknownmsc |
||
471 |
unknownorunreachablelcsclient |
||
472 |
unrecognized component |
||
473 |
unrecognized error |
||
474 |
unrecognized invoke id |
||
475 |
unrecognized message type |
||
476 |
unrecognized operation |
||
477 |
unrecognized transaction id |
||
478 |
ussd busy |
||
479 |
validityexpired |
||
480 |
vlr system failure |
FAILED |
|
481 |
vmsc system failure |
||
482 |
vp exceeded |
||
483 |
bind failed |
||
484 |
cannot submit to DL (Distribution list) |
||
485 |
command length is invalid |
||
486 |
destination flag is invalid (sm_multi) |
||
487 |
error in address service centre |
||
488 |
incorrect bind status |
||
489 |
message queue full |
||
490 |
mNP other operator not allowed |
||
491 |
param Retrieve Failed |
||
492 |
predefined Message Not Found |
||
493 |
protocol error. Error in data communication |
||
494 |
query SM Failed |
||
495 |
replace SM failed |
||
496 |
retry queue. Delivery retry |
||
497 |
sMS blocked due to unauthorised content |
||
498 |
submit SM/Multi failed |
||
499 |
submit w/replace invalid |
||
500 |
subscriber temp. unreachable while roaming |
||
501 |
unable to convert to IA5 ALPHABET |
||
502 |
unable to Unpack GSM message |
Error-Code |
Description |
Permanent |
Status |
0 |
Successfully delivered. |
Y |
DELIVERED |
3 |
SMSC did not return a status for this delivery |
UNKNOWN |
|
4 |
SMSC refused the message. |
Y |
REJECTED |
Message delivery expired. |
Y |
EXPIRED |
|
SMSC was not able to deliver the message. |
Y |
UNDELIVERABLE |
Command Status
Command Status as defined in [SMPP] (5.1.3).
Please note that SMPP protocol Command Status Error Codes below are specified as
hexadecimal numbers. Remember to do appropriate conversion before checking on results returned by SMSC
through library functions.
Value | Description |
---|---|
0x00000000 | No Error |
0x00000001 | Message Length is invalid |
0x00000002 | Command Length is invalid |
0x00000003 | Invalid Command ID |
0x00000004 | Incorrect BIND Status for given command |
0x00000005 | ESME Already in Bound State |
0x00000006 | Invalid Priority Flag |
0x00000007 | Invalid Registered Delivery Flag |
0x00000008 | System Error |
0x00000009 | Reserved |
0x0000000A | Invalid Source Address |
0x0000000B | Invalid Destination Address |
0x0000000C | Message ID is invalid |
0x0000000D | Bind Failed |
0x0000000E | Invalid Password |
0x0000000F | Invalid System ID |
0x00000010 | Reserved |
0x00000011 | Cancel SM Failed |
0x00000012 | Reserved |
0x00000013 | Replace SM Failed |
0x00000014 | Message Queue Full |
0x00000015 | Invalid Service Type |
0x00000016- 0x00000032 |
Reserved |
0x00000033 | Invalid number of destinations |
0x00000034 | Invalid Distribution List name |
0x00000035- 0x0000003F |
Reserved |
0x00000040 | Destination flag is invalid (submit_multi) |
0x00000041 | Reserved |
0x00000042 | Invalid ‘submit with replace’ request (e.g. submit_sm with replace_if_present_flag set) |
0x00000043 | Invalid esm_class field data |
0x00000044 | Cannot Submit to Distribution List |
0x00000045 | submit_sm or submit_multi failed |
0x00000046- 0x00000047 |
Reserved |
0x00000048 | Invalid Source address TON |
0x00000049 | Invalid Source address NPI |
0x00000050 | Invalid Destination address TON |
0x00000051 | Invalid Destination address NPI |
0x00000052 | Reserved |
0x00000053 | Invalid system_type field |
0x00000054 | Invalid replace_if_present flag |
0x00000055 | Invalid number of messages |
0x00000056- 0x00000057 |
Reserved |
0x00000058 | Throttling error (ESME has exceeded allowed message limits) |
0x00000059- 0x00000060 |
Reserved |
0x00000061 | Invalid Scheduled Delivery Time |
0x00000062 | Invalid message validity period (Expiry time) |
0x00000063 | Predefined Message Invalid or Not Found |
0x00000064 | ESME Receiver Temporary App Error Code |
0x00000065 | ESME Receiver Permanent App Error Code |
0x00000066 | ESME Receiver Reject Message Error Code |
0x00000067 | query_sm request failed |
0x00000068- 0x000000BF |
Reserved |
0x000000C0 | Error in the optional part of the PDU Body |
0x000000C1 | Optional Parameter not allowed |
0x000000C2 | Invalid Parameter Length. |
0x000000C3 | Expected Optional Parameter missing |
0x000000C4 | Invalid Optional Parameter Value |
0x000000C5- 0x000000FD |
Reserved |
0x000000FE | Delivery Failure (used for data_sm_resp) |
0x000000FF | Unknown Error |
0x00000100- 0x000003FF |
Reserved for SMPP extension |
0x00000400- 0x000004FF |
Reserved for SMSC vendor specific errors |
0x00000500- 0xFFFFFFFF |
Reserved |
Message State
Message State as defined in [SMPP] (5.2.28).
Value | Description |
---|---|
1 | The message is in «en route» state |
2 | Message is delivered to destination |
3 | Message validity period has expired |
4 | Message has been deleted |
5 | Message is undeliverable |
6 | Message is in accepted state (e.g. has been manually read on behalf of the subscriber by customer service) |
7 | Message is in invalid state |
8 | Message is in a rejected state |
Network Error Code
Network Error Code as defined in [SMPP] (5.3.2.31).
The Network Error Code parameter is used to indicate the actual network error code for a delivery failure. The network
error code is technology specific. It’s a 3 Octet String which consists of 2 sub fields: Network Type (1 Integer) and
Error Code (2 Integer). The first octet indicates the network type. The following values are defined: 1 = ANSI-136, 2
= IS-95, 3 = GSM, 4 = Reserved. All other values reserved. The remaining two octets specify the actual network error
code appropriate to the network type.
These error codes are returned with submit_sms_resp PDUs. They indicate either an issue with the format or structure of your request, or an issue with delivery to the mobile phone.
As well as these pre-defined SMPP error codes, there are OpenMarket-Specific SMPP Error Codes. We use these to better indicate what may have caused the request to fail. We may also provide further information as to why a message request failed in TLV 0x2153. This TLV provides the most accurate information about why a message may have failed. For a list of the codes returned by TLV 0x2153, see TLVs returned in responses and delivery receipts.
Search for a code or on any other text:
Hex value |
Decimal |
Description |
Possible solution |
---|---|---|---|
0x00000000 |
0 |
No Error |
|
0x00000001 |
1 |
Message length is invalid |
Max 140 octets; 160 chars in uncompressed default character encoding. |
0x00000002 |
2 |
Command length is invalid |
|
0x00000003 |
3 |
Invalid Command ID |
|
0x00000004 |
4 |
Incorrect BIND Status for given command |
You must bind first before any other request is handled. |
0x00000005 |
5 |
ESME Already in Bound State |
Do not send bind requests when already bound. |
0x00000006 |
6 |
Invalid Priority Flag |
|
0x00000007 |
7 |
Invalid Registered Delivery Flag |
|
0x00000008 |
8 |
System Error |
|
0x00000009 |
Reserved |
||
0x0000000A |
10 |
Invalid Source Address |
|
0x0000000B |
11 |
Invalid Dest Addr |
Invalid length; the length was greater than 3 && less than 17, invalid international format. |
0x0000000C |
12 |
Message ID is invalid |
|
0x0000000D |
13 |
Bind Failed |
|
0x0000000E |
14 |
Invalid Password |
|
0x0000000F |
15 |
Invalid System ID |
|
0x00000010 |
16 |
Reserved |
|
0x00000011 |
17 |
Cancel SM Failed |
|
0x00000012 |
Reserved |
||
0x00000013 |
19 |
Replace SM Failed |
|
0x00000014 |
20 |
Message Queue Full |
|
0x00000015 |
21 |
Invalid Service Type |
Set to NULL |
0x00000016 |
Reserved thru -0x00000032 |
||
0x00000033 |
51 |
Invalid number of destinations |
|
0x00000034 |
52 |
Invalid Distribution List name |
|
0x00000035 |
53 |
Reserved thru -0x0000003F |
|
0x00000040 |
64 |
Destination flag is invalid (submit_multi) |
|
0x00000041 |
Reserved |
||
0x00000042 |
66 |
Invalid submit with replace request; submit_sm with replace_if_present_flag set |
|
0x00000043 |
67 |
Invalid esm_class field data |
|
0x00000044 |
68 |
Cannot Submit to Distribution List |
|
0x00000045 |
69 |
submit_sm or submit_multi failed |
|
0x00000046 |
Reserved thru -0x00000047 |
||
0x00000048 |
72 |
Invalid Source address TON |
Accepts International, Network, or Alphanumeric; values of 0x01, 0x03, and 0x05. |
0x00000049 |
73 |
Invalid Source address NPI |
Set to null for default value or 0x01 for ISDN numbering plan indicator. |
0x00000050 |
80 |
Invalid Destination address TON |
Accepts either Unknown Or International; values: 0x00 and 0x01. |
0x00000051 |
81 |
Invalid Destination address NPI |
Accepts either Unknown Or ISDN E163/E164: values: 0x00 and 0x01. |
0x00000052 |
Reserved |
||
0x00000053 |
83 |
Invalid system_type field |
|
0x00000054 |
84 |
Invalid replace_if_present flag. |
|
0x00000055 |
85 |
Invalid number of messages |
|
0x00000056 |
Reserved thru -0x00000057 |
||
0x00000058 |
88 |
Throttling error; ESME has exceeded allowed message limits. |
|
0x00000059 |
89 |
Reserved thru -0x00000060 |
|
0x00000061 |
97 |
Invalid Scheduled Delivery Time |
|
0x00000062 |
98 |
Invalid message validity period (Expiry time). |
|
0x00000063 |
99 |
Predefined Message Invalid or Not Found |
Does not support canned messages; set to NULL. |
0x00000064 |
100 |
ESME Receiver Temporary App Error Code |
|
0x00000065 |
101 |
ESME Receiver Permanent App Error Code |
|
0x00000066 |
102 |
ESME Receiver Reject Message Error Code |
|
0x00000067 |
103 |
query_sm request failed |
|
0x00000068 |
104 |
Reserved thru -0x000000BF |
|
0x000000C0 |
192 |
Error in the optional part of the PDU Body |
|
0x000000C1 |
193 |
Optional Parameter not allowed |
|
0x000000C2 |
194 |
Invalid Parameter Length |
|
0x000000C3 |
195 |
Expected Optional Parameter missing. |
|
0x000000C4 |
196 |
Invalid Optional Parameter Value |
This error occurs when an optional value parameter retrieve fails; this not normal behavior. |
0x000000C5-0x000000FD |
|||
0x000000FE |
245 |
Delivery Failure, used for data_sm_resp |
|
0x000000FF |
255 |
Unknown Error |
|
0x00000100 |
Reserved for SMPP extension thru -0x000003FF |
The SMPP error status codes are returned by an SMPP server (SMSC) when an SMS cannot be sent.
The SMSC will also set one of these error status codes when a command or PDU is invalid.
This list of error status codes is from the SMPP 3.4 specification.
The range from 0x00000100 to 0x000003FF (256 to 1023) is reserved for SMPP extensions.
The range from 0x00000400 to 0x000004FF (1023 to 1279) is reserved for SMSC vendor specific errors.
Error code | Value | Decimal | Description |
ESME_ROK | 0x00000000 | 0 | No Error |
ESME_RINVMSGLEN | 0x00000001 | 1 | Message Length is invalid |
ESME_RINVCMDLEN | 0x00000002 | 2 | Command Length is invalid |
ESME_RINVCMDID | 0x00000003 | 3 | Invalid Command ID |
ESME_RINVBNDSTS | 0x00000004 | 4 | Incorrect BIND Status for given command |
ESME_RALYBND | 0x00000005 | 5 | ESME Already in Bound State |
ESME_RINVPRTFLG | 0x00000006 | 6 | Invalid Priority Flag |
ESME_RINVREGDLVFLG | 0x00000007 | 7 | Invalid Registered Delivery Flag |
ESME_RSYSERR | 0x00000008 | 8 | System Error |
ESME_RINVSRCADR | 0x0000000A | 10 | Invalid Source Address |
ESME_RINVDSTADR | 0x0000000B | 11 | Invalid Destination Address |
ESME_RINVMSGID | 0x0000000C | 12 | Message ID is invalid |
ESME_RBINDFAIL | 0x0000000D | 13 | Bind Failed |
ESME_RINVPASWD | 0x0000000E | 14 | Invalid Password |
ESME_RINVSYSID | 0x0000000F | 15 | Invalid System ID |
ESME_RCANCELFAIL | 0x00000011 | 17 | Cancel SM Failed |
ESME_RREPLACEFAIL | 0x00000013 | 19 | Replace SM Failed |
ESME_RMSGQFUL | 0x00000014 | 20 | Message Queue Full |
ESME_RINVSERTYP | 0x00000015 | 21 | Invalid Service Type |
ESME_RINVNUMDESTS | 0x00000033 | 51 | Invalid number of destinations |
ESME_RINVDLNAME | 0x00000034 | 52 | Invalid Distribution List name |
ESME_RINVDESTFLAG | 0x00000040 | 64 | Destination flag is invalid (submit_multi) |
ESME_RINVSUBREP | 0x00000042 | 66 | Invalid ‘submit with replace’ request (i.e. submit_sm withreplace_if_present_flag set) |
ESME_RINVESMCLASS | 0x00000043 | 67 | Invalid esm_class field data |
ESME_RCNTSUBDL | 0x00000044 | 68 | Cannot Submit to Distribution List |
ESME_RSUBMITFAIL | 0x00000045 | 69 | submit_sm or submit_multi failed |
ESME_RINVSRCTON | 0x00000048 | 72 | Invalid Source address TON |
ESME_RINVSRCNPI | 0x00000049 | 73 | Invalid Source address NPI |
ESME_RINVDSTTON | 0x00000050 | 80 | Invalid Destination address TON |
ESME_RINVDSTNPI | 0x00000051 | 81 | Invalid Destination address NPI |
ESME_RINVSYSTYP | 0x00000053 | 83 | Invalid system_type field |
ESME_RINVREPFLAG | 0x00000054 | 84 | Invalid replace_if_present flag |
ESME_RINVNUMMSGS | 0x00000055 | 85 | Invalid number of messages |
ESME_RTHROTTLED | 0x00000058 | 88 | Throttling error (ESME has exceeded allowed message limits) |
ESME_RINVSCHED | 0x00000061 | 97 | Invalid Scheduled Delivery Time |
ESME_RINVEXPIRY | 0x00000062 | 98 | Invalid message validity period (Expiry time) |
ESME_RINVDFTMSGID | 0x00000063 | 99 | Predefined Message Invalid or Not Found |
ESME_RX_T_APPN | 0x00000064 | 100 | ESME Receiver Temporary App Error Code |
ESME_RX_P_APPN | 0x00000065 | 101 | ESME Receiver Permanent App Error Code |
ESME_RX_R_APPN | 0x00000066 | 102 | ESME Receiver Reject Message Error Code |
ESME_RQUERYFAIL | 0x00000067 | 103 | query_sm request failed |
ESME_RINVOPTPARSTREAM | 0x000000C0 | 192 | Error in the optional part of the PDUBody. |
ESME_ROPTPARNOTALLWD | 0x000000C1 | 193 | Optional Parameter not allowed |
ESME_RINVPARLEN | 0x000000C2 | 194 | Invalid Parameter Length. |
ESME_RMISSINGOPTPARAM | 0x000000C3 | 195 | Expected Optional Parameter missing |
ESME_RINVOPTPARAMVAL | 0x000000C4 | 196 | Invalid Optional Parameter Value |
ESME_RDELIVERYFAILURE | 0x000000FE | 254 | Delivery Failure (used fordata_sm_resp) |
ESME_RUNKNOWNERR | 0x000000FF | 255 | Unknown Error |