Hi Kyriacos,

See my script attached.

This script however only returns question marks to the phone for the greek characters. The script itself echo's out the greek characters perfectly which makes me think it is my kannel setup or something to do with kannel.

Thanks,


Kyriacos Sakkas wrote:
Hi All ,
     I missed the beginning of this threat, where I could have put the
proper solution through some time ago, so here it is (This scenario
should work on all SMPP compliant carriers) - coding is in PHP, nothing
special in kannel config:

If you wish to utilize the gsm-ascii char set (Uppercase Greek only -
160 char per message) then:
define('EL_GAMMA', chr(hexdec('0x13')));
define('EL_DELTA', chr(hexdec('0x10')));
define('EL_THETA', chr(hexdec('0x19')));
define('EL_LAMDA', chr(hexdec('0x14')));
define('EL_XI', chr(hexdec('0x1A')));
define('EL_PI', chr(hexdec('0x16')));
define('EL_SIGMA', chr(hexdec('0x18')));
define('EL_PHI', chr(hexdec('0x12')));
define('EL_PSI', chr(hexdec('0x17')));
define('EL_OMEGA', chr(hexdec('0x15')));

$en2el_table = array(
    $G=>EL_GAMMA,
    $D=>EL_DELTA,
    $U=>EL_THETA,
    $L=>EL_LAMDA,
    $J=>EL_XI,
    $P=>EL_PI,
    $S=>EL_SIGMA,
    $F=>EL_PHI,
    $C=>EL_PSI,
    $V=>EL_OMEGA,
);
function replace_tokens($str, $en2el_table) {
    foreach ($en2el_table as $k=>$v) {
        $str = str_replace($k, $v, $str);
    }
   return $str;
}

$text=replace_tokens($text, $en2el_table);
 And post this text to kannel. The Variables $G-$V should contain the
strings representing the mapped Greek letters in your message, so if you
are using ISO greek or utf they would be  Γ,Δ,..., personally I use
special "tokens" eg %G,%D,....

If you wish to send unicode (70 chars per message):
Just post like this :
 
/cgi-bin/sendsms?smsc=SMSCNAME&username=XXXX&password=XXX&from=XXXXX&charset=utf-8&coding=2&to=".$num."&text=".urlencode($text)."

That is include &charset=utf-8&coding=2 . The $text should be UTF-8.

Hope the above is sufficient.

Regards,
    Kyriacos Sakkas





Joe Perry wrote:
Hi,

I know the handset can accept Greek as it has done previously. The
SMSC I am using is on the Cpriot network Cyta and as this is the main
mobile operator inside of Cyprus I should not imagine there would be
any issues with their setup.

When I add coding=1 into the URL the question marks change to square
boxes instead.

Thanks,


Davor Spasoski wrote:
Aha, then it might be the SMSC or the the handset. Have you tried
another
handset? What SMSC are you connecting to?
I'm using kannel 1.3.1. Last thing I could suggest is to explicitly set
coding=1  in the URL and try another handset.

BR,

