Giter Club home page Giter Club logo

smslib's Issues

NullPointerException in MessageReader

Hi,
I found a NullPointerException in MessageReader. This is the stack trace:

java.lang.NullPointerException
        at org.smslib.gateway.modem.MessageReader.parsePDU(MessageReader.java:103) ~[smslib-dev-SNAPSHOT.jar!/:?]
        at org.smslib.gateway.modem.MessageReader.run(MessageReader.java:67) [smslib-dev-SNAPSHOT.jar!/:?]
(END)

I think that is enough to check if reader.readLine() is not null.

Thanks

StringIndexOutOfBoundsException

I've a strange error happened during the parse of a PDU, I attach the stack trace and some logs.

The line 99 of MessageReader corrispond to:
int memIndex = Integer.parseInt(line.substring(i + 1, j).trim());

21/10/2015 11:50:03,754 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CPMS="SM"
21/10/2015 11:50:04,588 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:04,589 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> +CPMS: 0,30,0,30
21/10/2015 11:50:04,590 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:04,591 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:50:04,592 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> +CPMS: 0,30,0,30$
21/10/2015 11:50:04,593 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CMGL=4
21/10/2015 11:50:05,395 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:05,397 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> +CREG: 1
21/10/2015 11:50:05,398 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:05,399 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:50:05,400 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> +CREG: 1$
21/10/2015 11:50:05,401 ERROR Thread-27 MessageReader:76-Unhandled exception!
java.lang.StringIndexOutOfBoundsException: String index out of range: -7
    at java.lang.String.substring(String.java:1954) ~[?:1.8.0_33]
    at org.smslib.gateway.modem.MessageReader.parsePDU(MessageReader.java:99) ~[smslib-dev-SNAPSHOT.jar!/:?]
    at org.smslib.gateway.modem.MessageReader.run(MessageReader.java:67) [smslib-dev-SNAPSHOT.jar!/:?]
21/10/2015 11:50:20,403 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CPMS="SM"
21/10/2015 11:50:21,238 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:21,240 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> +CPMS: 0,30,0,30
21/10/2015 11:50:21,242 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:21,243 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:50:21,245 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> +CPMS: 0,30,0,30$
21/10/2015 11:50:21,246 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CMGL=4
21/10/2015 11:50:22,050 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:22,052 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:50:22,054 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> 
21/10/2015 11:50:37,055 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CPMS="SM"
21/10/2015 11:50:37,890 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:37,892 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> +CPMS: 0,30,0,30
21/10/2015 11:50:37,894 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:37,896 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:50:37,897 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> +CPMS: 0,30,0,30$
21/10/2015 11:50:37,898 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CMGL=4
21/10/2015 11:50:38,702 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:38,704 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:50:38,706 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> 
21/10/2015 11:50:53,708 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CPMS="SM"
21/10/2015 11:50:54,543 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:54,545 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> +CPMS: 0,30,0,30
21/10/2015 11:50:54,546 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:54,548 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:50:54,549 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> +CPMS: 0,30,0,30$
21/10/2015 11:50:54,551 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CMGL=4
21/10/2015 11:50:55,355 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:50:55,357 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:50:55,358 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> 
21/10/2015 11:51:10,360 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CPMS="SM"
21/10/2015 11:51:11,195 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:51:11,197 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> +CPMS: 0,30,0,30
21/10/2015 11:51:11,199 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:51:11,200 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:51:11,202 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> +CPMS: 0,30,0,30$
21/10/2015 11:51:11,203 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CMGL=4
21/10/2015 11:51:12,007 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:51:12,009 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:51:12,011 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> 
21/10/2015 11:51:27,013 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CPMS="SM"
21/10/2015 11:51:27,848 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:51:27,850 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> +CPMS: 0,30,0,30
21/10/2015 11:51:27,852 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:51:27,853 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:51:27,855 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> +CPMS: 0,30,0,30$
21/10/2015 11:51:27,856 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CMGL=4
21/10/2015 11:51:28,660 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:51:28,663 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:51:28,665 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> 
21/10/2015 11:51:43,667 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CPMS="SM"
21/10/2015 11:51:44,502 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:51:44,504 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> +CPMS: 0,30,0,30
21/10/2015 11:51:44,506 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:51:44,507 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:51:44,509 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> +CPMS: 0,30,0,30$
21/10/2015 11:51:44,510 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CMGL=4
21/10/2015 11:51:45,314 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:51:45,316 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:51:45,318 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> 
21/10/2015 11:52:00,319 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CPMS="SM"
21/10/2015 11:52:01,154 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:52:01,156 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> +CREG: 2
21/10/2015 11:52:01,157 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:52:01,159 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> +CREG: 1
21/10/2015 11:52:01,160 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:52:01,162 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> +CPMS: 0,30,0,30
21/10/2015 11:52:01,163 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:52:01,165 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:52:01,166 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> +CREG: 2$+CREG: 1$+CPMS: 0,30,0,30$
21/10/2015 11:52:01,167 DEBUG Thread-27 AbstractModemDriver:85-/dev/ttyUSB0:115200 <== AT+CMGL=4
21/10/2015 11:52:01,971 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> 
21/10/2015 11:52:01,973 DEBUG Thread-27 AbstractModemDriver:129-/dev/ttyUSB0:115200 >>> OK
21/10/2015 11:52:01,974 DEBUG Thread-27 AbstractModemDriver:183-/dev/ttyUSB0:115200 ==> 

