| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <html xmlns="http://www.w3.org/1999/xhtml">
|
| <head>
|
| <title>Axis2 Transports - new document</title>
|
| <style type="text/css" media="all">
|
| @import url("./css/maven-base.css");
|
| @import url("./css/maven-theme.css");
|
| @import url("./css/site.css");
|
| </style>
|
| <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
|
| <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
|
| </head>
|
| <body class="composite">
|
| <div id="banner">
|
| <a href="../transports" id="bannerLeft">
|
|
|
|
|
|
|
| </a>
|
| <a href="http://www.apache.org" id="bannerRight">
|
|
|
| <img src="images/asfLogo.jpg" alt="" />
|
|
|
| </a>
|
| <div class="clear">
|
| <hr/>
|
| </div>
|
| </div>
|
| <div id="breadcrumbs">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <div class="xleft">
|
| Last Published: 07 Dec 2009
|
| </div>
|
| <div class="xright"> <a href="http://www.apache.org/" class="externalLink">Apache</a>
|
| |
|
| <a href="../../">WebServices</a>
|
| |
|
| <a href="../">Commons</a>
|
| |
|
| <a href="../../axis2/">Axis2</a>
|
| |
|
| <a href="http://synapse.apache.org/" class="externalLink">Synapse</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| </div>
|
| <div class="clear">
|
| <hr/>
|
| </div>
|
| </div>
|
| <div id="leftColumn">
|
| <div id="navcolumn">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <h5>Axis2 Transports</h5>
|
| <ul>
|
|
|
| <li class="none">
|
| <a href="index.html">About</a>
|
| </li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <li class="expanded">
|
| <a href="download_index.html">Downloads</a>
|
| <ul>
|
|
|
| <li class="none">
|
| <a href="download.cgi">Releases</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="source-repository.html">Source Code</a>
|
| </li>
|
| </ul>
|
| </li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <li class="expanded">
|
| <a href="docs_index.html">Documentation</a>
|
| <ul>
|
|
|
| <li class="none">
|
| <a href="jms.html">JMS Transport</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="mail.html">Mail Transport</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="tcp-transport.html">TCP Transport</a>
|
| </li>
|
|
|
| <li class="none">
|
| <strong>SMS Transport</strong>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="apidocs/index.html">Java Doc</a>
|
| </li>
|
| </ul>
|
| </li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <li class="expanded">
|
| <a href="project-info.html">Project Information</a>
|
| <ul>
|
|
|
| <li class="none">
|
| <a href="mail-lists.html">Mailing Lists</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="building.html">Building</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="issue-tracking.html">Issue Tracking</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="dependencies.html">Dependencies</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="dependency-convergence.html">Dependency Convergence</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="dependency-management.html">Dependency Management</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="plugins.html">Plugins</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="plugin-management.html">Plugin Management</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="team-list.html">Project Team</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="project-summary.html">Project Summary</a>
|
| </li>
|
| </ul>
|
| </li>
|
| </ul>
|
| <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
|
| <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
|
| </a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| </div>
|
| </div>
|
| <div id="bodyColumn">
|
| <div id="contentBox">
|
| <div class="section"><h2><a name="Introduction"></a>Introduction</h2> |
| 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 |
| </div> |
| <div class="section"><h2><a name="Transport_Listener"></a>Transport Listener</h2> |
| <div class="section"><h3><a name="Configuration"></a>Configuration</h3> |
| <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 class="a"><th>Parameter</th> |
| <th>Required</th> |
| <th>Description</th> |
| </tr> |
| <tr class="b"><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 class="a"><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 class="b"><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 class="a"><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 class="b"><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 class="a"><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/" class="externalLink">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 class="b"><th>Parameter</th> |
| <th>Required</th> |
| <th>Description</th> |
| </tr> |
| <tr class="a"><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 class="b"><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 class="a"><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 class="b"><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 class="a"><td>model</td> |
| <td>Yes</td> |
| <td>The model id of the device.</td> |
| </tr> |
| <tr class="b"><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> |
| </div> |
| </div> |
| <div class="section"><h2><a name="TransportSender"></a>TransportSender</h2> |
| <div class="section"><h3><a name="Configuration"></a>Configuration</h3> |
| <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) |
| </div> |
| |
| The Configuration |
| Parameters for the GSM and SMPP implimentations are same as the above |
| discribed for the Transport Listender. |
| </div> |
| <div class="section"><h2><a name="Extending_SMS_Transport"></a>Extending SMS Transport</h2> |
| 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. |
| <div class="section"><h3><a name="SMSMessageBuilder"></a>SMSMessageBuilder</h3> |
| 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></div> |
| <div class="section"><h3><a name="SMSMessageFormatter"></a>SMSMessageFormatter</h3> |
| 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></div> |
| <div class="section"><h3><a name="Implimentation"></a>Implimentation</h3> |
| 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></div> |
| </div> |
|
|
| </div>
|
| </div>
|
| <div class="clear">
|
| <hr/>
|
| </div>
|
| <div id="footer">
|
| <div class="xright">©
|
| 2004-2009
|
|
|
| The Apache Software Foundation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| </div>
|
| <div class="clear">
|
| <hr/>
|
| </div>
|
| </div>
|
| </body>
|
| </html>
|