This is an automated email from the ASF dual-hosted git repository. billblough pushed a commit to branch transport in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-transports.git
commit 9eee91b1e82aa7cb9fa23c0d6146d56eeebd2d39 Author: Ruwan Linton <ru...@apache.org> AuthorDate: Tue Sep 22 12:00:57 2009 +0000 SMS transports guide for the 1.0 branch --- 1.0.0/src/site/xdoc/sms.xml | 276 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 276 insertions(+) diff --git a/1.0.0/src/site/xdoc/sms.xml b/1.0.0/src/site/xdoc/sms.xml index f3be19e..1f3af44 100644 --- a/1.0.0/src/site/xdoc/sms.xml +++ b/1.0.0/src/site/xdoc/sms.xml @@ -274,3 +274,279 @@ </section> </body> </document> +<?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><transportReceiver name="sms" + class="org.apache.axis2.transport.sms.SMSMessageReciever"></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><parameter name="smsImplClass">org.apache.axis2.transport.sms.gsm.GSMImplManager</parameter></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><transportSender name="sms" + class="org.apache.axis2.transport.sms.SMSSender"></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><parameter name="builderClass">Class Name</parameter></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><parameter name="formatterClass">Class Name</parameter></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><parameter name="smsImplClass">Class Name</parameter></pre> + </subsection> + </section> + </body> +</document>