Device::Gsm::Pdu(3) User Contributed Perl Documentation Device::Gsm::Pdu(3) NAME Device::Gsm::Pdu - library to manage PDU encoded data for GSM messaging WARNING This is C software, still needs extensive testing and support for custom GSM commands, so use it at your own risk, and without C warranty! Have fun. NOTICE This module is meant to be used internally by C 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) perl v5.38.0 2023-07-25 Device::Gsm::Pdu(3)