http://smslib.org/doc/installation/

and then in the distribution zip, you'll find a "log4j.properties"
file. INstall it properly

On Fri, Apr 20, 2012 at 5:42 PM, nowshad rahaman
<[email protected]> wrote:
> // ReadMessages.java - Sample application.
> //
> // This application shows you the basic procedure needed for reading
> // SMS messages from your GSM modem, in synchronous mode.
> //
> // Operation description:
> // The application setup the necessary objects and connects to the
> phone.
> // As a first step, it reads all messages found in the phone.
> // Then, it goes to sleep, allowing the asynchronous callback handlers
> to
> // be called. Furthermore, for callback demonstration purposes, it
> responds
> // to each received message with a "Got It!" reply.
> //
> // Tasks:
> // 1) Setup Service object.
> // 2) Setup one or more Gateway objects.
> // 3) Attach Gateway objects to Service object.
> // 4) Setup callback notifications.
> // 5) Run
>
> package examples.modem;
>
> import java.util.ArrayList;
> import java.util.List;
> import javax.crypto.spec.SecretKeySpec;
> import org.smslib.AGateway;
> import org.smslib.AGateway.GatewayStatuses;
> import org.smslib.AGateway.Protocols;
> import org.smslib.ICallNotification;
> import org.smslib.IGatewayStatusNotification;
> import org.smslib.IInboundMessageNotification;
> import org.smslib.IOrphanedMessageNotification;
> import org.smslib.InboundMessage;
> import org.smslib.InboundMessage.MessageClasses;
> import org.smslib.Library;
> import org.smslib.Message.MessageTypes;
> import org.smslib.Service;
> import org.smslib.crypto.AESKey;
> import org.smslib.modem.SerialModemGateway;
>
> public class ReadMessages
> {
>        public void doIt() throws Exception
>        {
>                // Define a list which will hold the read messages.
>                List<InboundMessage> msgList;
>                // Create the notification callback method for inbound & status
> report
>                // messages.
>                InboundNotification inboundNotification = new 
> InboundNotification();
>                // Create the notification callback method for inbound voice 
> calls.
>                CallNotification callNotification = new CallNotification();
>                //Create the notification callback method for gateway statuses.
>                GatewayStatusNotification statusNotification = new
> GatewayStatusNotification();
>                OrphanedMessageNotification orphanedMessageNotification = new
> OrphanedMessageNotification();
>                try
>                {
>                        System.out.println("Example: Read messages from a 
> serial gsm
> modem.");
>                        System.out.println(Library.getLibraryDescription());
>                        System.out.println("Version: " + 
> Library.getLibraryVersion());
>                        // Create the Gateway representing the serial GSM 
> modem.
>                        SerialModemGateway gateway = new 
> SerialModemGateway("modem.com1",
> "COM1", 9600, "Huawei", "E169G");
>                        // Set the modem protocol to PDU (alternative is 
> TEXT). PDU is the
> default, anyway...
>                        gateway.setProtocol(Protocols.PDU);
>                        // Do we want the Gateway to be used for Inbound 
> messages?
>                        gateway.setInbound(true);
>                        // Do we want the Gateway to be used for Outbound 
> messages?
>                        gateway.setOutbound(true);
>                        // Let SMSLib know which is the SIM PIN.
>                        gateway.setSimPin("0000");
>                        // Set up the notification methods.
>
> Service.getInstance().setInboundMessageNotification(inboundNotification);
>                        
> Service.getInstance().setCallNotification(callNotification);
>
> Service.getInstance().setGatewayStatusNotification(statusNotification);
>
> Service.getInstance().setOrphanedMessageNotification(orphanedMessageNotification);
>                        // Add the Gateway to the Service object.
>                        Service.getInstance().addGateway(gateway);
>                        // Similarly, you may define as many Gateway objects, 
> representing
>                        // various GSM modems, add them in the Service object 
> and control
> all of them.
>                        // Start! (i.e. connect to all defined Gateways)
>                        Service.getInstance().startService();
>                        // Printout some general information about the modem.
>                        System.out.println();
>                        System.out.println("Modem Information:");
>                        System.out.println("  Manufacturer: " + 
> gateway.getManufacturer());
>                        System.out.println("  Model: " + gateway.getModel());
>                        System.out.println("  Serial No: " + 
> gateway.getSerialNo());
>                        System.out.println("  SIM IMSI: " + gateway.getImsi());
>                        System.out.println("  Signal Level: " + 
> gateway.getSignalLevel() +
> " dBm");
>                        System.out.println("  Battery Level: " + 
> gateway.getBatteryLevel()
> + "%");
>                        System.out.println();
>                        // In case you work with encrypted messages, its a 
> good time to
> declare your keys.
>                        // Create a new AES Key with a known key value.
>                        // Register it in KeyManager in order to keep it 
> active. SMSLib
> will then automatically
>                        // encrypt / decrypt all messages send to / received 
> from this
> number.
>                        //
> Service.getInstance().getKeyManager().registerKey("+306948494037", new
> AESKey(new SecretKeySpec("0011223344556677".getBytes(), "AES")));
>                        // Read Messages. The reading is done via the Service 
> object and
>                        // affects all Gateway objects defined. This can also 
> be more
> directed to a specific
>                        // Gateway - look the JavaDocs for information on the 
> Service
> method calls.
>                        msgList = new ArrayList<InboundMessage>();
>                        Service.getInstance().readMessages(msgList, 
> MessageClasses.ALL);
>                        for (InboundMessage msg : msgList)
>                                System.out.println(msg);
>                        // Sleep now. Emulate real world situation and give a 
> chance to the
> notifications
>                        // methods to be called in the event of message or 
> voice call
> reception.
>                        System.out.println("Now Sleeping - Hit <enter> to stop 
> service.");
>                        System.in.read();
>                        System.in.read();
>                }
>                catch (Exception e)
>                {
>                        e.printStackTrace();
>                }
>                finally
>                {
>                        Service.getInstance().stopService();
>                }
>        }
>
>        public class InboundNotification implements
> IInboundMessageNotification
>        {
>                public void process(AGateway gateway, MessageTypes msgType,
> InboundMessage msg)
>                {
>                        if (msgType == MessageTypes.INBOUND) 
> System.out.println(">>> New
> Inbound message detected from Gateway: " + gateway.getGatewayId());
>                        else if (msgType == MessageTypes.STATUSREPORT)
> System.out.println(">>> New Inbound Status Report message detected
> from Gateway: " + gateway.getGatewayId());
>                        System.out.println(msg);
>                }
>        }
>
>        public class CallNotification implements ICallNotification
>        {
>                public void process(AGateway gateway, String callerId)
>                {
>                        System.out.println(">>> New call detected from 
> Gateway: " +
> gateway.getGatewayId() + " : " + callerId);
>                }
>        }
>
>        public class GatewayStatusNotification implements
> IGatewayStatusNotification
>        {
>                public void process(AGateway gateway, GatewayStatuses 
> oldStatus,
> GatewayStatuses newStatus)
>                {
>                        System.out.println(">>> Gateway Status change for " +
> gateway.getGatewayId() + ", OLD: " + oldStatus + " -> NEW: " +
> newStatus);
>                }
>        }
>
>        public class OrphanedMessageNotification implements
> IOrphanedMessageNotification
>        {
>                public boolean process(AGateway gateway, InboundMessage msg)
>                {
>                        System.out.println(">>> Orphaned message part detected 
> from " +
> gateway.getGatewayId());
>                        System.out.println(msg);
>                        // Since we are just testing, return FALSE and keep 
> the orphaned
> message part.
>                        return false;
>                }
>        }
>
>        public static void main(String args[])
>        {
>                ReadMessages app = new ReadMessages();
>                try
>                {
>                        app.doIt();
>                }
>                catch (Exception e)
>                {
>                        e.printStackTrace();
>                }
>        }
> }
>
>
>
> run:
> Example: Send message from a serial gsm modem.
> SMSLib: A Java API library for sending and receiving SMS via a GSM
> modem or other supported   gateways.
> This software is distributed under the terms of the Apache v2.0
> License.
> Web Site: http://smslib.org
> Version: 3.5.1
> log4j:WARN No appenders could be found for logger (smslib).
> log4j:WARN Please initialize the log4j system properly.
> log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig
> for more info.
> org.smslib.GatewayException: Comm library exception:
> java.lang.RuntimeException: javax.comm.PortInUseException: Port
> currently owned by Unknown Windows Application
>    at
> org.smslib.modem.SerialModemDriver.connectPort(SerialModemDriver.java:
> 102)
>    at org.smslib.modem.AModemDriver.connect(AModemDriver.java:114)
>    at org.smslib.modem.ModemGateway.startGateway(ModemGateway.java:
> 189)
>    at org.smslib.Service$1Starter.run(Service.java:276)
>
> --
> You received this message because you are subscribed to the Google Groups 
> "SMSLib Discussion Group" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/smslib?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"SMSLib Discussion Group" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/smslib?hl=en.

Reply via email to