Device::Gsm::Pdu − library to manage PDU encoded data for GSM messaging
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.
This module is
meant to be used internally by C<Device::Gsm> class,
so you probably do not want to use it directly.
# 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');
"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.
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.
# prints `+39347101010';
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.
# prints `0B919343171010F0'
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.
# prints `0AE832...'
Converts a PDU (without the initial length octet) into a latin1 string.
my $pdu =
# prints `Just another Perl hacker'
Converts a text string in latin1 encoding ( ISO−8859−1 ) into a PDU string.
my $text =
"Just another Perl hacker";
# prints `CAFA9C0E0ABBDF7474590E8296E56C103A3C5E97E5'
Cosimo Streppone, email@example.com
This library is free software; you can redistribute it and/or modify it only under the terms of Perl itself.