pitarda: I am using version 3.1.21 and without this new sed eventhandler, emojis were like garbled text that broke my php part after saving to database. I was (still am) using php eventhandler.
Now I use this new sed and after I fix received sms with iconv, I call may php eventhandler, that does the rest of processing before saving to database. So far, emojis are showing as they should.
One of posts from keke was saying about version 3.1.22 (late year 2017) that should fix some of these issues, but probably keke is too busy to upgrade version. Anyway, great job from keke!
|
pitarda: Nevermind,... found this one that does the job this post
#!/bin/bash
if [ "$1" == "RECEIVED" ]; then
if sed -e '/^$/ q' < "$2" | grep "^Alphabet: UCS2" > /dev/null; then
TMPFILE=`mktemp /tmp/smsd_XXXXXX`
sed -e '/^$/ q' < "$2" | sed -e 's/Alphabet: UCS2/Alphabet: UTF-8/g' > $TMPFILE
sed -e '1,/^$/ d' < "$2" | iconv -f UTF-16BE -t UTF-8 >> $TMPFILE
mv $TMPFILE "$2"
fi
fi
|
pitarda: Have you found solution to this? I have the same problem.
I would like to try this patch (it should be released with version 3.1.22) - but there is still only 3.1.21 available for download.
|
pitarda: SOLVED!!
I've been trying all variants of settings
incoming_utf8 = yes
decode_unicode_text = yes
cs_convert = yes
Alphabet,...
The solution to my problem was:
global setting incoming_utf8 = yes
and modem setting decode_unicode_text = yes
Now it works perfectly,... including saving log with eventhandler to SQLite.
|
pitarda: Operating system name and version: Debian 9 Stretch
Version of smsd: 3.1.21
Smsd installed from: sources
Name and model of a modem / phone: Huawei E169
Interface: USB
Hi.
I am facing a problem when receiving SMS with letters Ä, Å¡ or ž. If I send SMS that contains Ä,Å¡, ž,.. (from cli using sendsms) SMS is sent correctly,...
On receiving,... for example if SMS contains word Želimlje, file contains:
From: 123456789
From_TOA: 91 international, ISDN/telephone
From_SMSC: 12345678
Sent: 18-06-15 08:35:05
Received: 18-06-15 08:35:08
Subject: GSM1
Modem: GSM1
IMSI: 293413330272222
IMEI: 359632315299322
Report: no
Alphabet: UCS2
Length: 8
^A}^@e^@l^@i^@m^@l^@j^@e
Log file shows (using eventhandler):
2018-06-15 09:08:26,6, GSM1: Modem is registered to the network
2018-06-15 09:08:26,6, GSM1: Selecting PDU mode
2018-06-15 09:08:26,7, GSM1: -> AT+CMGF=0
2018-06-15 09:08:26,7, GSM1: Command is sent, waiting for the answer. (5)
2018-06-15 09:08:26,7, GSM1: <- OK
2018-06-15 09:08:26,6, GSM1: Checking memory size
2018-06-15 09:08:26,7, GSM1: -> AT+CPMS?
2018-06-15 09:08:26,7, GSM1: Command is sent, waiting for the answer. (5)
2018-06-15 09:08:26,7, GSM1: <- +CPMS: "SM",1,50,"SM",1,50,"SM",1,50 OK
2018-06-15 09:08:26,6, GSM1: Used memory is 1 of 50
2018-06-15 09:08:26,6, GSM1: Trying to get stored message 0
2018-06-15 09:08:26,7, GSM1: -> AT+CMGR=0
2018-06-15 09:08:26,7, GSM1: Command is sent, waiting for the answer. (5)
2018-06-15 09:08:26,7, GSM1: <- +CMGR: 0,,35 07918346011033F6040B918346610023F600088160519080918010017D0065006C0069006D006C006A0065 OK
2018-06-15 09:08:26,5, GSM1: SMS received, From: 12345678
2018-06-15 09:08:26,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.p1M9tc
2018-06-15 09:08:26,7, GSM1: Running eventhandler: /var/spool/sms/sms_eventhandler.php RECEIVED /var/spool/sms/incoming/GSM1.p1M9tc
2018-06-15 09:08:26,7, GSM1: Done: eventhandler, execution time 0 sec., status: 0 (0)
2018-06-15 09:08:26,3, GSM1: Exec: eventhandler said something:
2018-06-15 09:08:26,3, GSM1: !
2018-06-15 09:08:26,3, GSM1: ! sms_type:RECEIVED
2018-06-15 09:08:26,3, GSM1: ! From: 12345678
2018-06-15 09:08:26,3, GSM1: ! From_TOA: 91 international, ISDN/telephone
2018-06-15 09:08:26,3, GSM1: ! From_SMSC: 12345678
2018-06-15 09:08:26,3, GSM1: ! Sent: 18-06-15 09:08:19
2018-06-15 09:08:26,3, GSM1: ! Received: 18-06-15 09:08:26
2018-06-15 09:08:26,3, GSM1: ! Subject: GSM1
2018-06-15 09:08:26,3, GSM1: ! Modem: GSM1
2018-06-15 09:08:26,3, GSM1: ! IMSI: 11111
2018-06-15 09:08:26,3, GSM1: ! IMEI: 11111
2018-06-15 09:08:26,3, GSM1: ! Report: no
2018-06-15 09:08:26,3, GSM1: ! Alphabet: UCS2
2018-06-15 09:08:26,3, GSM1: ! Length: 8
2018-06-15 09:08:26,3, GSM1: !
2018-06-15 09:08:26,3, GSM1: ! ^A}
If I try to convert PDU, text is OK.
My smsd.conf file:
devices = GSM1
logfile = /var/log/smsd.log
loglevel = 7
[GSM1]
device = /dev/ttyUSB0
incoming = yes
eventhandler = /var/spool/sms/sms_eventhandler.php
report=yes
memory_start=0
#pin = 1111
My locale on Debian is:
locale
LANG=sl_SI.UTF-8
LANGUAGE=
LC_CTYPE="sl_SI.UTF-8"
LC_NUMERIC="sl_SI.UTF-8"
LC_TIME="sl_SI.UTF-8"
LC_COLLATE="sl_SI.UTF-8"
LC_MONETARY="sl_SI.UTF-8"
LC_MESSAGES="sl_SI.UTF-8"
LC_PAPER="sl_SI.UTF-8"
LC_NAME="sl_SI.UTF-8"
LC_ADDRESS="sl_SI.UTF-8"
LC_TELEPHONE="sl_SI.UTF-8"
LC_MEASUREMENT="sl_SI.UTF-8"
LC_IDENTIFICATION="sl_SI.UTF-8"
LC_ALL=
|