Re: user guide
Alexander Malysh <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, Peter Christensen schrieb: > Hi, > > You're right, I probably should check the length before converting from > GSM to latin1 (after all, the 11 char limit is in the GSM charset, not > the latin1). > > SMPP_DEFAULT_CHARSET is not defined in alpha_gsm either, do you want me > to define that (to windows-1252) so that you can use alpha_gsm without > the cp1252 patch, or what was your intentions? Intention was really simply: If you just apply alpa_gsm patch w/o the other one than it just not compile because define is not defined. > > As for replacing @, it IS an ugly hack, but it is a necessary hack, but > ONLY on SMPP gateways, and ONLY when using GSM charset in alphanumeric > addresses (since SMPP uses zero-terminated strings. Although UCP also > uses GSM, it is not a problem as it uses hexadecimals), so I think it is > the right place to do it. I ded consider replacing @ with another > printable character such as $ though, just to show that there should > have been something. After all "[email protected]" would become "ab.c" and the > recipient wouldn't be able to know where the @ ought to have been. how about replacing with '?' then? so at least you will see on handset that there was a char. Thanks, Alex > > > Med venlig hilsen / Best regards > > Peter Christensen > > Developer > ------------------ > Cool Systems ApS > > Tel: +45 2888 1600 > @ : [email protected] > www: www.coolsystems.dk > > > Alexander Malysh wrote: >> Hi, >> >> thanks for patches! >> >> Some notes: >> - please check addr length before any charset converts. Maybe I'm >> wrong there, opinions from others? >> - in a patch alpha_gsm patch your use SMPP_CHARSET that is not defined >> in this patch. Please rename it to something like SMPP_DEFAULT_CHARSET. >> - don't you think that this is a ugly hack to replace '@'? I don't >> think it belongs into smpp module. Opinions from others? >> >> >> >> Thanks, >> Alex >> >> Peter Christensen schrieb: >>> Hi again, >>> >>> I've attached revised versions of the cp1252 patch and the alpha_gsm >>> patch. >>> >>> Changes to cp1252 patch: >>> * Change default character set from ISO-8859-1 to WINDOWS-1252 in >>> user guide >>> >>> Changed to alpha_gsm patch: >>> * Feature is controlled with alt-addr-charset. Possible values are >>> "gsm" or any iconv charset. Default is windows-1252. >>> * convert_addr_from_pdu() now converts FROM alt-addr-charset to >>> windows-1252 and not the other way around (are used for incoming >>> messages) >>> * Added documentation of alt-addr-charset to user guide >>> >>> >>> Just a side note: Kannel rejects messages with alphanumeric addresses >>> longer than 11 characters, which have its origin in the GSM charset. >>> Basically, when default assumed charset is windows-1252 (or >>> previously iso-8859-1), the string "test [test]" is actually still >>> invalid since [ and ] both takes up two septets in the GSM charset. >>> Anyway, since kannel can now be configured to assume utf-8 or >>> whatever, an alphanumeric address could actually be 44 characters >>> long and still be valid (11 greek letters). >>> >>> >>> Med venlig hilsen / Best regards >>> >>> Peter Christensen >>> >>> Developer >>> ------------------ >>> Cool Systems ApS >>> >>> Tel: +45 2888 1600 >>> @ : [email protected] >>> www: www.coolsystems.dk >>> >>> >>> Hillel wrote: >>>> Hi, >>>> >>>> I apologise for not waiting for your response. If you had not >>>> replied I >>>> would have assumed you were not going to submit the patch. >>>> Unfortunately >>>> from previous experience a developer was emailing the list and me >>>> about a >>>> patch, which got people excited, he then never completed it. This >>>> patch is >>>> fortunately exactly at the time I need it and for that I thank you. >>>> I was >>>> hoping you would follow this to completion, but if not then I needed to >>>> know. >>>> >>>> A suggested format: >>>> >>>> sender-charset = <charset> (The charset for the sender address) >>>> >>>> msg-charset = <charset> (The charset for the message) >>>> >>>> With the default current charsets as per Alex's email (sender: >>>> latin1, msg: >>>> gsm) >>>> >>>> Maybe others on the Kannel Devel list have better ideas. >>>> >>>> Rgds >>>> >>>>> -----Original Message----- >>>>> From: Peter Christensen [mailto:[email protected]] >>>>> Sent: 18 January 2006 15:38 >>>>> To: [email protected] >>>>> Cc: Kannel Devel >>>>> Subject: Re: user guide >>>>> >>>>> >>>>> Hi, >>>>> >>>>> Yes, I know that. No need to tell me that three times. But please be >>>>> patient, although I WOULD like to have the work done quickly, I don't >>>>> have an infinite amount of spare time, and some things are more >>>>> urgent. >>>>> I hope that I will have revised patches (including user guide >>>>> documentation) done within this week, but I cannot promise anything. >>>>> >>>>> Btw., any suggestions to what I should call the alpha_gsm option, and >>>>> exactly how it should work? One way would be >>>>> >>>>> addr-charset = <charset> >>>>> >>>>> In this way the user will be able to use practically any charset, but >>>>> the consequence is that GSM charset becomes the default, which >>>>> might not >>>>> be desirable. Alternatively the option could be boolean: >>>>> >>>>> addr-gsm = <boolean> >>>>> >>>>> >>>>> Med venlig hilsen / Best regards >>>>> >>>>> Peter Christensen >>>>> >>>>> Developer >>>>> ------------------ >>>>> Cool Systems ApS >>>>> >>>>> Tel: +45 2888 1600 >>>>> @ : [email protected] >>>>> www: www.coolsystems.dk >>>>> >>>>> >>>>> Hillel wrote: >>>>>> Hi, >>>>>> >>>>>> As per email from Alexander Malysh <[email protected]> >>>>>> Date: Fri, 13 Jan 2006 17:24:01 +0100 >>>>>> From: Alexander Malysh <[email protected]> >>>>>> Subject: Re: please reconsider the +0 you gave the patches >>>>>> >>>>>> Both your patches kannel.smpp.cp1252.diff and >>>>>> kannel.smpp.alpha_gsm.diff.have been accepted with added configurable >>>>>> parameters for the body & source_addr independently. >>>>>> >>>>>> Please when you submit your patch, which I'd like to start >>>>> using, will you >>>>>> send through some details to the user guide on which char set >>>>> corresponds to >>>>>> which configurable option for the body and source independently >>>>>> and what >>>>>> options to set to send the @, pound,Euro and ¡ symbols. >>>>>> >>>>>> Thanks for adding these patches. >>>>>> >>>>>> Rgds >>>>>> >>>>>> >>>>> >>>> >>>> >>>> >>> >>> ------------------------------------------------------------------------ >>> >>> diff -Nru gateway.cp1252/doc/userguide/userguide.xml >>> gateway.alpha_gsm/doc/userguide/userguide.xml >>> --- gateway.cp1252/doc/userguide/userguide.xml 2006-01-18 >>> 17:39:36.000000000 +0100 >>> +++ gateway.alpha_gsm/doc/userguide/userguide.xml 2006-01-18 >>> 17:39:50.000000000 +0100 >>> @@ -3177,6 +3177,17 @@ >>> should be presented for this directive. >>> </entry></row> >>> >>> + <row><entry><literal>alt-addr-charset</literal></entry> >>> + <entry><literal>string</literal></entry> >>> + <entry valign="bottom"> >>> + Defines which character encoding is used for >>> alphanumeric addresses. >>> + When set to <literal>GSM</literal>, addresses are >>> converted into the >>> + GSM 03.38 charset (Since @ is translated into 0x00 which >>> will break >>> + the SMPP PDU, @ are stripped from addresses). If set to >>> another value, >>> + <literal>iconv()</literal> is used. >>> + (Defaults to latin1) >>> + </entry></row> >>> + >>> <row><entry><literal>connection-timeout</literal></entry> >>> <entry><literal>number (seconds)</literal></entry> >>> <entry valign="bottom"> >>> diff -Nru gateway.cp1252/gw/smsc/smsc_smpp.c >>> gateway.alpha_gsm/gw/smsc/smsc_smpp.c >>> --- gateway.cp1252/gw/smsc/smsc_smpp.c 2006-01-18 >>> 17:39:36.000000000 +0100 >>> +++ gateway.alpha_gsm/gw/smsc/smsc_smpp.c 2006-01-18 >>> 17:59:47.000000000 +0100 >>> @@ -158,6 +158,7 @@ >>> int smpp_msg_id_type; /* msg id in C string, hex or decimal */ >>> int autodetect_addr; >>> Octstr *alt_charset; >>> + Octstr *alt_addr_charset; >>> long connection_timeout; >>> long wait_ack; >>> int wait_ack_action; >>> @@ -211,7 +212,7 @@ >>> int enquire_link_interval, int >>> max_pending_submits, int version, int >>> priority, int validity, >>> Octstr *my_number, int smpp_msg_id_type, >>> - int autodetect_addr, Octstr *alt_charset, >>> + int autodetect_addr, Octstr *alt_charset, >>> Octstr *alt_addr_charset, >>> Octstr *service_type, long connection_timeout, >>> long wait_ack, int wait_ack_action) { @@ >>> -250,6 +251,7 @@ >>> smpp->smpp_msg_id_type = smpp_msg_id_type; >>> smpp->autodetect_addr = autodetect_addr; >>> smpp->alt_charset = octstr_duplicate(alt_charset); >>> + smpp->alt_addr_charset = octstr_duplicate(alt_addr_charset); >>> smpp->connection_timeout = connection_timeout; >>> smpp->wait_ack = wait_ack; >>> smpp->wait_ack_action = wait_ack_action; >>> @@ -273,6 +275,7 @@ >>> octstr_destroy(smpp->address_range); >>> octstr_destroy(smpp->my_number); >>> octstr_destroy(smpp->alt_charset); >>> + octstr_destroy(smpp->alt_addr_charset); >>> gw_free(smpp); } } @@ -327,7 +330,7 @@ >>> } >>> >>> >>> -static long convert_addr_from_pdu(Octstr *id, Octstr *addr, long >>> ton, long npi) >>> +static long convert_addr_from_pdu(Octstr *id, Octstr *addr, long >>> ton, long npi, Octstr *alt_addr_charset) >>> { >>> long reason = SMPP_ESME_ROK; >>> @@ -372,6 +375,15 @@ >>> >>> break; >>> case GSM_ADDR_TON_ALPHANUMERIC: >>> + if (alt_addr_charset) { >>> + if (octstr_str_case_compare(alt_addr_charset, "gsm") == 0) >>> + charset_gsm_to_latin1(addr); >>> + else { >>> + if (charset_convert(addr, >>> octstr_get_cstr(alt_addr_charset), SMPP_CHARSET) != 0) >>> + error(0, "Failed to convert address from charset >>> <%s> to <%s>, will send as is.", >>> + octstr_get_cstr(alt_addr_charset), >>> SMPP_CHARSET); >>> + } >>> + } >>> if (octstr_len(addr) > 11) { >>> /* alphanum sender, max. allowed length is 11 (according >>> to GSM specs) */ >>> error(0, "SMPP[%s]: Mallformed addr `%s', alphanum >>> length greater 11 chars. ", >>> @@ -416,7 +428,7 @@ >>> ton = pdu->u.deliver_sm.source_addr_ton; >>> npi = pdu->u.deliver_sm.source_addr_npi; >>> /* check source addr */ >>> - if ((*reason = convert_addr_from_pdu(smpp->conn->id, >>> pdu->u.deliver_sm.source_addr, ton, npi)) != SMPP_ESME_ROK) >>> + if ((*reason = convert_addr_from_pdu(smpp->conn->id, >>> pdu->u.deliver_sm.source_addr, ton, npi, smpp->alt_addr_charset)) != >>> SMPP_ESME_ROK) >>> goto error; >>> msg->sms.sender = pdu->u.deliver_sm.source_addr; >>> pdu->u.deliver_sm.source_addr = NULL; >>> @@ -437,7 +449,7 @@ >>> ton = pdu->u.deliver_sm.dest_addr_ton; >>> npi = pdu->u.deliver_sm.dest_addr_npi; >>> /* check destination addr */ >>> - if ((*reason = convert_addr_from_pdu(smpp->conn->id, >>> pdu->u.deliver_sm.destination_addr, ton, npi)) != SMPP_ESME_ROK) >>> + if ((*reason = convert_addr_from_pdu(smpp->conn->id, >>> pdu->u.deliver_sm.destination_addr, ton, npi, >>> smpp->alt_addr_charset)) != SMPP_ESME_ROK) >>> goto error; >>> msg->sms.receiver = pdu->u.deliver_sm.destination_addr; >>> pdu->u.deliver_sm.destination_addr = NULL; >>> @@ -576,7 +588,7 @@ >>> ton = pdu->u.data_sm.source_addr_ton; >>> npi = pdu->u.data_sm.source_addr_npi; >>> /* check source addr */ >>> - if ((*reason = convert_addr_from_pdu(smpp->conn->id, >>> pdu->u.data_sm.source_addr, ton, npi)) != SMPP_ESME_ROK) >>> + if ((*reason = convert_addr_from_pdu(smpp->conn->id, >>> pdu->u.data_sm.source_addr, ton, npi, smpp->alt_addr_charset)) != >>> SMPP_ESME_ROK) >>> goto error; >>> msg->sms.sender = pdu->u.data_sm.source_addr; >>> pdu->u.data_sm.source_addr = NULL; >>> @@ -597,7 +609,7 @@ >>> ton = pdu->u.data_sm.dest_addr_ton; >>> npi = pdu->u.data_sm.dest_addr_npi; >>> /* check destination addr */ >>> - if ((*reason = convert_addr_from_pdu(smpp->conn->id, >>> pdu->u.data_sm.destination_addr, ton, npi)) != SMPP_ESME_ROK) >>> + if ((*reason = convert_addr_from_pdu(smpp->conn->id, >>> pdu->u.data_sm.destination_addr, ton, npi, smpp->alt_addr_charset)) >>> != SMPP_ESME_ROK) >>> goto error; >>> msg->sms.receiver = pdu->u.data_sm.destination_addr; >>> pdu->u.data_sm.destination_addr = NULL; >>> @@ -749,6 +761,15 @@ >>> if (!octstr_check_range(pdu->u.submit_sm.source_addr, 1, >>> 256, gw_isdigit)) { >>> pdu->u.submit_sm.source_addr_ton = >>> GSM_ADDR_TON_ALPHANUMERIC; /* alphanum */ >>> pdu->u.submit_sm.source_addr_npi = >>> GSM_ADDR_NPI_UNKNOWN; /* short code */ >>> + if (smpp->alt_addr_charset) { >>> + if >>> (octstr_str_case_compare(smpp->alt_addr_charset, "gsm") == 0) { >>> + octstr_replace(pdu->u.submit_sm.source_addr, >>> octstr_imm("@"), octstr_imm("")); /* @ would break PDU if converted >>> into GSM*/ >>> + >>> charset_latin1_to_gsm(pdu->u.submit_sm.source_addr); >>> + } >>> + else if >>> (charset_convert(pdu->u.submit_sm.source_addr, SMPP_CHARSET, >>> octstr_get_cstr(smpp->alt_addr_charset)) != 0) >>> + error(0, "Failed to convert source_addr from >>> charset <%s> to <%s>, will send as is.", >>> + SMPP_CHARSET, >>> octstr_get_cstr(smpp->alt_addr_charset)); >>> + } >>> } else { >>> /* numeric sender address with + in front -> >>> international (remove the +) */ >>> octstr_delete(pdu->u.submit_sm.source_addr, 0, 1); >>> @@ -758,6 +779,15 @@ >>> if (!octstr_check_range(pdu->u.submit_sm.source_addr,0, >>> 256, gw_isdigit)) { >>> pdu->u.submit_sm.source_addr_ton = >>> GSM_ADDR_TON_ALPHANUMERIC; >>> pdu->u.submit_sm.source_addr_npi = >>> GSM_ADDR_NPI_UNKNOWN; >>> + if (smpp->alt_addr_charset) { >>> + if >>> (octstr_str_case_compare(smpp->alt_addr_charset, "gsm") == 0) { >>> + octstr_replace(pdu->u.submit_sm.source_addr, >>> octstr_imm("@"), octstr_imm("")); /* @ would break PDU if converted >>> into GSM */ >>> + >>> charset_latin1_to_gsm(pdu->u.submit_sm.source_addr); >>> + } >>> + else if >>> (charset_convert(pdu->u.submit_sm.source_addr, SMPP_CHARSET, >>> octstr_get_cstr(smpp->alt_addr_charset)) != 0) >>> + error(0, "Failed to convert source_addr from >>> charset <%s> to <%s>, will send as is.", >>> + SMPP_CHARSET, >>> octstr_get_cstr(smpp->alt_addr_charset)); >>> + } >>> } >>> } >>> } >>> @@ -1938,9 +1968,10 @@ >>> long smpp_msg_id_type; >>> int autodetect_addr; >>> Octstr *alt_charset; >>> + Octstr *alt_addr_charset; >>> long connection_timeout, wait_ack, wait_ack_action; >>> >>> - my_number = alt_charset = NULL; >>> + my_number = alt_addr_charset = alt_charset = NULL; >>> transceiver_mode = 0; >>> autodetect_addr = 1; >>> @@ -2055,6 +2086,7 @@ >>> >>> /* check for an alternative charset */ >>> alt_charset = cfg_get(grp, octstr_imm("alt-charset")); >>> + alt_addr_charset = cfg_get(grp, octstr_imm("alt-addr-charset")); >>> /* check for connection timeout */ >>> if (cfg_get_integer(&connection_timeout, grp, >>> octstr_imm("connection-timeout")) == -1) >>> @@ -2075,7 +2107,7 @@ >>> source_addr_ton, source_addr_npi, >>> dest_addr_ton, dest_addr_npi, >>> enquire_link_interval, max_pending_submits, >>> version, priority, validity, my_number, - >>> smpp_msg_id_type, autodetect_addr, alt_charset, >>> + smpp_msg_id_type, autodetect_addr, >>> alt_charset, alt_addr_charset, >>> service_type, connection_timeout, wait_ack, >>> wait_ack_action); conn->data = smpp; @@ -2097,6 +2129,7 @@ >>> octstr_destroy(my_number); octstr_destroy(smsc_id); >>> octstr_destroy(alt_charset); + octstr_destroy(alt_addr_charset); >>> octstr_destroy(service_type); >>> >>> conn->status = SMSCCONN_CONNECTING; diff -Nru >>> gateway.cp1252/gwlib/cfg.def gateway.alpha_gsm/gwlib/cfg.def >>> --- gateway.cp1252/gwlib/cfg.def 2006-01-18 17:39:19.000000000 +0100 >>> +++ gateway.alpha_gsm/gwlib/cfg.def 2006-01-18 17:39:50.000000000 >>> +0100 >>> @@ -365,6 +365,7 @@ >>> OCTSTR(denied-prefix-regex) >>> OCTSTR(preferred-prefix-regex) >>> OCTSTR(max-error-count) >>> + OCTSTR(alt-addr-charset) >>> ) >>> >>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> diff -Nru gateway/doc/userguide/userguide.xml >>> gateway.cp1252/doc/userguide/userguide.xml >>> --- gateway/doc/userguide/userguide.xml 2005-12-26 >>> 21:13:39.000000000 +0100 >>> +++ gateway.cp1252/doc/userguide/userguide.xml 2006-01-18 >>> 16:17:16.000000000 +0100 >>> @@ -5183,10 +5183,10 @@ >>> <entry>boolean</entry> >>> <entry valign="bottom"> >>> If enabled, Kannel will try to convert received messages >>> with UCS-2 charset >>> - to ISO-8859-1 or to UTF-8, simplifying external servers jobs. If >>> Kannel is + to WINDOWS-1252 or to UTF-8, simplifying external >>> servers jobs. If Kannel is able to recode message, it will also >>> change <literal>coding</literal> to <literal>7 bits</literal> >>> and <literal>charset</literal> to - <literal>iso-8859-1</literal> >>> or to <literal>utf-8</literal>. + <literal>windows-1252</literal> >>> or to <literal>utf-8</literal>. </entry></row> >>> >>> <row><entry><literal>http-request-retry</literal></entry> >>> @@ -5879,7 +5879,7 @@ >>> message charset: for a "normal" message, it will be "GSM" >>> (coding=0), "binary" (coding=1) or "UTF-16BE" (coding=2). If the >>> message was successfully >>> -recoded from Unicode, it will be "ISO-8859-1" >>> +recoded from Unicode, it will be "WINDOWS-1252" >>> </entry></row> >>> >>> <row><entry><literal>%u</literal></entry><entry> >>> @@ -6912,7 +6912,7 @@ >>> <entry><literal>string</literal></entry> >>> <entry valign="bottom"> >>> Charset of text message. Used to convert to a format >>> suitable for >>> - 7 bits or to UCS-2. Defaults to ISO-8859-1 if coding is 7bits and >>> + 7 bits or to UCS-2. Defaults to WINDOWS-1252 if coding is 7bits and >>> UTF-16BE if coding is UCS-2. >>> </entry></row> >>> >>> diff -Nru gateway/gw/smsbox.c gateway.cp1252/gw/smsbox.c >>> --- gateway/gw/smsbox.c 2005-12-09 03:14:31.000000000 +0100 >>> +++ gateway.cp1252/gw/smsbox.c 2006-01-18 16:12:23.000000000 +0100 >>> @@ -3654,9 +3654,9 @@ >>> >>> if (coding == DC_7BIT) { >>> /* >>> - * For 7 bit, convert to ISO-8859-1 >>> + * For 7 bit, convert to CP1252 >>> */ >>> - if (octstr_recode (octstr_imm ("ISO-8859-1"), charset, body) >>> < 0) { >>> + if (charset_convert (body, octstr_get_cstr(charset), >>> "CP1252") < 0) { >>> resultcode = -1; >>> } >>> } else if (coding == DC_UCS2) { >>> diff -Nru gateway/gw/smsc/smsc_smpp.c gateway.cp1252/gw/smsc/smsc_smpp.c >>> --- gateway/gw/smsc/smsc_smpp.c 2005-12-18 21:21:16.000000000 +0100 >>> +++ gateway.cp1252/gw/smsc/smsc_smpp.c 2006-01-18 >>> 16:12:23.000000000 +0100 >>> @@ -78,6 +78,8 @@ >>> #include "sms.h" >>> #include "dlr.h" >>> >>> +#define SMPP_CHARSET "CP1252" >>> + >>> /* >>> * Select these based on whether you want to dump SMPP PDUs as they are >>> * sent and received or not. Not dumping should be the default in at >>> least >>> @@ -490,9 +492,9 @@ >>> * unless it was specified binary, ie. UDH indicator was >>> detected >>> */ >>> if (smpp->alt_charset && msg->sms.coding != DC_8BIT) { >>> - if (charset_convert(msg->sms.msgdata, >>> octstr_get_cstr(smpp->alt_charset), "ISO-8859-1") != 0) >>> + if (charset_convert(msg->sms.msgdata, >>> octstr_get_cstr(smpp->alt_charset), SMPP_CHARSET) != 0) >>> error(0, "Failed to convert msgdata from charset >>> <%s> to <%s>, will leave as is.", >>> - octstr_get_cstr(smpp->alt_charset), >>> "ISO-8859-1"); >>> + octstr_get_cstr(smpp->alt_charset), >>> SMPP_CHARSET); >>> msg->sms.coding = DC_7BIT; >>> } else { /* assume GSM 03.38 7-bit alphabet */ >>> charset_gsm_to_latin1(msg->sms.msgdata); >>> @@ -640,9 +642,9 @@ >>> * unless it was specified binary, ie. UDH indicator was >>> detected >>> */ >>> if (smpp->alt_charset && msg->sms.coding != DC_8BIT) { >>> - if (charset_convert(msg->sms.msgdata, >>> octstr_get_cstr(smpp->alt_charset), "ISO-8859-1") != 0) >>> + if (charset_convert(msg->sms.msgdata, >>> octstr_get_cstr(smpp->alt_charset), SMPP_CHARSET) != 0) >>> error(0, "Failed to convert msgdata from charset >>> <%s> to <%s>, will leave as is.", >>> - octstr_get_cstr(smpp->alt_charset), >>> "ISO-8859-1"); >>> + octstr_get_cstr(smpp->alt_charset), >>> SMPP_CHARSET); >>> msg->sms.coding = DC_7BIT; >>> } else { /* assume GSM 03.38 7-bit alphabet */ >>> charset_gsm_to_latin1(msg->sms.msgdata); >>> @@ -845,10 +847,10 @@ >>> /* >>> * convert to the given alternative charset >>> */ >>> - if (charset_convert(pdu->u.submit_sm.short_message, >>> "ISO-8859-1", >>> + if (charset_convert(pdu->u.submit_sm.short_message, >>> SMPP_CHARSET, >>> octstr_get_cstr(smpp->alt_charset)) >>> != 0) >>> error(0, "Failed to convert msgdata from charset >>> <%s> to <%s>, will send as is.", >>> - "ISO-8859-1", >>> octstr_get_cstr(smpp->alt_charset)); >>> + SMPP_CHARSET, >>> octstr_get_cstr(smpp->alt_charset)); >>> } >>> } >>> >> >> > >