NAME
Device::Gsm::Pdu - library to manage PDU encoded data for GSM messaging
WARNING
This is C<BETA> software, still needs extensive testing and
and without C<ANY> warranty! Have fun.
NOTICE
This module is meant to be used internally by C<Device::Gsm> class,
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
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
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
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'
;
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"
;
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)