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>