Giter Club home page Giter Club logo

smslib's People

Contributors

tdelenikas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smslib's Issues

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.

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.

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.

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

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.

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!

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.

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 ==> 

SIM900

Dear Sir,

Is this Library compatible with SIM900 chip?

Kind regards,
Leandro

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

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.