From 91cb3ce7a951052a73b6976f52e01bc527d884ac Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 23 Nov 2012 17:49:04 +0000 Subject: [PATCH] Modem implementation using jSSC (untested). --- libs/jssc-0.9-briar.jar | Bin 0 -> 120760 bytes src/net/sf/briar/plugins/modem/Modem.java | 35 ++ src/net/sf/briar/plugins/modem/ModemImpl.java | 304 ++++++++++++++++++ 3 files changed, 339 insertions(+) create mode 100644 libs/jssc-0.9-briar.jar create mode 100644 src/net/sf/briar/plugins/modem/Modem.java create mode 100644 src/net/sf/briar/plugins/modem/ModemImpl.java diff --git a/libs/jssc-0.9-briar.jar b/libs/jssc-0.9-briar.jar new file mode 100644 index 0000000000000000000000000000000000000000..dd1b56b9ba69727bd197f1f1f6678e2c05b88e15 GIT binary patch literal 120760 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 Uz*{N!hzCF2VgS%Whk)Py3r6*sl>h($ literal 0 HcmV?d00001 diff --git a/src/net/sf/briar/plugins/modem/Modem.java b/src/net/sf/briar/plugins/modem/Modem.java new file mode 100644 index 000000000..d85a7bfac --- /dev/null +++ b/src/net/sf/briar/plugins/modem/Modem.java @@ -0,0 +1,35 @@ +package net.sf.briar.plugins.modem; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +interface Modem { + + /** + * Call this method once after creating the modem. If an exception is + * thrown, the modem cannot be used. + */ + void init() throws IOException; + + /** + * Initiates an outgoing call and returns true if the call connects. If the + * call does not connect the modem is hung up. + */ + boolean dial(String number) throws IOException; + + /** Returns a stream for reading from the currently connected call. */ + InputStream getInputStream(); + + /** Returns a stream for writing to the currently connected call. */ + OutputStream getOutputStream(); + + /** Hangs up the modem, ending the currently connected call. */ + void hangUp() throws IOException; + + interface Callback { + + /** Called when an incoming call connects. */ + void incomingCallConnected(); + } +} diff --git a/src/net/sf/briar/plugins/modem/ModemImpl.java b/src/net/sf/briar/plugins/modem/ModemImpl.java new file mode 100644 index 000000000..be4515fa5 --- /dev/null +++ b/src/net/sf/briar/plugins/modem/ModemImpl.java @@ -0,0 +1,304 @@ +package net.sf.briar.plugins.modem; + +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static jssc.SerialPort.PURGE_RXCLEAR; +import static jssc.SerialPort.PURGE_TXCLEAR; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.logging.Logger; + +import jssc.SerialPort; +import jssc.SerialPortEvent; +import jssc.SerialPortEventListener; +import jssc.SerialPortException; + +class ModemImpl implements Modem, SerialPortEventListener { + + private static final Logger LOG = + Logger.getLogger(ModemImpl.class.getName()); + private static final int MAX_LINE_LENGTH = 256; + private static final int[] BAUD_RATES = { + 256000, 128000, 115200, 57600, 38400, 19200, 14400, 9600, 4800, 1200 + }; + private static final int OK_TIMEOUT = 5 * 1000; // Milliseconds + private static final int CONNECT_TIMEOUT = 60 * 1000; // Milliseconds + + private final Callback callback; + private final SerialPort port; + private final AtomicBoolean initialised, offHook, connected; + private final byte[] line; + + private int lineLen = 0; + + // A fresh queue is used for each connection + private volatile BlockingQueue received; + + ModemImpl(Callback callback, String portName) { + this.callback = callback; + port = new SerialPort(portName); + initialised = new AtomicBoolean(false); + offHook = new AtomicBoolean(false); + connected = new AtomicBoolean(false); + line = new byte[MAX_LINE_LENGTH]; + received = new LinkedBlockingQueue(); + } + + public void init() throws IOException { + if(LOG.isLoggable(INFO)) LOG.info("Initialising"); + try { + // Open the serial port + if(!port.openPort()) + throw new IOException("Failed to open serial port"); + // Find a suitable baud rate + boolean foundBaudRate = false; + for(int baudRate : BAUD_RATES) { + if(port.setParams(baudRate, 8, 1, 0)) { + foundBaudRate = true; + break; + } + } + if(!foundBaudRate) + throw new IOException("Could not find a suitable baud rate"); + // Listen for incoming data and hangup events + port.addEventListener(this); + // Initialise the modem + port.purgePort(PURGE_RXCLEAR | PURGE_TXCLEAR); + port.writeBytes("ATZ\r\n".getBytes("US-ASCII")); // Reset + port.writeBytes("ATE0\r\n".getBytes("US-ASCII")); // Echo off + } catch(SerialPortException e) { + throw new IOException(e.toString()); + } + try { + // Wait for the modem to respond "OK" + synchronized(initialised) { + if(!initialised.get()) initialised.wait(OK_TIMEOUT); + if(!initialised.get()) + throw new IOException("Modem did not respond"); + } + } catch(InterruptedException e) { + if(LOG.isLoggable(WARNING)) + LOG.warning("Interrupted while initialising modem"); + Thread.currentThread().interrupt(); + throw new IOException("Interrupted while initialising modem"); + } + } + + public boolean dial(String number) throws IOException { + if(offHook.getAndSet(true)) { + if(LOG.isLoggable(INFO)) + LOG.info("Not dialling - call in progress"); + return false; + } + if(LOG.isLoggable(INFO)) LOG.info("Dialling"); + try { + port.writeBytes(("ATDT" + number + "\r\n").getBytes("US-ASCII")); + } catch(SerialPortException e) { + throw new IOException(e.toString()); + } + try { + synchronized(connected) { + if(!connected.get()) connected.wait(CONNECT_TIMEOUT); + } + } catch(InterruptedException e) { + if(LOG.isLoggable(WARNING)) + LOG.warning("Interrupted while connecting outgoing call"); + Thread.currentThread().interrupt(); + throw new IOException("Interrupted while connecting outgoing call"); + } + if(connected.get()) return true; + hangUp(); + return false; + } + + public InputStream getInputStream() { + return new ModemInputStream(received); + } + + public OutputStream getOutputStream() { + return new ModemOutputStream(); + } + + public void hangUp() throws IOException { + if(LOG.isLoggable(INFO)) LOG.info("Hanging up"); + try { + port.setDTR(false); + } catch(SerialPortException e) { + throw new IOException(e.toString()); + } + received.add(new byte[0]); // Empty buffer indicates EOF + received = new LinkedBlockingQueue(); + connected.set(false); + offHook.set(false); + } + + public void serialEvent(SerialPortEvent ev) { + try { + if(ev.isRXCHAR()) { + byte[] b = port.readBytes(); + if(connected.get()) received.add(b); + else handleText(b); + } else if(ev.isDSR() && ev.getEventValue() == 0) { + if(LOG.isLoggable(INFO)) LOG.info("Remote end hung up"); + hangUp(); + } + } catch(IOException e) { + if(LOG.isLoggable(WARNING)) LOG.warning(e.toString()); + } catch(SerialPortException e) { + if(LOG.isLoggable(WARNING)) LOG.warning(e.toString()); + } + } + + private void handleText(byte[] b) throws IOException { + if(lineLen + b.length > MAX_LINE_LENGTH) + throw new IOException("Line too long"); + for(int i = 0; i < b.length; i++) { + line[lineLen] = b[i]; + if(b[i] == '\n') { + String s = new String(line, 0, lineLen, "US-ASCII").trim(); + lineLen = 0; + if(LOG.isLoggable(INFO)) LOG.info("Modem status: " + s); + if(s.startsWith("CONNECT")) { + // There might be data in the buffer as well as text + int off = i + 1; + if(off < b.length) { + byte[] data = new byte[b.length - off]; + System.arraycopy(b, off, data, 0, data.length); + received.add(data); + } + synchronized(connected) { + if(!connected.getAndSet(true)) + connected.notifyAll(); + } + return; + } else if(s.equals("OK")) { + synchronized(initialised) { + if(!initialised.getAndSet(true)) + initialised.notifyAll(); + } + } else if(s.equals("RING")) { + // FIXME: Don't do this on the event thread + answer(); + } + } else { + lineLen++; + } + } + } + + private void answer() throws IOException { + if(offHook.getAndSet(true)) { + if(LOG.isLoggable(INFO)) + LOG.info("Not answering - call in progress"); + return; + } + if(LOG.isLoggable(INFO)) LOG.info("Answering"); + try { + port.writeBytes("ATA\r\n".getBytes("US-ASCII")); + } catch(SerialPortException e) { + throw new IOException(e.toString()); + } + try { + synchronized(connected) { + if(!connected.get()) connected.wait(CONNECT_TIMEOUT); + } + } catch(InterruptedException e) { + if(LOG.isLoggable(WARNING)) + LOG.warning("Interrupted while connecting incoming call"); + Thread.currentThread().interrupt(); + throw new IOException("Interrupted while connecting incoming call"); + } + if(connected.get()) callback.incomingCallConnected(); + else hangUp(); + } + + private static class ModemInputStream extends InputStream { + + private final BlockingQueue received; + + private byte[] buf = null; + private int offset = 0; + + private ModemInputStream(BlockingQueue received) { + this.received = received; + } + + @Override + public int read() throws IOException { + getBufferIfNecessary(); + if(buf.length == 0) return -1; + return buf[offset++]; + } + + @Override + public int read(byte[] b) throws IOException { + getBufferIfNecessary(); + if(buf.length == 0) return -1; + int len = Math.min(b.length, buf.length - offset); + System.arraycopy(buf, offset, b, 0, len); + offset += len; + return len; + } + + @Override + public int read(byte[] b, int off, int len) throws IOException { + getBufferIfNecessary(); + if(buf.length == 0) return -1; + len = Math.min(len, buf.length - offset); + System.arraycopy(buf, offset, b, off, len); + offset += len; + return len; + } + + private void getBufferIfNecessary() throws IOException { + if(buf == null || offset == buf.length) { + try { + buf = received.take(); + } catch(InterruptedException e) { + if(LOG.isLoggable(WARNING)) + LOG.warning("Interrupted while reading"); + Thread.currentThread().interrupt(); + throw new IOException(e.toString()); + } + offset = 0; + } + } + } + + private class ModemOutputStream extends OutputStream { + + @Override + public void write(int b) throws IOException { + try { + port.writeByte((byte) b); + } catch(SerialPortException e) { + throw new IOException(e.toString()); + } + } + + @Override + public void write(byte[] b) throws IOException { + try { + port.writeBytes(b); + } catch(SerialPortException e) { + throw new IOException(e.toString()); + } + } + + @Override + public void write(byte[] b, int off, int len) throws IOException { + if(len < b.length) { + byte[] copy = new byte[len]; + System.arraycopy(b, off, copy, 0, len); + write(copy); + } else { + write(b); + } + } + } +}