DLR msgdata in EMI/UCP smsc are not decoded.
When a char with an accent arrives to a DLR like "MSISDN porté"
It will not decode the msg and will result in a non-printable char.
IA5 charset can handle these chars as when we are receiving an MO.
We simply obey the NRC (if needed), then convert it to latin1.

regards

Vincent.

--
Telemaque - 06200 NICE - (FR)
Service Technique/Reseau - NOC 
Developpement SMS/MMS/Kiosques
http://www.telemaque.fr/
[EMAIL PROTECTED]
Tel : +33 4 93 97 71 64 (fax 68)
diff -rau /gateway-cvs/gw/smsc/smsc_emi.c /gateway/gw/smsc/smsc_emi.c
--- /gateway-cvs/gw/smsc/smsc_emi.c     2006-04-07 14:54:06.000000000 +0200
+++ /gateway/gw/smsc/smsc_emi.c 2006-08-18 12:21:18.000000000 +0200
@@ -866,6 +872,12 @@
            else
                msg->sms.msgdata = octstr_duplicate(emimsg->fields[E50_AMSG]);
            octstr_hex_to_binary(msg->sms.msgdata);
+
+            /* obey the NRC (national replacement codes) */
+            if (privdata->alt_charset == EMI_NRC_ISO_21)
+                charset_nrc_iso_21_german_to_gsm(msg->sms.msgdata);
+
+            charset_gsm_to_latin1(msg->sms.msgdata);
            bb_smscconn_receive(conn, msg);
        }
        reply = emimsg_create_reply(53, emimsg->trn, 1, privdata->name);

Reply via email to