Provided by: libdevice-gsm-perl_1.60-1_all bug

NAME

       Device::Gsm::Pdu - library to manage PDU encoded data for GSM messaging

WARNING

          This is C<BETA> software, still needs extensive testing and
          support for custom GSM commands, so use it at your own risk,
          and without C<ANY> warranty! Have fun.

NOTICE

           This module is meant to be used internally by C<Device::Gsm> class,
           so you probably do not want to use it directly.

SYNOPSIS

         use Device::Gsm::Pdu;

         # DA is destination address
         $DA = Device::Gsm::Pdu::encode_address('+39347101010');
         $number = Device::Gsm::Pdu::decode_address( $DA );

         # Encode 7 bit text to send messages
         $text = Device::Gsm::Pdu::encode_text7('hello');

DESCRIPTION

       "Device::Gsm::Pdu" module includes a few basic functions to deal with SMS in PDU mode,
       such as encoding GSM addresses (phone numbers) and, for now only, 7 bit text.

FUNCTIONS

   decode_address( pdu_encoded_address )
       Takes a PDU encoded address and decodes into human-readable mobile number.  If number type
       is international, result will be prepended with a `+' sign.

       Clearly, it is intended as an internal function.

       Example

           print Device::Gsm::Pdu::decode_address( '0B919343171010F0' );
           # prints `+39347101010';

   encode_address( mobile_number )
       Takes a mobile number and encodes it as DA (destination address).  If it begins with a
       `+', as in `+39328101010', it is treated as an international number.

       Example

           print Device::Gsm::Pdu::encode_address( '+39347101010' );
           # prints `0B919343171010F0'

   encode_text7( text_string )
       Encodes some text ASCII string in 7 bits PDU format, including a header byte which tells
       the length is septets. This is the only 100% supported mode to encode text.

       Example

           print Device::Gsm::Pdu::encode_text7( 'hellohello' );
           # prints `0AE832...'

   pdu_to_latin1($pdu)
       Converts a PDU (without the initial length octet) into a latin1 string.

       Example

           my $pdu = 'CAFA9C0E0ABBDF7474590E8296E56C103A3C5E97E5';
           print Device::Gsm::Pdu::pdu_to_latin1($pdu);
           # prints `Just another Perl hacker'

   latin1_to_pdu($text)
       Converts a text string in latin1 encoding (ISO-8859-1) into a PDU string.

       Example

           my $text = "Just another Perl hacker";
           print Device::Gsm::Pdu::latin1_to_pdu($text);
           # prints `CAFA9C0E0ABBDF7474590E8296E56C103A3C5E97E5'

AUTHOR

       Cosimo Streppone, cosimo@cpan.org

COPYRIGHT

       This library is free software; you can redistribute it and/or modify it only under the
       terms of Perl itself.

SEE ALSO

       Device::Gsm(3), perl(1)