private boolean isPseudoPingRequest(InboundMessage msg) { if (s_tokenResponses.size() == 0) { LOG.debug("No token responses found, not processing pseudo-pings"); return false; } if (msg instanceof InboundBinaryMessage || msg.getText() == null) return false; for (String token : s_tokenResponses.keySet()) { if (msg.getText().matches(token)) return true; } return false; }
private String getPseudoPongResponse(InboundMessage msg) { for (Entry<String, String> tuple : s_tokenResponses.entrySet()) { if (msg.getText().matches(tuple.getKey())) { return tuple.getValue(); } } LOG.debug("No pseudo-ping response found, defaulting to 'pong' (this should not happen)"); return ""; }
/** {@inheritDoc} */ @Override public void process(AGateway gateway, MessageTypes msgType, InboundMessage msg) { LOG.debug("SmsPonger.processInboundMessage"); if (isPingRequest(msg)) { LOG.debug("Message is a ping request: {}", msg.getText()); sendPong(gateway, msg); } }
private boolean isPingRequest(InboundMessage msg) { return (!(msg instanceof InboundBinaryMessage)) && msg.getText() != null && (isPseudoPingRequest(msg) || isCanonicalPingRequest(msg)); }
/** * Called when an incoming message is detected. It is responsible for * handing off incoming messages to the inbound message processor and * removing the message from the modem's memory. */ public void process(String gatewayId, MessageTypes msgType, InboundMessage msg) { // No requestId for inbound messages, using smslib id long msgId = msg.getMessageId(); if (log.isDebugEnabled()) log.debug("receiving inbound message: id=" + msgId); if (acceptIncoming && inboundService != null) { try { inboundService.processRequest(msg.getText(), msg .getOriginator(), false); service.deleteMessage(msg); if (log.isDebugEnabled()) log.debug("removed inbound message: id=" + msgId); } catch (Throwable t) { log.error("inbound message failure: id=" + msgId, t); } } }
public void run() { while(keepPolling) { List<InboundMessage> arrayList = new ArrayList<InboundMessage>(); try { service.readMessages(arrayList, InboundMessage.MessageClasses.UNREAD) ; for(InboundMessage msg : arrayList) { SMSMessage sms =null; synchronized (this) { sms= new SMSMessage(msg.getOriginator(),null,msg.getText() ,SMSMessage.IN_MESSAGE); } smsManager.dispatchToAxis2(sms); //delete the message form inbox service.deleteMessage(msg); } } catch (Exception ex) { log.error("Error Occured while reading messages",ex); } try { Thread.sleep(pollInterval); } catch (InterruptedException e) { } } }
@Override public void process(AGateway gateway, Message.MessageTypes msgType, InboundMessage msg) { log.info(String.format("Inbound notification from (%s) with message (%s) of type (%s) received from gateway (%s)", msg.getOriginator(), msg.getText(), msgType.toString(), gateway.getGatewayId())); data.put(INBOUND_MESSAGE, msg.getText()); data.put(TIMESTAMP, new DateTime(msg.getDate())); relayEvent(data, INBOUND_SMS); smsAuditService.log(new SmsRecord(INBOUND, msg.getOriginator(), msg.getText(), newDateTime(msg.getDate()), RECEIVED, Integer.toString(msg.getMpRefNo())));