The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

NetSDS::Message::SMS - short message according to ETSI GSM 03.40

SYNOPSIS

        use NetSDS::Message::SMS;

        ...

        $msg = NetSDS::Message::SMS->new();
        $msg->udh(conv_hex_str('050102030405');
        $msg->ud('Hello there');

        $msg->coding(COD_7BIT);

        print "SM: " . $msg->message_body();

DESCRIPTION

This class provides API to SMS message data structure.

CLASS API

new() - class constructor

Implements SMS constructor.

    my $object = NetSDS::Message::SMS->new();
coding() - set/get SMS coding

Paramters: new coding to set

Returns: message coding

        $msg->coding(COD_UCS2);
mclass() - set/get message class

Paramters: new message class value

        $msg->mclass(0); # Send as Flash SMS
udh() - set/get UDH

Paramters: UDH as binary string

Returns: UDH

        $msg->udh(conv_hex_str('050102030405');
ud() - set/get user data

Paramters: user data as binary string

Returns: user data

esm_class() - get esm_class from message

See 5.2.12 chapter of SMPP 3.4 specification for details.

        $esm_class = $msg->esm_class();
dcs() - get data coding scheme

Returns data coding schmeme in accordance with ETSI GSM 03.38

        $dcs = $msg->dcs();
message_body() - return SMS message body

Returns: SMS body as byte string (UDH + UD)

        $msg_hex = conv_str_hex($msg->message_body);

EXAMPLES

See samples directory for examples.

BUGS

Unknown yet

SEE ALSO

* ETSI GSM 03.38 - alphabets and language specific information

* ETSI GSM 03.40 - SMS realization on GSM networks

* SMPP Protocol Specification v3.4

TODO

* Implement RPI and message mode support in esm_class()

* Implement MWI support in dcs() method

AUTHOR

Michael Bochkaryov <misha@rattler.kiev.ua>