Davor Spasoski
-----Original Message-----
From: Joe Perry [mailto:[EMAIL PROTECTED] Sent: Tuesday, January
15, 2008 11:50 AM
To: Davor Spasoski; [email protected]
Subject: Re: Kannel 1.4.1-2 Greek Character Set

Hi,

Tried this and the phone is just returning question marks (??) for
each of the greek characters. I have just installed the latest CVS
(Kannel bearerbox version `cvs-20080109'). My URL is the same as what
you posted also.

Could there be anything else that is effecting this?

Thanks,


Davor Spasoski wrote:
Hi Joe,

Your encoding is wrong. Please use the link I gave you for the encoding
table. Your ΗΕΛΛΟ phrase should be encoded as %48%45%14%14%4F and the
entire
URL should look something like:


http://localhost:4004/cgi-bin/sendms?user=foo&password=bar&from=Joe&to=xxxxx

x&alt-dcs=1&text=%48%45%14%14%4F

Try posting this from your browser and it should work.My advice for
you is
to stick to GSM alphabet and use Greek capital letters because all
handsets
support the GSM alphabet, whereas the complete UTF is much more rarely
supported.

Davor Spasoski
Value Added Services Engineering Group Leader
Core Network & Services Department
Technical Division



Tel: +389 76 411 056; +389 2 2441 056 Mob: + 389 75 400 608
www.cosmofon.com.mk

-----Original Message-----
From: Joe Perry [mailto:[EMAIL PROTECTED] Sent: Monday, January
14, 2008 5:18 PM
To: Davor Spasoski; [email protected]
Subject: Re: Kannel 1.4.1-2 Greek Character Set

Hi Davor and thanks for the response,

I have tried what you have explained but have so far failed to have
much luck.

I am attempting to send the phrase ΗΕΛΛΟ. Through my hex
conversions, the actual body of the message being sent through HTTP
to the smsbox is %CE%97%CE%95%CE%9B%CE%9B%CE%9F.

The phone however is only displaying what appears to be |?|?|?|?|?.

Any idea what might be occuring here?

Thanks,

Davor Spasoski wrote:
Basically, you have two ways of sending Greek alphabet, either
using the
UTF-8 or by using Greek capital which are part of the default GSM
encoding.
If you use the second method, which have the 160 characters per SMS
advantage over UTF-8, try setting alt-dcs=1 that will guarantee
using the
default GSM encoding. Also make sure you actually encode those
characters
properly by using its appropriate hex code
(http://www.visualtron.com/bit_default_alphabet.htm ), not by just
typing
those characters in Windows (UTF-8)

BTW, this works for sure, I tried this.

Davor Spasoski

-----Original Message-----
From: Joe Perry [mailto:[EMAIL PROTECTED] Sent: Monday,
January 14, 2008 1:51 PM
To: [email protected]
Subject: Kannel 1.4.1-2 Greek Character Set

Hi there,

Been reading up on this but still yet to find any fixes that has
successfully worked for me.

I am posting my message (UTF-8) to the smsbox using HTTP, but once
the message reaches the phone certain characters are converted to
strange combinations of characters.

For example, I can send a plain english message perfectly and the
phone will receive it as it should. However, once I start using
greek characters which are inside the default GSM alphabet the
message which is delivered to the phone becomes "corrupt" and
appears not as it perhaps should.

Is there a fix that any of you know to help me with this problem,
or can explain where I am going wrong?

Thanks



COSMOFON - Mobile Telecommunications Services - A.D. Skopje
_______________________________________________________________
This  e-mail  (including   any   attachments) is   confidential
and  may
be protected  by  legal  privilege.  If  you are not the intended
recipient,
you should not copy it, re-transmit it, use  it  or  disclose its
contents,
but should return it to the sender  immediately  and delete  your  copy
from
your system. Any unauthorized  use or dissemination of this message in
whole
or in part is strictly prohibited. Please note that e-mails are
susceptible
to change. COSMOFON A.D. Skopje shall not be liable  for  the
improper or
incomplete transmission of the information contained in this
communication
nor for any delay in its receipt or damage to your system.
COSMOFON - Mobile Telecommunications Services - A.D. Skopje
_______________________________________________________________
This e-mail (including any attachments) is confidential and may
be protected  by  legal  privilege.  If  you are not the intended
recipient,
you should not copy it, re-transmit it, use  it  or  disclose its
contents,
but should return it to the sender immediately and delete your copy from
your system. Any unauthorized  use or dissemination of this message
in whole
or in part is strictly prohibited. Please note that e-mails are
susceptible
to change. COSMOFON A.D. Skopje shall not be liable  for  the
improper or
incomplete transmission of the information contained in this
communication
nor for any delay in its receipt or damage to your system.

COSMOFON - Mobile Telecommunications Services - A.D. Skopje
_______________________________________________________________
This e-mail (including any attachments) is confidential and may be protected by legal privilege. If you are not the intended recipient, you should not copy it, re-transmit it, use it or disclose its contents, but should return it to the sender immediately and delete your copy from your system. Any
unauthorized  use or dissemination of this message in whole or in
part is strictly prohibited. Please note that e-mails are
susceptible to change. COSMOFON A.D. Skopje shall not be liable for the improper or incomplete transmission of the information
contained in this communication nor for any delay in its receipt or
damage to your system.






        function sendSmsMessage($from, $in_phoneNumber, $in_msg)
        {       

                
                define('EL_GAMMA', chr(hexdec('0x13')));
                define('EL_DELTA', chr(hexdec('0x10')));
                define('EL_THETA', chr(hexdec('0x19')));
                define('EL_LAMDA', chr(hexdec('0x14')));
                define('EL_XI', chr(hexdec('0x1A')));
                define('EL_PI', chr(hexdec('0x16')));
                define('EL_SIGMA', chr(hexdec('0x18')));
                define('EL_PHI', chr(hexdec('0x12')));
                define('EL_PSI', chr(hexdec('0x17')));
                define('EL_OMEGA', chr(hexdec('0x15')));
        
                $en2el_table = array(
                    $G=>EL_GAMMA,
                    $D=>EL_DELTA,
                    $U=>EL_THETA,
                    $L=>EL_LAMDA,
                    $J=>EL_XI,
                    $P=>EL_PI,
                    $S=>EL_SIGMA,
                    $F=>EL_PHI,
                    $C=>EL_PSI,
                    $V=>EL_OMEGA,
                );
                function replace_tokens($str, $en2el_table) {
                    foreach ($en2el_table as $k=>$v) {
                        $str = str_replace($k, $v, $str);
                    }
                   return $str;
                }

                $in_msg=replace_tokens($in_msg, $en2el_table);
                
                $kannel_host = 'xxxxxxxxx';
                $kannel_port = 'xxxx';
                $kannel_user = 'operator_A';
                $kannel_password = 'xxxxxxx';
                $url = '/cgi-bin/sendsms?username=' . $kannel_user
                       . '&password=' . $kannel_password
                       . '&coding=0&alt-dcs=1'
                       . "&from=$from&to=00{$in_phoneNumber}"
                       . '&text='.$in_msg;
                
                
                
                $results = file('http://'
                                . $kannel_host . ':'
                                . $kannel_port . $url);

}

Reply via email to