NAME
    GSM::SMS - Perl Modules For Smart Messaging

INTRODUCTION
    This set of modules allows you to send and receive SMS messages. Besides
    text messages you can also use Smart Messages, also known as ringing
    tones, groupgraphics, vcards etc...

    Out of the box, it comes with a serial transport and a transport for
    Novelsoft, a HTTP based SMSC (http://www.sms-wap.com ). To use the
    serial transport you will need a GSM modem, like the wavecom WMOD2B (
    http://www.wavecom.com ). If you want to receive SMS messages, the
    serial solution is the only one for the moment.

    Some mobile phones (e.g. Nokie 6110) will install a custom serial friver
    for you on the Windows platform. Please follow the guidelines for your
    GSM support software.

    You can do the same on linux using the AT command emaulator from the
    gnokii project (the gnokii.org manpage when using these special phones.

    More generic options are the M20 from Siemens and the A1 or A2 from
    Falcom.

    A good start is to read the docs for the GSM::SMS::NBS manpage. This
    class is a facade for the rest of the package and provides easy to use
    methods.

    (Upcoming) When using EMS, you can use the L>GSM::SMS::EMS> package.

    For the moment the package comes with support for the following Smart
    Messaging formats:

    ring tones (RTTTL)
    Caller Line Identification logos
    Operator logos
    VCard
    OTA Configuration for WAP phones
    PictureMessage
    More are on their way, as is support for EMS.

NEW IN THIS RELEASE
    Win32 support
    Flash SMS support
    Refactored directory structure layout
    More docs
    Better error reporting
    Configuration wizard update
    Look in the 'Changes' file for a complete review and credits.

PREREQUISITES
    Following packages are mandatory

    Data::Dumper
    MIME::Base64
    Image::Magick
    LWP
    Device::SerialPort or Win32::SerialPort
    Log::Agent
    Note: Device::SerialPort and Win32::SerialPort are only necessary when
    using serial transport.

INSTALL
    It *should* be a simple:

            perl Makefile.PL
            make
            make install

    When you want to use the default values for installing, you can set
    PERL_MM_USE_DEFAULT to true before running perl Makefile.PL. This can be
    of interest when installing GSM::SMS from a script.

CONFIGURATION
    This package needs configuration, period. When you're installing the
    package on a Windows machine then you'll need to type double back
    slashes when providing a path, e.g. for the log directory:

      c:\\gsmsms\\log

    You have three options to configure the package:

    On installation
        Running "perl Makefile.PL" will invoke the configuration wizard.

    After installation
        You can always run the configuration wizard again by the following
        command

          perl -MGSM::SMS::Config -esetup

    When instantiating GSM::SMS::NBS (or GSM::SMS::EMS)
        You can provide a configuration file to the constructor. This
        configuration file can be generated from the default configuration
        (created by previous config methods) by running the next command

          perl -MGSM::SMS::Config -egenerate_config

SERIAL TRANSPORT
    To use the serial transport, you'll need to have either
    Device::SerialPort or Win32::SerialPort installed.

    A problem that can arise when using the serial transport is the setting
    of the service center address. If this happens, or if you want to set
    this manually, use the following command(s) in your favourite comms
    program. I use minicom ... (Win32 users can use *terminal*).

            >minicom -s
            AT+CPIN?
                    Check for pincode
            AT+CPIN="nnnn"
                    Set pincode. Important ... only 3 tries!!!
            AT+CSCA?
                    Check for service center address
            AT+CSCA="+32475161616"
                    Set service center address. ( This one is for proximus belgium ).

EXAMPLES
    Look in the examples directory, this should get you started. The most
    complex one is the smartmessagingserver, allowing you to request a rttl
    or groupgraphic by sending an sms message. The slashdot example allows
    you to receive the latest slashdot headlines in a SMS message. The ideas
    are ofcourse endless.

Win32 Specific issues
    Sometimes I need to open up a terminal program to connect to the modem
    manually. If I don't do that, Perl cannot connect to the serial port. I
    only need to do that one time, when I boot up the system. Afterwards,
    everything works fine.

    You probably will get warnings when running the test suite. These do not
    originate from GSM::SMS, but from Image::Magick. They are harmless I
    guess, as I did not see apatch from ActiveState yet.

BUGS
    Probably a lot. I hope I get a lot of feedback so we can figure the bugs
    out and start fixing them!

AUTHOR
    Johan Van den Brande <johan@vandenbrande.com>

COPYRIGHT
    Copyright (c) 1999-2002 Johan Van den Brande All rights reserved.

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

DISCLAIMER
    NO WARRANTY

    BECAUSE THE SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
    EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
    ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
    YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
    NECESSARY SERVICING, REPAIR OR CORRECTION.

    IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    REDISTRIBUTE THE SOFTWARE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
    DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
    DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE
    (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
    INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
    THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR
    OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

