

-------------------------------------------------------------------------------


General                 Project SMSLink - Introduction
Introduction
Documentation
Platforms               Table of Contents
Supported_Hardware
Package_Content
                        * Credits_and_Copyright.
                        * Description_of_the_Program.
Installation            * Contacting_me.
Download                * Mailing_Lists.
Server_Install          * Usual_Disclaimer.
Client_Install
Gateway_Install
Upgrade                 Credits and Copyright

                        This program is being written and maintained by
Tech Info               Philippe_Andersson for Scitex_Europe,_S.A. (then
Changelog               CreoScitex_Europe,_S.A. and now Creo_Europe,_S.A.) and
FAQ                     the public, improving on previous work by Nico Rotty
Drivers                 (it was a standalone Delphi app. - no code has been
PDU_format              reused).
Bugs_/_Todo             The program is released as Open Source, under the GNU
Related_Links           GPL_v.2 license.
                        Most of the code is  Les Ateliers du Hron, 1998-2006,
                        by Philippe Andersson. A small part of it was
_Jump_to_Vim_Home_Page_ shamelessly copied on GPL code published by Riccardo
                        Facchetti as part of his libmodem-1.0.0 package.
                        The contributions by Philipp_Klaus are  Internet
                        Access AG, 1999.
                        The PDU code is based in part on proof-of-concept code
                        kindly contributed by Francois_Baligant, and benefitted
                        a lot from the expert technical advice of Eric Guidi
                        and David Martinez (from Wavecom France).
                        The layout for the gsmdevices(5) man page was directly
                        copied from the one for passwd(5) by Michael Haardt and
                        Rik Faith.
                        Please note: I'm aware of another program called
                        SMSLink, a component of the (soon to be) commercial
                        SMSOffice 1.0 Beta, currently being developed by
                        Infoscape, and providing related functionalities. My
                        program has nothing to do with this one. I'll have to
                        sort out the naming issue.

                        Description of the program

                        This program implements a client/server gateway to the
                        SMS protocol. The server process listens on a specific
                        TCP port, and forks a child for each incoming
                        connection. Those child processes are responsible for
                        getting the message parameters from the clients, and
                        will then compete through a mechanism of semaphores and
                        shared memory segments to get exclusive access to the
                        sending hardware : a serially attached GSM module.
                        The dialogue with the sending hardware is echoed to the
                        client through the socket connection, and a status
                        message is issued, along with the message ID when
                        sending was successfull. The client program is meant to
                        stay connected until the end of the sending process in
                        order for it to receive some form of acknowledgement.
                        The server module implements several features that make
                        this solution highly scalable and flexible.

                        * The use of TCP/IP sockets for communication between
                          client and server means that the application is
                          network-aware from the start and that deploying it
                          over a WAN (or across the internet) is a piece of
                          cake. Expanding it as well, since writing additional
                          clients for it is possible on any platform supporting
                          sockets. Various ports of the client to Win32 are now
                          available.
                        * The server process has a command-line interface
                          connected to the socket, making it possible to use it
                          interactively from a telnet session (only line mode
                          telnet supported at the present time - see server/
                          BUGS and server/TODO in the sources directory). This
                          feature is of enormous help when troubleshooting or
                          debugging.
                        * The command-line interface is backed by a parser
                          written in lex and yacc (flex/bison, actually), which
                          makes the language relatively easy to extend.
                        * The server was built from the start with the idea of
                          multiple GSM modules in mind. Adding a line to two
                          configuration files (and connecting the hardware, of
                          course) is all there is to using two modules instead
                          of one. The number of modules supported by the server
                          is limited by the hardware only.
                        * The choice to use specific hardware (the serial GSM
                          module), although limiting the general-purpose use of
                          this application, allows for some very usefull
                          features, the most prominant one being the ability to
                          receive SMS messages as well as send them. This
                          feature is now implemented (as of version 0.41b).
                          Once downloaded from the GSM module, those messages
                          can either be stored in an inbox file or fed through
                          an external program or script, or both.
                        * By sitting straight on the GSM network, the use of
                          the GSM module offers an advantage that far outweighs
                          its cost : provider independance. The ability to send
                          and receive SMS might be limited in some way or
                          another by the level of your subscription, but all
                          providers should offer a standard way of doing it. No
                          "provider-specific driver" is required in this case.
                          What's more, all SMS routing aspects are being taken
                          care of by the GSM network itself. Caution is
                          advisable when choosing the provider though, as some
                          of them might place some restrictions on routing to
                          and/or from outside networks (e.g. Mobistar and
                          Itineris*) or lack the implementation of some
                          advanced features of the SMS protocol such as "point-
                          to-point SMS" or "SMS-back" (e.g. Proximus through
                          the UCP interface*).
                        * As of version 0.48b, initial support for PDU mode and
                          the creation of a "driver-like" capability table for
                          the GSM modules means that most module brands on the
                          market could be supported with little effort. This
                          "driver" approach also garanties that you'll be able
                          to mix and match different brands and models of
                          modules on the same server with no problem. Support
                          for PDU mode also opens up a new batch of options,
                          like setting the validity period for a message,
                          potential support for non-standard alphabet, binary
                          content delivery to the mobile phone (logos, tunes,
                          etc. ?) and more.
                        * A full-fledged access control mechanism allows you to
                          specify precisely which client machine or subnet
                          should be allowed to connect and which shouldn't. The
                          access control is IP-based (as opposed to user-based)
                          and defaults to "deny" for increased security. When
                          the situation doesn't require any access control, the
                          whole thing can be easily disabled by the
                          administrator.

                          *) To the best of my knowledge and at the time of
                          writing.

                        Provided with this release is a Unix command-line
                        client, sendsms(1), that was specially designed to be
                        included in shell scripts (and called from the
                        corporate database applications). Please check here for
                        a list of supported platforms.
                        Also included, as of version 0.44b, is a gateway
                        program to the SMTP protocol, sms2mailgw(1). This
                        daemon will scan the inbox file generated by the SMS
                        server module, and process all SMS that follow a
                        specific format, converting them to eMails. The purpose
                        is to provide full email connectivity straight from the
                        GSM keyboard.
                        (The other way around, mail to sms, is still in
                        project).
                        An SMSLink "companion site" called SMS_Link_Add_On'S
                        has recently been opened by an enthousiast user.
                        Featured there are (among others) a really nifty native
                        Win32 client, a Linux-based queue server that can be
                        used to add queueing capabilities to pre-0.55b SMSLink
                        installs (or used as an alternative to the native
                        queueing capabilities in 0.55b), and the full
                        schematics of a serial+power combo cable for handheld
                        mobiles.

                        Contacting me

                        Please feel free to give me a feedback on any and all
                        issues related to this product. If you're using it,
                        just let me know : it would brighten my day (and add an
                        incentive to push development forward).
                        I'm now working for Ion Beam Applications, S.A. (IBA)
                        in Louvain-la-Neuve, Belgium.
                        Here is my current email address at the office:

                        * pan@iba-group.com (Philippe Andersson)

                        You can also reach me at my private email address
                        (don't expect same day response) :
                        Should you wish to use a secure channel to communicate
                        with me, here is my OpenPGP key.
                        My personal home page is located at: http://
                        home.scarlet.be/philipa/. Enjoy !
                        Additionally, please consider subscribing to the
                        smslink-users mailing list (see below for details).
                        When sending mail to me, please begin your subject line
                        with [SMS] to avoid it being overlooked (not needed
                        when posting to the mailing list).
                        The official home page of the SMSLink project is now
                        located at http://smslink.sourceforge.net/.
                        You can find its SourceForge project page at http://
                        sourceforge.net/projects/smslink/.

                        Lastly, if, like me, you love GNU/
                        Linux systems and wish to show your
                        support, please consider
                        registering yourself (and your
                        machine(s), if you feel so
                        inclined) with the "Linux Counter"
                        by following this link:             _The_Linux_Counter_


                        Mailing Lists

                        SourceForge is now hosting a mailing list for SMSLink
                        users (with a lot of wit, I decided to call it smslink-
                        users ;-).
                        Learn how to subscribe, unsubscribe and more from the
                        following page:
                        http://lists.sourceforge.net/mailman/listinfo/smslink-
                        users
                        This list can be used by SMSLink users, but of course
                        by anybody else interested in the product as well, and
                        the discussions hosted on it can range from support
                        issues to technical questions or to announcements of
                        new releases of the software or large updates to the
                        web site.

                        Usual disclaimer

                        This program is provided "AS IS", without any warranty,
                        etc. Bottom line : don't blame me if it doesn't work
                        for you (or messed your setup). You use it at your own
                        risk. Period.

-------------------------------------------------------------------------------

Last Modified: September 29th, 2006.
     _philipa_STRUDEL_scarlet           _SourceForge_Logo_
     PUNKT_be_