please advice sample sql for gateway

HI

I am using modem . DATABASE Dump is below
INSERT INTO smslib_gateways (id, class, gateway_id, p0, p1, p2, p3, p4, p5, sender_address, priority, max_message_parts, delivery_reports, profile, enabled) VALUES
(1, 'org.smslib.gateway.modem.Modem', 'COM30', 'com30', '115200', NULL, NULL, NULL, NULL, NULL, 0, 4, 0, '*', 1);

But I am getting exception. Please advise.

107 2016-01-03 16:40:09,137 [Main Dispatcher] DEBUG org.smslib.threading.ServiceMessageDispatcher - Started!
363 2016-01-03 16:40:09,393 [main] INFO org.smslib.smsserver.SMSServer - Registering gateway: COM30
2930 2016-01-03 16:40:11,960 [main] INFO org.smslib.Service - Registering Gateway: COM30 (GSM Modem) [com30:115200]
2930 2016-01-03 16:40:11,960 [main] INFO org.smslib.Service - Starting gateway: COM30
2931 2016-01-03 16:40:11,961 [main] INFO org.smslib.gateway.AbstractGateway - Starting gateway: COM30 (GSM Modem) [com30:115200]
2932 2016-01-03 16:40:11,962 [main] DEBUG org.smslib.gateway.modem.driver.SerialModemDriver - Opening comm port: com30:115200
2939 2016-01-03 16:40:11,969 [main] INFO org.smslib.gateway.modem.driver.serial.CommPortIdentifier - Using 'javax.comm' serial library.
2942 2016-01-03 16:40:11,972 [main] ERROR org.smslib.gateway.AbstractGateway - Unhandled Exception!
java.lang.RuntimeException: javax.comm.NoSuchPortException
at org.smslib.gateway.modem.driver.serial.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:199)
at org.smslib.gateway.modem.driver.SerialModemDriver.openPort(SerialModemDriver.java:38)
at org.smslib.gateway.modem.Modem._start(Modem.java:85)
at org.smslib.gateway.AbstractGateway.start(AbstractGateway.java:176)
at org.smslib.Service.registerGateway(Service.java:533)
at org.smslib.smsserver.SMSServer.loadGatewayDefinitions(SMSServer.java:130)
at org.smslib.smsserver.SMSServer.startup(SMSServer.java:95)
at org.smslib.smsserver.SMSServer.main(SMSServer.java:198)
Caused by: javax.comm.NoSuchPortException
at javax.comm.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:105)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.smslib.gateway.modem.driver.serial.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:195)
... 7 more
2946 2016-01-03 16:40:11,976 [main] WARN org.smslib.Service - Gateway COM30 did not start!

Neither Java Comm nor RXTX library found.

I'm trying out smslib and cannot get it working. You see, I have followed Instructions on smslib site and did:
∘ sudo cp RXTXcomm.jar /usr/lib/jvm/java-7-oracle/jre/lib/ext/
∘ sudo cp librxtxSerial.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/
∘ sudo cp librxtxParallel.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/

