NAME
GSM::SMS::PDU - Codec for Protocol Data Units.
DESCRIPTION
This module implements 2 PDUs ( Protocol Data Units ) ,SMS-DELIVER and SMS-SUBMIT, as defined in the SM-TL (Short Message Transport Layer ) specifications. These PDUs are defined in the GSM03.40 specification from the ETSI ( www.etsi.org ). These PDUs are sufficient to implement NBS ( Narrow Bandwidth Sockets ). Specification GSM07.05 explains the MMI ( Man Machine Interface ) for the AT+Cellular commands to be able to talk to a GSM modem.
METHODS
use GSM::SMS::PDU;
my $pdu = GSM::SMS::PDU->new();
SMSDeliver
Decode a short message that comes from the SMSC (Short Message Service Center) to the MS (Mobile Station) (SMS-DELIVER). Returns itself as a hash and you can access values the following way:
my $originating_address = $pdu->{'TP-OA'};
SMSSubmit
Encode a short message for sending from the MS to the SMSC (SMS-SUBMIT).
my $encoded = $pdu->SMSSubmit(
$servicecenteraddress,
$phonenumber,
$payload, $datacodingscheme,
$validityperiod,
$userdataincluded );
SMSSubmit_decode
Decode a SMS-SUBMIT PDU.
ISSUES
No real OO design. The NBS part that filters out the port-number in the UD ( User Data ) should be migrated to a higher (abstraction) layer. No support for charsets.
AUTHOR
Johan Van den Brande <johan@vandenbrande.com>