@SteepNET

Отправка смс через шлюз Yeastar кириллицей?

Добрый день! Пытаюсь отправлять смс через php скрипт ,все успешно!
Но смс кириллицей отправляет только 70 символов, их как то нужно склеивать, для этого нужно конвертировать в PDU формат насколько я знаю, но ничего не выходит ,может ли кто то поделится опытом?
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Передавать кириллицу надо в кодировке UCS-2 (UCS-2BE). Также надо в первые 6 байт (3 символа) поместить в UDH (User Data Header) информацию о склейке. Это такие байты:

05 00 03 xx yy zz

Тут:
xx - уникальный идентификатор (можно выбирать случайное число от 0 до 255).
yy - общее количество сегментов (n)
zz - номер сегмента (1...n)

Также обычно где-то надо передать data_coding сообщения и признак наличия склейки и/или UDH в теле сообщения (в SMPP, например, для этого используется бит 0x40 в esm_class). С Yeastar не сталкивался, не знаю, как конкретно там это устроено.

Из-за наличия UDH в теле сообщения максимальная длина сегмента уменьшается на 3 символа и ограничена 67 символов.

См. также
https://en.wikipedia.org/wiki/Concatenated_SMS
https://en.wikipedia.org/wiki/User_Data_Header
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы