Michael Bochkaryov
and 1 contributors

NAME

NetSDS::Util::SMS - routines for SMS data processing

SYNOPSIS

        use NetSDS::Util::SMS;

        # Prepare 400 characters string
        my $long_line = "zuka"x100;

        # Split string to SMS parts
        my @sms = split_text($long_line, COD_7BIT);

DESCRIPTION

NetSDS module contains superclass all other classes should be inherited from.

DESCRIPTION

I hope you can understand what these routines doing.

Few basics:

        EMS
                $hex_sms = ie_melody($iMelody,'');
                $hex_sms = ie_bmp($BMP,'');

EMS Message is composed of several Information Elements preceded by the User Data Header Length (1 byte).

So I used 'non-object' standard: different subroutines producing different IE-Chunks. We can simply concantenate these chunks in one message and precede it with UDHL (and message-splitting elements if our EMS/IE stream don't fit standard 140 bytes.

Resulting stream filled with plain HEX-coded octets. Hexcodes are handy to use and can be easy converted to binary or base64 formats.

There is no something-to-imelody converter. Look for it in my ringtone.pm.

Pictures used as 1-bit Windows BMPs. I said 1-bit, ok?

EXPORTS

ems_essage(...)

$message_str = ems_essage ( ie_stream, text_data )

Produce a EMS message. Sure that ie data + text can not exceed 139 bytes.

ie_melody(...)

$ie_str = ie_melody ( melody )

Produce an iMelody Information Element.

WARNING: Melodies larger than 128 bytes will be CROPPED!

ie_icon32(...)
ie_icon16(...)
ie_picture(...)
ie_bmp(...)
smart_message(...)

@messages = smart_message ( destination_port, user_data )

Produce a Nokia Smart Messages with application port addressing scheme.

smart_push_wap(...)

http://www.devx.com/xml/Article/16754/1954?pf=true http://www.w3.org/TR/wbxml/

smart_bmp(...)
smart_logo(...)

http://www.cisco.com/univercd/cc/td/doc/product/software/ios124/124cg/hmwg_c/mwgfmcc.htm http://users.zipworld.com.au/~rmills/MCCandMNCValues.htm http://www.surfio.de/info/mcc_mnc/mcc_mnc_liste_5.html

MCC MNC Land ISO Vorwahl Netzbetreiber 255 01 Ukraine UA 380 Ukrainian Mobile Comms (UMC) 255 02 Ukraine UA 380 Ukrainian Radio Systems (WellCOM) 255 03 Ukraine UA 380 Kyivstar GSM 255 05 Ukraine UA 380 Golden Telecom LLC 255 06 Ukraine UA 380 Astelit (life:))

smart_card(...)
smart_cli(...)
smart_ringtone(...)
smart_clear(...)

Pure shamanism

siemens_header(...)
siemens_message(...)
siemens(...)

@smses = siemens ( $data [, $name] )

Produce a SEO messages stream. $data can contain MIDI or BMP data. $name looks like old plain filename. Can be omitted.

split_text() - ????????

Paramters: text string (utf-8), SMS coding

Returns: array of SMS hashrefs

This method implements text SMS splitting to send concatenated messages.

EXAMPLES

BUGS

Unknown yet

SEE ALSO

None

TODO

None

AUTHOR

Valentyn Solomko <pere@pere.org.ua>

Michael Bochkaryov <misha@rattler.kiev.ua>

LICENSE

Copyright (C) 2008 Michael Bochkaryov

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA