As you suggested Oded I simply need not perform the gsm_to_latin1
translation (but also remove trailing null character). 

To impliment this sensibly I was hoping the data_coding would be set to
something other than 0x00 - SMSC default alphabet. Unfortunately this is
not the case which would suggest I need another configurable parameter
to state what the SMSC default  data_coding is ... ie: extra smsc config
directive would look something like default_aphabet = 0x03. 

Corresponding translation can be implimented in smsc_smpp.c, pdu_to_msg
- although parsing the smpp structure would also be required. 

I also noted a tread started about whether or not payload translation
should be done at bearerbox level - is there any work being done on
this? 

Cheers,
Alan

Index: gw/smsc/smsc_smpp.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_smpp.c,v
retrieving revision 1.14
diff -r1.14 smsc_smpp.c
239c239,244
<     charset_gsm_to_latin1(msg->sms.msgdata); 
---
> 
>     if (  pdu->u.deliver_sm.data_coding == 0x00 )
>       octstr_truncate(msg->sms.msgdata, octstr_len(msg->sms.msgdata) -
1);
>     else
>       charset_gsm_to_latin1(msg->sms.msgdata); 
>


On Wed, 2002-10-23 at 08:42, Alan McNatty wrote:
> > Yep - the logic as you described it seems to be how Kannel 
> handles things. I have not had a chance to recieve unicode data
through an SMPP SMSC, but that would seem to be problematic. we don't
need to transcode from UCS2, as Kannel should send unicode text as UCS2
to the application (as all other drivers do), we simply should not use
gsm_to_latin1 on UCS2 encoded message as that can mangle some
characters.


Reply via email to