<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WebProNews &#187; GSM</title>
	<atom:link href="http://www.webpronews.com/tag/gsm/feed" rel="self" type="application/rss+xml" />
	<link>http://www.webpronews.com</link>
	<description>Breaking News in Tech, Search, Social, &#38; Business</description>
	<lastBuildDate>Sun, 12 Feb 2012 16:41:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Verizon Picks 4G LTE Technology</title>
		<link>http://www.webpronews.com/verizon-picks-4g-lte-technology-2007-11</link>
		<comments>http://www.webpronews.com/verizon-picks-4g-lte-technology-2007-11#comments</comments>
		<pubDate>Thu, 29 Nov 2007 20:02:54 +0000</pubDate>
		<dc:creator>WebProNews Staff</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[4G]]></category>
		<category><![CDATA[AT%26T]]></category>
		<category><![CDATA[CDMA]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[LTE]]></category>
		<category><![CDATA[Verizon]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=42260</guid>
		<description><![CDATA[<p>Verizon's second big announcement of the week is that the company plans to develop and deploy its next generation mobile broadband network using Long Term Evolution (LTE), a technology more closely related to GSM, used by rival AT&#38;T, which will also be upgrading to the LTE format. <br />
]]></description>
			<content:encoded><![CDATA[<p>Verizon&#8217;s second big announcement of the week is that the company plans to develop and deploy its next generation mobile broadband network using Long Term Evolution (LTE), a technology more closely related to GSM, used by rival AT&amp;T, which will also be upgrading to the LTE format. <br />
<span id="more-42260"></span><img width="200" height="62" align="left" border="0" src="http://images.ientrymail.com/webpronews/article_pics/sm_body/verison_logo.gif" title="Verizon Picks 4G LTE Technology" alt="Verizon Picks 4G LTE Technology"/>GSM, as opposed to Verizon&#8217;s current CDMA, developed by Qualcomm, has five times as many users worldwide through companies like Vodaphone, joint owner of Verizon Wireless. LTE is a fourth generation technology, comparable to WiMax (which Sprint is banking on), and Qualcomm-backed Ultra Mobile Broadband, with theoretical speeds up to 100 Mbps. </p>
<p>Though don&#8217;t count on wireless speeds that fast right away, definitely not until well after launch sometime in 2009 or 2010. Verizon will be trialing the platform throughout 2008. </p>
<p>Verizon says it seeks to open up the kinds of devices used on its network beyond mobile phones. </p>
<p>&quot;With a host of new devices and applications, and a particular focus on embedded wireless in virtually every piece of electronics you buy in any store, we believe LTE is the best technology with global scale to deliver on the promise,&rdquo; said Richard Lynch, executive vice president and chief technology officer of Verizon Communications.</p>
<table width="400" cellspacing="0" cellpadding="5" border="0" align="center" class="verdana">
<tbody>
<tr>
<td width="400" align="center"><a href="http://aj.600z.com/aj/41545/0/cc?z=1"><img width="336" height="55" border="0" src="http://aj.600z.com/aj/41545/0/vc?z=1&amp;dim=41551" alt="" /></a></td>
</tr>
</tbody>
</table>
<p>Because Verizon is switching to the same technology as AT&amp;T, it also means that subscribers will be able to move between networks thanks to Verizon&#8217;s new open devices policy, announced at the beginning of this week. </p>
<p>At the time of that earlier announcement, it was unclear the impact an open devices policy would have because of the incompatibility between Verizon&#8217;s CDMA network and the rest of the world&#8217;s (save for Sprint) use of GSM.&nbsp;&nbsp;</p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/verizon-picks-4g-lte-technology-2007-11/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ericsson Extends Russian GSM Deal</title>
		<link>http://www.webpronews.com/ericsson-extends-russian-gsm-deal-2005-05</link>
		<comments>http://www.webpronews.com/ericsson-extends-russian-gsm-deal-2005-05#comments</comments>
		<pubDate>Thu, 26 May 2005 22:20:19 +0000</pubDate>
		<dc:creator>WebProNews Staff</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Ericsson]]></category>
		<category><![CDATA[GSM]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=18840</guid>
		<description><![CDATA[The $150 million USD agreement with Russia's largest mobile provider, OAO Mobile TeleSystems (MTS), expands its GSM capacity.
]]></description>
			<content:encoded><![CDATA[<p>The $150 million USD agreement with Russia&#8217;s largest mobile provider, OAO Mobile TeleSystems (MTS), expands its GSM capacity.</p>
<p>In a press release, part of the agreement will have Ericsson deliver switches and radio equipment capable of supporting GSM and GPRS services. And its contract will help MTS expand into six regions of Russia.</p>
<p>&#8220;Our latest solutions will also allow MTS to grow its subscriber base,&#8221; says Bill Crocker, Vice President of Ericsson Eastern Europe and Central Asia. </p>
<p>The agreement comes in the wake of a widespread power outage in Moscow that extended well beyond the city yesterday. Cellular service was knocked out by the power disruption, which was caused by a fire and explosion at an aging power plant.</p>
<p>Ericsson&#8217;s agreement includes supplying infrastructure for the six regions. The company will definitely have some unique challenges to overcome, as they seek to complete the agreement by the end of 2005.</p>
<p>David Utter is a staff writer for WebProNews covering technology and business. Email him <A HREF="mailto:news@ientry.com">here</A>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/ericsson-extends-russian-gsm-deal-2005-05/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enfora and Esmertec to Incorporate Wireless Java Technology in GSM/GPRS OEM Devices</title>
		<link>http://www.webpronews.com/enfora-and-esmertec-to-incorporate-wireless-java-technology-in-gsmgprs-oem-devices-2004-08</link>
		<comments>http://www.webpronews.com/enfora-and-esmertec-to-incorporate-wireless-java-technology-in-gsmgprs-oem-devices-2004-08#comments</comments>
		<pubDate>Tue, 24 Aug 2004 16:24:45 +0000</pubDate>
		<dc:creator>WirelessProNews</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=11362</guid>
		<description><![CDATA[First Implementation of Esmertec's Java Solution in Machine-to-Machine (M2M) Devices.
]]></description>
			<content:encoded><![CDATA[<p>First Implementation of Esmertec&#8217;s Java Solution in Machine-to-Machine (M2M) Devices.</p>
<p><a href="http://www.enfora.com">Enfora L.P. </a>, a leader in wireless data solutions, has signed an agreement to partner with <a href="http://www.esmertec.com">Esmertec</a>, a leading provider of software solutions for mobile phones and embedded devices, to incorporate Esmertec&#8217;s wireless Java technology (J2ME) in Enfora&#8217;s GSM/GPRS OEM devices. </p>
<p>Under the agreement, Esmertec will be delivering its leading runtime platform, Jbed to enable a Java application environment for networked embedded devices such as parking meters, Point of Sale (POS) devices, wireless modules in home alarm systems, and industrial metering devices. Jbed will be implemented onto a version of Enfora&#8217;s GSM/GPRS Quad-Band Enabler IIG OEM Module, which can be incorporated into a variety of machine-to-machine (M2M) systems used in telemetry, automated vehicle locators (AVL) and public safety. </p>
<p>Specifically, Esmertec&#8217;s Java software will be integrated with Enfora&#8217;s extensive M2M Application Programming Interface (API), which is resident on the OEM module. By incorporating Java software as an application developer language, M2M developers will be able access such features as TCP (PAD), UDP (PAD), Enfora&#8217;s Event Driven I/O Engine, Auto Activation and Real-Time Clock. Integrating Java technology directly into the OEM module reduces the overall M2M system cost, thereby providing competitive advantages to companies in this burgeoning market. </p>
<p>&#8220;Enfora&#8217;s choice of Esmertec is attributed to its superior Java technology,&#8221; said Jeff Newman, Sr. Vice President, Business Development. &#8220;Our customers need the ability to create applications resident on our GSM/GPRS Quad Band module to continue to reduce the overall cost of their M2M solution. With Esmertec&#8217;s Java solution, our products are empowered with intercommunication, interoperability and device resident intelligence to carry out mission critical functions.&#8221; </p>
<p>&#8220;Esmertec&#8217;s core technology is designed to fit a large variety of embedded devices, specifically those which require cost and memory efficiency,&#8221; said Jean-Claude Martinez, COO of Esmertec. &#8220;Having a major player like Enfora as a customer signifies Esmertec&#8217;s arrival in the U.S. M2M market. We look forward to working with Enfora to provide their customers with products that gives them an edge in a highly competitive market.&#8221;</p>
<p>WirelessProNews articles cover getting started with wireless apps, expert advice on platforms tips, tricks, and traps, development techniques, programming methods.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/enfora-and-esmertec-to-incorporate-wireless-java-technology-in-gsmgprs-oem-devices-2004-08/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extend J2ME to Wireless Messaging</title>
		<link>http://www.webpronews.com/extend-jme-to-wireless-messaging-2003-08</link>
		<comments>http://www.webpronews.com/extend-jme-to-wireless-messaging-2003-08#comments</comments>
		<pubDate>Thu, 14 Aug 2003 22:08:22 +0000</pubDate>
		<dc:creator>Soma Ghosh</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[3]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[Messages]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=6960</guid>
		<description><![CDATA[The notion of wireless messaging provides a whole new vista to J2ME. J2ME applications powered by wireless messaging have a platform-independent access to wireless communication resources like Short Message Service (SMS) and Cell Broadcast Service (CBS) for Global System for Mobile Communication (GSM) Networks, a mobile telephony system permitting inter-country communication.

Before proceeding with the details on how J2ME Wireless Messaging works, I will discuss, in short, the SMS and CBS messaging systems in a GSM Network.
]]></description>
			<content:encoded><![CDATA[<p>The notion of wireless messaging provides a whole new vista to J2ME. J2ME applications powered by wireless messaging have a platform-independent access to wireless communication resources like Short Message Service (SMS) and Cell Broadcast Service (CBS) for Global System for Mobile Communication (GSM) Networks, a mobile telephony system permitting inter-country communication.</p>
<p>Before proceeding with the details on how J2ME Wireless Messaging works, I will discuss, in short, the SMS and CBS messaging systems in a GSM Network.</p>
<div align="left">
<p>Before proceeding with the details on how J2ME Wireless Messaging works, I will discuss, in short, the SMS and CBS messaging systems in a GSM Network.</p>
<p><a name="1"><span class="atitle3">GSM Short Message Service (SMS)</span></a><br />SMS is the transmission of short text messages to and from a mobile phone, fax machine, and/or IP address in a GSM network. Messages must be no longer than 160 alphanumeric characters and contain no images or graphics. The main features of this service are speed, cheap rates, and the guarantee that the message will reach the target person, even if he is out of radio coverage or his phone is turned off.</p>
<p>Once a message is sent, it is received by a Short Message Service Center (SMSC), which must then get it to the appropriate mobile device. To do this, the SMSC sends a SMS request to the home location register (HLR) to find the roaming customer. Once the HLR receives the request, it will respond to the SMSC with the subscriber&#8217;s status, as in 1) inactive or active, and 2) roaming location.</p>
<p>If the response is <i xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">inactive</i>, then the SMSC will hold onto the message for a period of time. When the subscriber accesses his device, the HLR sends a SMS notification to the SMSC, and the SMSC attempts delivery.</p>
<p>The SMSC transfers the message to a GSM message delivery system in a Short Message Delivery Point-to-Point format. The system pages the device and, if it responds, delivers the message.</p>
<p>The SMSC receives verification that the message was received by the end user, and then categorizes the message as <i xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">sent</i> and will not attempt to send it again. The SMS delivery mechanism is illustrated in <a href="#figure1" trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Figure 1</a>.</p>
<p><a name="figure1"><b>Figure 1. SMS Delivery System</b></a><br /><img src="http://images.ientrymail.com/wirelesspronews/diagram1.gif" width="414" height="259" alt="Figure 1. SMS Delivery System" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></p>
<p><a name="2"><span class="atitle3">GSM cell broadcast service</span></a><br />The GSM cell broadcast service allows messages to be sent to every Mobile Station (MS), such as a mobile phone, fax machine, and/or IP address currently in a particular cell. Cell broadcast messages are repeated at intervals over a period of time, which allows an MS to receive the message even if entering the cell after the first transmission. The data can be sent either as binary data or ASCII text up to 15 pages in length, with a page being up to 93 characters in length; the test set only provides support for ASCII messages. Cell broadcast messages are classified by topic and allocated a channel number, message code, update number, and language:</p>
<ul xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<li>A <i>Channel Number</i> is a header number identifying the message topic (such as &#8216;Weather Report&#8217; or &#8216;Traffic Information&#8217;).</p>
</li>
<li>A <i>Message Code</i> identifies a particular message, so that an MS receiving a message with the same code as a previously received message will recognize that it is a repeat, and may not display it to the user.
</li>
<li>An <i>Update Number</i> is used to identify a particular version of a message. This is useful for reporting a dynamic situation, where a message may be reporting one event (such as road construction ahead), but the details of which change periodically (the length of the traffic jam, for example). An MS that remains in one cell for a length of time will receive messages with the same message code, but update numbers as updated versions of the same message are received; however, an MS that enters the cell will receive only the most recent version of the message, followed by any subsequent versions.
</li>
<li><i>Language</i> indicates in what language the message is. Changing this parameter does not translate the text of a message.
</li>
</ul>
<p>While SMS is a one-to-one and one-to-few messaging system, CBS provides one-to-many messaging within a certain geographical area.</p>
<p><a name="3"><span class="atitle3">The wireless messaging system</span></a><br />This system can be viewed as a 3-tiered architecture, consisting of the Interface Layer, Implementation Layer and Transport Layer. </p>
<p>The <b xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Interface Layer</b> constitutes a generic set of messaging interfaces, independent of any messaging protocol. These interfaces provide the basic definition of a message, define the basic functionality of sending and receiving it, and provide a mechanism for the MIDlet application to be notified of the incoming message.</p>
<p>The <b xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Implementation Layer</b> contains classes which implement each Interface Layer to access wireless messaging like SMS or CBS functionalities on a GSM mobile device. For instance, from the SMS point of view, this layer provides an implementation of the message connection for SMS messages as well as an implementation of a SMS message with text or binary attributes. The Implementation Layer also performs segmentation and concatenation of messages for the underlying protocol. The MIDlet can then specify the number of segments a message should be broken into in a <code>MessageConnection</code>.</p>
<p>The <b xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Transport Layer</b> contains classes that are the actual implementation of protocols that carry messages to the mobile device.</p>
<p>The 3-tiered mechanism is seen here in <a href="#figure2" trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Figure 2</a>.</p>
<p><a name="figure2"><br />
<b><br />
<br />
Figure 2. Wireless Messaging system architecture<br />
</b><br />
</a><br />
</p>
<div align="left"><img src="http://images.ientrymail.com/wirelesspronews/diagram2.gif" width="229" height="222" alt="Figure 2. Wireless Messaging system architecture"></div>
<p><a name="2"><span class="atitle2">The Generic Messaging API, javax.wireless.messaging</span></a><br />This API is defined by the package javax.wireless.messaging, which defines all the interfaces for sending and receiving wireless messages. Following is a list of interfaces:</p>
<p><b>Message.</b> This provides the basic definition of a message, which acts as a container holding address, payload, and flags to send and block for a message. It is a superinterface to <code>TextMessage</code>, a message object with a text payload attribute, and a <code>BinaryMessage</code>, a message object with a binary payload attribute. The structure of a Message is shown in <a href="#figure3" trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Figure 3</a>.</p>
<p>
<a name="figure3"></p>
<p><b>Figure 3. Structure of a message</b><br />
</a></p>
<p><img src="http://images.ientrymail.com/wirelesspronews/diagram3.gif" width="419" height="36" alt="Figure 3. Structure of a message" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></p>
<p><b xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><code>MessageConnection</code>.</b> This provides the basic functionality of receiving and sending messages. It contains a method for sending and receiving messages, a factory method for creating new Message objects, and a method that calculates the number of segments of the underlying protocol that are needed to send a specified Message object.</p>
<p>This class is instantiated by a call to <code>Connector.open()</code>.</p>
<p>In a client mode connection, messages can only be sent. A client mode connection is created by passing a string identifying a destination address to the <code>Connector.open()</code> method. This method returns a <code>MessageConnection</code> object.</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
clientConn = (MessageConnection)Connector.open("sms://
+18643630999:5000");
</code></pre>
</td>
</tr>
</table>
<p>In a server mode connection, messages can be sent or received. A server mode connection is created by passing a string that identifies an end point (protocol dependent identifier, for example, a port number) on the local host to the <code>Connector.open()</code> method.</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
serverConn = (MessageConnection)Connector.open("sms://:5000");
</code></pre>
</td>
</tr>
</table>
<p><b xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><code>MessageListener</code>.</b> This provides a basic mechanism to notify the MIDlet application of an incoming message. It allows a MIDlet to receive a callback when new messages are available to be read.</p>
<p><a name="3"><span class="atitle2">The Short Message Service API</span></a><br />The com.sun.midp.io.j2me.sms package provides an API for the Short Message Service Messaging system and allows MIDlet to access SMS functionality on a GSM mobile device. </p>
<p>The main components of the package &#8212; <code>MessageObject</code> and <code>Protocol</code> &#8212; support the sending and receiving of SMS messages. </p>
<p><b xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><code>MessageObject</code>.</b><code>MessageObject</code> is the implementation of a SMS message. In the Implementation layer, the javax.wireless.messaging.Message interface is implemented as a buffer. The <code>MessageObject</code> handles the creation of message buffers and the input/output operations out of a buffer. Furthermore, it has two subclasses &#8212; <code>TextObject</code> and <code>BinaryObject</code>. These classes implement a SMS message with a payload, whether text or binary.</p>
<p><b xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><code>Protocol</code>.</b> This implements the message connection to a low-level Transport mechanism required to transmit a SMS message. In the process, it checks for all runtime configuration parameters and handles exceptions related to invalid URL syntax, security violations, I/O violations, and illegal arguments. <code>Protocol</code> also handles the sending and receiving of messages using a datagram or serial port connection.</p>
<p><a name="4"><span class="atitle2">The Cell Broadcast Messaging API</span></a><br />The com.sun.midp.io.j2me.cbs package provides an API for the Cell Broadcast Messaging system and allows MIDLlet to access CBS functionality on a GSM mobile device.</p>
<p>The main component of the package, com.sun.midp.io.j2me.cbs.Protocol, supports the receipt of a CBS Message.</p>
<p>The CBS differs from SMS in that:</p>
<ol xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<li>The URL Connection string does not support a designated host, and</li>
<li>It is meant for an inbound-only protocol. A MIDlet having CBS capability can receive messages, but cannot send them.</li>
</ol>
<p><a name="5"><span class="atitle2">A J2ME messaging application</span></a><br />In this section, I will show an example of a WMAServer that waits for incoming SMS messages and then displays them on a phone screen. The javax.microedition.lcdui package provides a set of features for implementation of user interfaces for the applications.</p>
<p>The WMAServer MIDlet creates a server mode connection by passing a string that identifies an end point (protocol-dependent identifier &#8212; like a port number, for example ) on the local host to the <code>Connector.open()</code> method.</p>
<p>In order to get notified of an incoming message, the MIDlet registers a <code>MessageListener</code> object at the <code>MessageConnection</code> instance, <code>serverConn</code>.</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
serverConn.setMessageListener(MessageListener ml);
</code></pre>
</td>
</tr>
</table>
<p>It also implements <code>notifyIncomingMessage()</code> in the <code>MessageListener</code> interface. When an incoming message arrives at the <code>MessageConnection</code>, the <code>notifyIncomingMessage()</code> method is called. The application must retrieve the message using the <code>receive()</code> method of the <code>MessageConnection</code>. </p>
<p>The WMAServer application reads the payload data from the incoming message, whether text or binary, and stores it in a string object to be displayed later.</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
public void notifyIncomingMessage(MessageConnection conn) {

        Message msg = null;
        //  Try reading (maybe block for) a message
        try {
            msg = conn.receive();
        }
        catch (Exception e) {
            // Handle reading errors
            System.out.println("processMessage.receive " + e);
        }
        // Process the received message
        if (msg instanceof TextMessage) {
            TextMessage tmsg = (TextMessage)msg;
    		msgReceived = tmsg.getPayloadText();
        }
        else
		{
            // process received message
            if (msg instanceof BinaryMessage) {
                BinaryMessage bmsg = (BinaryMessage)msg;
                byte[] data = bmsg.getPayloadData();
                //  Handle the binary message...
				msgReceived = data.toString();

        }

}
</code></pre>
</td>
</tr>
</table>
<p>The application provides a <code>destroyApp()</code> method when the connection resources and associated listener objects must be released.</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
  public void destroyApp(boolean unconditional) {
  try {
    if (serverConn != null) {
        serverConn.setMessageListener(null);
        serverConn.close();
    }
}
catch (IOException e) {
    //  Handle the exception...
	e.printStacktrace();
}
</code></pre>
</td>
</tr>
</table>
<p>Here is the complete application code:</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import javax.wireless.messaging.*;
import java.io.*;
import java.lang.*;
import java.util.*;

//A first MIDlet with simple text and a few commands.
public class WMAExample extends MIDlet
               implements CommandListener, MessageListener  {

  //The exit commands
  private Command exitCommand;
  //Command to get Message
  private Command getMsgCommand;

  //The display for this MIDlet
  private Display display;

  Form displayForm;
  String msgReceived;

  MessageConnection serverConn;

  public WMAExample() {
    display = Display.getDisplay(this);
    exitCommand =
    new Command("Exit", Command.SCREEN, 1);
	getMsgCommand =
    new Command("Get", Command.SCREEN, 1);

 }

 // Start the MIDlet by creating two command buttons
  public void startApp() {
  	 displayForm = new Form("Get Message");

	 displayForm.addCommand(exitCommand);
     displayForm.addCommand(getMsgCommand);

     displayForm.setCommandListener(this);
	 displayForm.setItemStateListener(this);
	 display.setCurrent(displayForm);

	 try
	 {
	 serverConn = (MessageConnection)Connector.open
	 ("sms://:5000");
	 // Register the listener for inbound messages.
     serverConn.setMessageListener(this);

	 }
	 catch (IOException ioExc)
	 {
	 System.out.println("Server connection could
	 not be obtained");
	 ioExc.printStackTrace();
	 } 

  }

  public void notifyIncomingMessage(MessageConnection
  conn) {

        Message msg = null;
        //  Try reading (maybe block for) a message
        try {
            msg = conn.receive();
        }
        catch (Exception e) {
            // Handle reading errors
            System.out.println("processMessage.receive "
            + e);
        }
        // Process the received message
        if (msg instanceof TextMessage) {
            TextMessage tmsg = (TextMessage)msg;
    		msgReceived = tmsg.getPayloadText();
        }
        else
		{
            // process received message
            if (msg instanceof BinaryMessage) {
                BinaryMessage bmsg = (BinaryMessage)msg;
                byte[] data = bmsg.getPayloadData();
                //  Handle the binary message...
				msgReceived = data.toString();

        }

}
  // Pause is a no-op because there are no   background
  // activities
  public void pauseApp() { }

  // Destroy must cleanup everything not handled
  // by the garbage collector.

  public void destroyApp(boolean unconditional) {
  try {
    if (serverConn != null) {
        serverConn.setMessageListener(null);
        serverConn.close();
    }
}
catch (IOException e) {
    //  Handle the exception...
	e.printStacktrace();
}

}

 // Respond to commands.
  public void commandAction(
  Command c, Displayable s) {
    if (c == exitCommand) {
      	destroyApp(false);
      	notifyDestroyed();
    }

	if (c == getMsgCommand) {
		try
		{

			displayForm.append(msgReceived);
			display.setCurrent(displayForm);

		}
		catch (Exception exc)
		{
			exc.printStackTrace();
		}

	}
  }

 }
</code></pre>
</td>
</tr>
</table>
<p>Next is an example of a WMA client that sends a SMS message to a GSM mobile phone. The WMA Client can only send messages. It creates a <code>MessageConnection</code> by passing a string identifying a destination address (which is a valid mobile number) to the Connector.open() method. Try:</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
	 {
	 clientConn = (MessageConnection)Connector.open("sms://
	 +18643630999:5000");
	 }
	 catch (IOException ioExc)
	 {
	 System.out.println("Client connection could not be obtained");
	 ioExc.printStackTrace();
	 }
</code></pre>
</td>
</tr>
</table>
<p>It then creates a valid <code>TextMessage</code> object by setting the payload and destination address and sends the message through the <code>MessageConnection</code>.</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
TextMessage tmsg =
            (TextMessage)clientConn.newMessage
              (MessageConnection.TEXT_MESSAGE);
        	tmsg.setAddress("sms://18643630999:5000");
        	tmsg.setPayloadText(msgToSend);
        	clientConn.send(tmsg);
</code></pre>
</td>
</tr>
</table>
<p>Here is the complete application code for WMA Client:</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import javax.wireless.messaging.*;
import java.io.*;
import java.lang.*;
import java.util.*;

//A first MIDlet with simple text and a few commands.
public class WMAClient extends MIDlet
               implements CommandListener, MessageListener  {

  //The exit commands
  private Command exitCommand;
  //Command to get Message
  private Command sendMsgCommand;

  //The display for this MIDlet
  private Display display;

  Form displayForm;
  String msgToSend="Can you hear me?";

  MessageConnection clientConn;

  public WMAClient() {
    display = Display.getDisplay(this);
    exitCommand =
    new Command("Exit", Command.SCREEN, 1);
	sendMsgCommand =
    new Command("Send", Command.SCREEN, 1);

 }

public void notifyIncomingMessage(MessageConnection conn)
 {

 }

 // Start the MIDlet by creating the TextBox and
  // associating the exit command and listener.
  public void startApp() {
  	 displayForm = new Form("Send Message");

	 displayForm.addCommand(exitCommand);
     displayForm.addCommand(sendMsgCommand);

     displayForm.setCommandListener(this);
	 displayForm.setItemStateListener(this);
	 display.setCurrent(displayForm);

	 try
	 {
	 clientConn = (MessageConnection)Connector.open("sms://
	 +18643630999:5000");
	 }
	 catch (IOException ioExc)
	 {
	 System.out.println("Client connection could
	 not be obtained");

	 ioExc.printStackTrace();
	 } 

  }

  // Pause is a no-op because there is no   background
  // activities or record stores to be closed.
  public void pauseApp() { }

  // Destroy must cleanup everything not handled
  // by the garbage collector.
  public void destroyApp(boolean unconditional) { }

 // Respond to commands.
  public void commandAction(
  Command c, Displayable s) {
    if (c == exitCommand) {
      	destroyApp(false);
      	notifyDestroyed();
    }

	if (c == sendMsgCommand) {
		try
		{
			TextMessage tmsg =
            (TextMessage)clientConn.newMessage
              (MessageConnection.TEXT_MESSAGE);
        	tmsg.setAddress("sms://18643630999:5000");
        	tmsg.setPayloadText(msgToSend);
        	clientConn.send(tmsg);

		}
		catch (Exception exc)
		{
			exc.printStackTrace();
		}

	}
  }

 }
</code></pre>
</td>
</tr>
</table>
<p><a name="6"><span class="atitle2">Deploying wireless messaging</span></a><br />Always follow these three steps when deploying a MIDlet with wireless messaging capability:</p>
<ol xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<li>Download a Reference Implementation of WMA 1.0 from <a target="new" href="http://java.sun.com/products/j2mewtoolkit" trackclick="no">http://java.sun.com/products/wma</a>. It is compatible with version 1.0.4 and higher of J2ME toolkit.</p>
</li>
<li>Copy wma.jar, the WMA Reference Implementation from &lt;WMA Root dir&gt;/ wma1_0/lib to &lt;J2ME Root dir&gt;/lib.
</li>
<li>Update internal.config in the &lt;J2ME Root dir&gt;/lib directory with SMS and CBS specific entries.
</li>
</ol>
<p>In datagram-emulation mode, the WMA 1.0 RI emulates the transport by packing the SMS message into a Datagram and forming the actual client or server address based on the following entries:</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
# Default values for SMS internal implementation.
com.sun.midp.io.j2me.sms.Impl: com.sun.midp.io.j2me.sms.DatagramImpl
com.sun.midp.io.j2me.sms.DatagramHost: localhost
# Values will be same for a MIDLet which is both a Client and Server
com.sun.midp.io.j2me.sms.DatagramPortIn: 56789
com.sun.midp.io.j2me.sms.DatagramPortOut: 34567
#
# Permissions to use specific SMS features
com.sun.midp.io.j2me.sms.permission.receive: true
com.sun.midp.io.j2me.sms.permission.send: true
#
# Permissions to use specific CBS features
com.sun.midp.io.j2me.cbs.permission.receive: true
#
# Permissions to use connection handlers
javax.microedition.io.Connector.sms: true
javax.microedition.io.Connector.cbs: true
#
# Default SMS Service Center address
wireless.messaging.sms.smsc: +18643299089
############# WMA ##################
</code></pre>
</td>
</tr>
</table>
<p>To build WMAClient and WMAServer classes into a runnable .jad file, create the following batch file:</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
@echo off
rem This batch file builds and preverifies the code for the demos.
rem it then packages them in a JAR file appropriately.
echo *** Creating directories ***
echo *** (this stage may produce already exist errors. Ignore them). ***
mkdir ..tmpclasses
mkdir ..classes
echo *** Compiling source files ***
javac -bootclasspath ......libmidpapi.zip -d ..tmpclasses -classpath
..tmpclasses;f:wtk104libwma.jar ..src*.java
echo *** Preverifying class files ***
......binpreverify -classpath ......libmidpapi.zip;..tmpclasses;
f:wtk104libwma.jar -d ..classes ..tmpclasses
echo *** Jaring preverified class files ***
jar cmf MANIFEST.MF WMAClient.jar -C ..classes .
echo *** Jaring resource files ***
jar umf MANIFEST.MF WMAClient.jar -C ..res .
</code></pre>
</td>
</tr>
</table>
<p>To run the result .jad file, create the following batch file:</p>
<table border="1" cellspacing="0" cellpadding="5" width="100%" bgcolor="#CCCCCC">
<tr>
<td>
<pre><code>
@echo off
rem This file runs the WMAExample.jad/jar file in the emulator.
@echo on
cd ......bin
emulator -classpath ..appsWMAClientbinWMAClient.jar;f:wtk104lib
wma.jar
-Xdescriptor:..appsWMAClientbinWMAClient.jad
</code></pre>
</td>
</tr>
</table>
<p><a name="7"><span class="atitle2">The bottom line</span></a><br />For wireless messaging, the J2ME application opens up a full, new horizon &#8212; the GSM. Through MIDlet, it is now possible to communicate between GSM-compatible mobile phones in a system-independent and portable way.</p>
<p><a name="resources"><span class="atitle2">Resources</span></a>
<ul>
<li>Download the <a href="http://java.sun.com/products/j2mewtoolkit/" trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">J2ME Toolkit</a>,  v1.0.4 and up, to run and test your WMA applications. </p>
</li>
<li>Check out this site, which offers a robust list of <a href="http://wireless.java.sun.com/midp/articles" trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">articles focused on MIDP</a>.
</li>
<li><a href="http://www.webopedia.com" trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Webopedia</a> is an online dictionary and search engine for the terms used in this article, along with all other computer and tech talk.
<p>Read more on MIDlets in the article <a href="http://www-106.ibm.com/developerworks/wireless/library/wi-midlet2/" trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The MIDlets class</a>.  (<i xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">developerWorks</i>, March 2002)</p>
<p>Check out more on networked J2ME applications in the article <a href="http://www-106.ibm.com/developerworks/wireless/library/wi-devo/" trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Mobile device optimization</a>.  (<i xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">developerWorks</i>, January 2003)</p>
</li>
<li>Stay connected to the wireless world with the developerWorks <a href="http://www-106.ibm.com/developerworks/wireless" trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Wireless zone</a>.
</li>
<li>The developerWorks <a href="http://www-106.ibm.com/developerworks/java" trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Java technology zone</a> keeps you up to date on J2ME, MIDlet, and other events in the Java arena.
</li>
<li>Find the latest developments on wireless, mobile, and voice computing on IBM&#8217;s <a href="http://www-106.ibm.com/developerworks/cgi-bin/click.cgi?url=www-3.ibm.com/pvc/index.shtml&amp;origin=wi " trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Pervasive Computing</a> site.
</li>
<li>Build Java apps with IBM&#8217;s <a href="http://www-106.ibm.com/developerworks/cgi-bin/click.cgi?url=www-4.ibm.com/software/ad/vajava/&amp;origin=wi " trackclick="no" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">VisualAge for Java</a>.
<p>First published by IBM developerWorks at <a href="http://www.ibm.com/developerWorks">http://www.ibm.com/developerWorks</a>.</div>
<p>A graduate in computer science and engineering, Soma Ghosh has developed a wide range of Java applications in the areas of e-commerce and networking over the past seven years. She believes that wireless commerce represents the near future of the industry and has recently been drawn to wireless initiatives of existing desktop components and models. Soma is currently an application developer with Entigo, a pioneer and industry leader in real e-business solutions and B2B sell- and service-side e-commerce products. She can be reached at sghosh@entigo.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/extend-jme-to-wireless-messaging-2003-08/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached
Database Caching 1/25 queries in 0.010 seconds using memcached
Object Caching 335/400 objects using memcached

Served from: webpronews.com @ 2012-02-12 11:41:38 -->
