Library to manage pdu encoded data for gsm messaging
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.
This module is meant to be used internally by C<Device::Gsm> class, so you probably do not want to use it directly.
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');
\*(C`Device::Gsm::Pdu\*(C' module includes a few basic functions to deal with \s-1SMS\s0 in \s-1PDU\s0 mode, such as encoding \s-1GSM\s0 addresses (phone numbers) and, for now only, 7 bit text.
Takes a \s-1PDU\s0 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';
Takes a mobile number and encodes it as \s-1DA\s0 (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'
Encodes some text \s-1ASCII\s0 string in 7 bits \s-1PDU\s0 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...'
Converts a \s-1PDU\s0 (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'
Converts a text string in latin1 encoding (\s-1ISO-8859-1\s0) into a \s-1PDU\s0 string.
Example
my $text = "Just another Perl hacker"; print Device::Gsm::Pdu::latin1_to_pdu($text); # prints `CAFA9C0E0ABBDF7474590E8296E56C103A3C5E97E5'
Cosimo Streppone, [email protected]
This library is free software; you can redistribute it and/or modify it only under the terms of Perl itself.
Device::Gsm\|(3), perl\|(1)