java - Unable to send message using smslib -
i using simado gdt11 modem , prolific usb serial port driver. new connection appears in device manager > ports list. however, unable send messages using smslib.
i using basic class specified in smslib examples, there error states there no response device. have added polling parameters because of use of usb port no avail. commtest utility able connect same port, don't think port number issue.
stacktrace:
log4j:warn no appenders found logger (smslib). log4j:warn please initialize log4j system properly. log4j:warn see http://logging.apache.org/log4j/1.2/faq.html#noconfig more info. org.smslib.timeoutexception: no response device. @ org.smslib.modem.amodemdriver$charqueue.get(amodemdriver.java:535) @ org.smslib.modem.amodemdriver.getresponse(amodemdriver.java:338) @ org.smslib.modem.amodemdriver.getresponse(amodemdriver.java:313) @ org.smslib.modem.athandler.athandler.getsimstatus(athandler.java:145) @ org.smslib.modem.amodemdriver.connect(amodemdriver.java:132) @ org.smslib.modem.modemgateway.startgateway(modemgateway.java:189) @ org.smslib.service$1starter.run(service.java:277)
code:
public class sendmessage { public void doit() throws exception { serialmodemgateway gateway = new serialmodemgateway("modem.com4", "com4", 115200, "simado", "gdt11"); try { outboundnotification outboundnotification = new outboundnotification(); system.out.println("example: send message serial gsm modem."); system.out.println(library.getlibrarydescription()); system.out.println("version: " + library.getlibraryversion()); gateway.setinbound(false); gateway.setoutbound(true); gateway.setsimpin("0000"); // explicit smsc address set required modems. // below vodafone greece - sure set own! gateway.setsmscnumber("+919560734413"); service.getinstance().setoutboundmessagenotification(outboundnotification); service.getinstance().addgateway(gateway); service.getinstance().s.serial_noflush = true; service.getinstance().s.serial_polling = true; service.getinstance().s.serial_polling_interval = 200; service.getinstance().startservice(); 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(); // send message synchronously. outboundmessage msg = new outboundmessage("+918095065000", "hello smslib!"); service.getinstance().sendmessage(msg); system.out.println(msg); } { gateway.stopgateway(); service.getinstance().stopservice(); } } public class outboundnotification implements ioutboundmessagenotification { public void process(agateway gateway, outboundmessage msg) { system.out.println("outbound handler called gateway: " + gateway.getgatewayid()); system.out.println(msg); } } public static void main(string args[]) { sendmessage app = new sendmessage(); try { app.doit(); } catch (exception e) { e.printstacktrace(); } } }
i resolved issue. code correct. apparently, using sim card on roaming isn't best idea. shifted local sim card, , message sent.
furthermore, using usb com port emulator (prolific usb-serial) due modem not initializing while running code.
to solve this, ran initialization command(at + cmgf = 1
) on server start up.
Comments
Post a Comment