Tried to run an example ans all i get is error below. I tried to delete these and install Ubuntu package sudo apt-get install librxtx-java with pretty same error.

Is there anything else I need to do? I use version 4 beta with Netbeans IDE, Ubuntu 13.10 Saucy.

Here is the error

Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.smslib.gateway.modem.driver.SerialModemDriver.openPort(SerialModemDriver.java:38)
    at org.smslib.gateway.modem.Modem._start(Modem.java:85)
    at org.smslib.gateway.AbstractGateway.start(AbstractGateway.java:176)
    at org.smslib.Service.registerGateway(Service.java:531)
    at co.tz.hosannahighertech.ujumbe.Ujumbe.main(Ujumbe.java:40)
Caused by: java.lang.RuntimeException: Neither Java Comm nor RXTX library found. Please check http://smslib.org/doc/installation/#Java_Communications_Library
    at org.smslib.gateway.modem.driver.serial.CommPortIdentifier.<clinit>(CommPortIdentifier.java:63)
    ... 5 more
Java Result: 1

Call not auto disconnected (At least on Huawei Modem)

I'm using Huawei 1550 modem on Mac OSX. When I receive a call on the modem, CLIP is shown and ATH command is sent to disconnect the call. But the call is not disconnected.
Solution:
While configuring modem properties after sending AT+CLIP=1, we also need to send AT+CVHU=0 so that call can be connected with ATH command.

Simple SMS Sending Example [Modem]

Hi,
It will be great for someone who is well versed in library to provide simple working example for v4. Using Modem will be great. I cannot find class documentation for Modem class.

SMSlib Documentation update

Hi, First of all, I thank you for the wonderful work. I would like to take it to your notice that JSMPP version has to be updated to v2.2.1, but its mentioned as jsmpp-2.1.0.jar in the documentation. Please update. Thanks

Gateway IP GSM Modem connections without PIN/MSC#

Im trying to create a Gateway connection using an IP GSM Modem, however it doesn't require a pin and i don't know how to find out the MSC#, and I don't know what "AA" refer to. it looks like it might be "memoryLocations" but i don't know what that means either.

I have looked at the example here and i am trying to connect using a similar method

import org.smslib.Service;
import org.smslib.gateway.modem.Modem;
import org.smslib.message.OutboundMessage;

public class SendSms {
    public SendSms() {
        Modem gateway = new Modem("modem", "host", "4001", "0000", "0000", null, "AA");
        Service.getInstance().start();
        Service.getInstance().registerGateway(gateway);
        System.out.println(gateway.getDeviceInformation());
        OutboundMessage message = new OutboundMessage("number", "Sending test.");
        Service.getInstance().send(message);
        Service.getInstance().stop();
        Service.getInstance().terminate();
    };
}

i believe this is because it is not connecting to the modem.

System.out.println(gateway.getDeviceInformation());

returns

MANUF:Sierra Wireless, MODEL:WMP100 Product, SERNO:N/A, IMSI:N/A, SW:N/A, RSSI:0dBm, MODE:null

i am certain that the ip and port are correct but i don't know how to check where the connection is failing.

SIM900

Dear Sir,

Is this Library compatible with SIM900 chip?

Kind regards,
Leandro

Port on mac osx

A serial port on OSX is generally depicted as /dev/tty.devmaufacturer-version
To be precise in my case it is /dev/tty.HUAWEIMobile-Modem
But if I enter this as a port in Modem class then this is assumed as an IP address rather than a serial port because of the function isPortAnIpAddress
private boolean isPortAnIpAddress(String address)
{
if (address.indexOf('.') >= 0) return true;
return false;
}
Since this is treated as an ip address, the application fails to start.

smslib lightweight?

smslib is a great looking tool, however, for my needs its kinda slow to connect i believe this is due to all of the unnecessary stuff it does, like creating a http server, and a dozen different threads and having code run on those threads. these things seem unnecessary to me in most cases. could a version of smslib be distributed with these things stripped out? maybe it is due to the singleton nature of this application, and maybe its just not possible.

i mention this because i am looking for a library to send sms messages as part of a larger application, my application will be sharing the gsm modem with other applications and having smslib running efficiently means keeping the connection open. i cant keep other applications from connecting to it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.