The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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...'

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)