You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by am...@apache.org on 2009/08/11 16:37:44 UTC

svn commit: r803139 - /webservices/commons/trunk/modules/transport/src/site/xdoc/sms.xml

Author: amilas
Date: Tue Aug 11 14:37:44 2009
New Revision: 803139

URL: http://svn.apache.org/viewvc?rev=803139&view=rev
Log:
commit the document patch for WSCOMMONS-492

Added:
    webservices/commons/trunk/modules/transport/src/site/xdoc/sms.xml

Added: webservices/commons/trunk/modules/transport/src/site/xdoc/sms.xml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/transport/src/site/xdoc/sms.xml?rev=803139&view=auto
==============================================================================
--- webservices/commons/trunk/modules/transport/src/site/xdoc/sms.xml (added)
+++ webservices/commons/trunk/modules/transport/src/site/xdoc/sms.xml Tue Aug 11 14:37:44 2009
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//Apache Software Foundation//DTD XDOC 1.0//EN"
+        "http://www.apache.org/dtds/xdoc_1_0.dtd">
+<!--
+~ Licensed to the Apache Software Foundation (ASF) under one
+~ or more contributor license agreements. See the NOTICE file
+~ distributed with this work for additional information
+~ regarding copyright ownership. The ASF licenses this file
+~ to you under the Apache License, Version 2.0 (the
+~ "License"); you may not use this file except in compliance
+~ with the License. You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing,
+~ software distributed under the License is distributed on an
+~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~ KIND, either express or implied. See the License for the
+~ specific language governing permissions and limitations
+~ under the License.
+-->
+<document>
+    <properties>
+        <title>new document</title>
+    </properties>
+
+    <body>
+        <section name="Introduction">The SMS Transport will allow send and receive
+            messages in the form of SMSs used in mobile phones.Using this transport
+            the users will be able to invoke webservices using a SMS and get the
+            responce.SMS Transport is mainly focus on enableing SMPP protocal support
+            for the Axis2 so that It can connect with a SMSC to send/receive SMS.It
+            will also have a GSM implimentation that will enable users to connect a
+            GSM modem and send/receive sms s using that.The configuration parameters
+            will be different depend on the implimentaion that the user will be using
+            (SMPP/ GSM) Follwoing up section will be discuss more details about the
+            configuration ,usage and Extenting of the SMS Transport
+        </section>
+
+        <section name="Transport Listener" onclick="">
+            <subsection
+                    name="Configuration"><pre>&lt;transportReceiver name="sms"
+                class="org.apache.axis2.transport.sms.SMSMessageReciever"&gt;</pre>In
+                order to use the sms Transport Listener It must be Configured in the
+                Axis2.xml.It will be having set of parameters to be configured depending
+                on the implementation that a user needed.(SMPP/GSM)
+                <br/>
+                <p>
+                    <br/>
+                    Parameters Needed for the SMPP and GSM implementation are Explined
+                    bellow.
+                    <br/>
+                    <br/>
+                    <b>SMPP Configuration</b>
+                </p>
+                When using the SMPP
+                implimentaiton It will connect with a SMSC (Short Message Service center)
+                and Listening to the incomming messsages on a TCP connection.This
+                implimentaion can be used when the data traffic is so high.
+                <table
+                        class="bodyTable">
+                    <tr>
+                        <th>Parameter</th>
+
+                        <th>Required</th>
+
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>systemType</td>
+
+                        <td>No</td>
+
+                        <td>To inform the binding SMSC about the system Type That connecting
+                            to it.The Default value is "cp". .Some SMSC s does not require this
+                            to connect.
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>systemId</td>
+
+                        <td>Yes</td>
+
+                        <td>The system_id parameter is used to identify an ESME (In this
+                            case Axis2 )or an SMSC at bind time. An ESME system_id identifies
+                            the ESME or ESME agent to the SMSC. The SMSC system_id provides an
+                            identification of the SMSC to the ESME.
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>
+                            <em>Password</em>
+                        </td>
+
+                        <td>Yes</td>
+
+                        <td>The password parameter is used by the SMSC to authenticate the
+                            identity of the binding ESME (In this Case Axis2). The Service
+                            Provider may require ESME’s to provide a password when binding to
+                            the SMSC. This password is normally issued by the SMSC system
+                            administrator.
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>host</td>
+
+                        <td>No</td>
+
+                        <td>The IP address of the host that SMSC is located.The default is
+                            Local host - 127.0.0.1
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>port</td>
+
+                        <td>No</td>
+
+                        <td>The port Number that Axis2 must connect with the SMSC.The
+                            Default port is 2775
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>phoneNumber</td>
+
+                        <td>No</td>
+
+                        <td>The phone Number that Axis2 Application given from the Service
+                            provider.
+                        </td>
+                    </tr>
+                </table>
+                <br/>
+                <b>GSM Configuration</b>
+                <br/>GSM implementation can be
+                used to send receive SMS using a GSM modem connected.Its use the
+                <a
+                        href="http://smslib.org/">SMSLib
+                </a>
+                library so that all SMSLib supported
+                GSM modems will be working with the GSM implimentation.This implementation
+                can only be used when the Data Traffic is very low (about 6 messages per
+                minute) since The Message Send / receive rate supported by GSM modems is
+                normally very low.Other than Following Parameters in the table to use the
+                GSMImplimentation User must specify the implementation Class of the GSM
+                implementation as a Parameter
+                <pre>&lt;parameter name="smsImplClass"&gt;org.apache.axis2.transport.sms.gsm.GSMImplManager&lt;/parameter&gt;</pre>
+                <table class="bodyTable">
+                    <tr>
+                        <th>Parameter</th>
+
+                        <th>Required</th>
+
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>gateway_id</td>
+
+                        <td>Yes</td>
+
+                        <td>Gateway id is the Id that is used to identify the device that
+                            you are going to use as the gateway.
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>com_port</td>
+
+                        <td>Yes</td>
+
+                        <td>The communication port that the device is connected.As a Example
+                            in a Linux machine if the device is connected through a USB the port
+                            will be some thing like "/dev/ttyUSB0"
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>
+                            <em>baud_rate</em>
+                        </td>
+
+                        <td>Yes</td>
+
+                        <td>The Baud rate of the device.This can be found out by looking in
+                            to device details.
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>manufacturer</td>
+
+                        <td>Yes</td>
+
+                        <td>The Name of the Manufacturer that the device manufactured
+                            by.Example manufactures are "NOKIA" , "HUAWEI"
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>model</td>
+
+                        <td>Yes</td>
+
+                        <td>The model id of the device.</td>
+                    </tr>
+
+                    <tr>
+                        <td>modem_poll_interval</td>
+
+                        <td>No</td>
+
+                        <td>This is the interval that the application will poll the devices
+                            message storage to get the incoming messages.The default value is 5
+                            seconds.
+                        </td>
+                    </tr>
+                </table>
+            </subsection>
+        </section>
+
+        <section name="TransportSender">
+            <subsection name="Configuration"><pre>&lt;transportSender name="sms"
+                class="org.apache.axis2.transport.sms.SMSSender"&gt;</pre>In
+                order to use the sms Sender It must be Configured in the Axis2.xml.It will
+                be having set of parameters to be configured depending on the
+                implementation that a user needed.(SMPP/GSM)
+            </subsection>
+            The Configuration
+            Parameters for the GSM and SMPP implimentations are same as the above
+            discribed for the Transport Listender.
+        </section>
+
+        <section name="Extending SMS Transport">The SMS Transport is Designed to
+            be extended to use with Other SMS implementations as well.It has two
+            logical layers one is the SMS Layer which has all Axis2 dependent code and
+            Other one is The Implementation layer which only contain the
+            implementation logic related to the specific implimentation.So the
+            Developers who need to write a another implementation can reuse the SMS
+            layer and focus oly about thire implementation logic.
+            <subsection
+                    name="SMSMessageBuilder">SMSMessageBuilder determines the message format
+                that Axis2 accepting from the incoming SMS.In the Default
+                SMSMessageBuilder implementation its supported for the RPC type SMS format
+                for the incoming SMS to invoke a Webservice its :<b>
+                    "ServiceName":"Operation Name":
+                    "Parameter_1=value_1":......:"Parameter_N=value_N"</b>.Developers can add
+                another Builder to accept another formats by implementing the
+                SMSMessageBuilder interface and Specifying it as a Parameter in the
+                TransportListener
+                <pre>&lt;parameter name="builderClass"&gt;Class Name&lt;/parameter&gt;</pre>
+            </subsection>
+            <subsection name="SMSMessageFormatter">SMSMessageFormatter
+                formats the out put SMS Message Form the Axis2 MessageContext.Developers
+                can Add a custom MessageFormatter by Implementing the SMSMessageFormatter
+                interface and Specifying it as a Parameter in the TransportSender.
+                <pre>&lt;parameter name="formatterClass"&gt;Class Name&lt;/parameter&gt;</pre>
+            </subsection>
+            <subsection
+                    name="Implimentation">SMS Trasnport also allows Developers to add another
+                SMS implementations to the SMS Transport.To Add a another Implementation
+                It should have an Implementation manager that implements the
+                SMSImplManager interface.In that Implementation Developers can add their
+                custom implementation logic without worring about the Axis2
+                Dependensies.To add a Implementation Manager It must be Specified as a
+                parameter in Transport Receiver and sender
+                <pre>&lt;parameter name="smsImplClass"&gt;Class Name&lt;/parameter&gt;</pre>
+            </subsection>
+        </section>
+    </body>
+</document>