qpPeW
@qpPeW
Не люблю рутинную работу...

Как объединить длинное SMS?

Доброго времени суток, имеется проблема с длинными SMS которые поступают на Asterisk.

extensions.conf
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})})
exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLENAME} - ${CALLERID(num)}: ${BASE64_DECODE(${SMS_BASE64})}' >> /var/log/asterisk/sms.txt)
exten => sms,n,Hangup()

sms.txt
2017-07-04 08:42:50 - dongle0 - lifecell: Пакет услуг не начислен из-за низкого баланса. Тариф на звонки - 0,
2017-07-04 08:42:53 - dongle0 - lifecell: 50 грн/мин. Чтобы получить пакет услуг на 30 дней, достаточно попол
2017-07-04 08:42:55 - dongle0 - lifecell: нить счет. Детали: *111# и *121#.

Выходит 3 отдельных SMS, но по факту это 3 куска одной SMS, а вот как их соединить в одну не совсем понятно.
  • Вопрос задан
  • 410 просмотров
Решения вопроса 1
qpPeW
@qpPeW Автор вопроса
Не люблю рутинную работу...
Вопрос решен на уровне PHP.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
whiteodmin
@whiteodmin
Мат.часть. https://ru.wikipedia.org/wiki/SMS
Текст может состоять из алфавитно-цифровых символов. Максимальный размер сообщения в стандарте GSM — 140 байт (1120 бит). Таким образом, при использовании 7-битной кодировки (латинский алфавит и цифры) можно отправлять сообщения длиной до 160 символов. При использовании 8-битной кодировки (немецкий, французский язык) можно отправлять сообщения длиной до 140 символов. Для поддержки других национальных алфавитов (китайского, арабского, русского и др.) используется 2-байтовая (16-битная) кодировка UCS-2. Таким образом, SMS, написанное кириллицей, не может превышать 70 знаков.
Ответ написан
Ваш ответ на вопрос

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

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