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>