I am the author of the jvser Java client and have noticed a couple of protocol errors from sercd.
First, sercd is reporting NOTIFY-MODEMSTATE incorrectly. What it appears to be doing is sending a separate message for each positive modem state bit every 20 seconds. This is incorrect in two ways: #1 the NOTIFY-MODEMSTATE command is only supposed to be sent when any of the monitored modem state bits changes, and #2 it is only supposed to be sent once and it contains the logical OR of all positive bits for all associated modem states bits.
Secondly, when it "echoes' the four SET-CONTROL commands back to the client, it is always echoing OUTBOUND-FLOW-NONE even though the four commands sent were four different ones.
Both of these problems are visible in the following trace from the client side:
12:46:10.072 DEBUG: TelnetSerialPort: server accepted COM-PORT-OPTION, sending serial configuration to peer
12:46:10.074 DEBUG: TelnetSerialPort: send SIGNATURE[C] REQUEST
12:46:10.074 DEBUG: TelnetSerialPort: send SIGNATURE[C] "jvser v1.0.31"
12:46:10.074 DEBUG: TelnetSerialPort: send SET-BAUDRATE[C] 9600
12:46:10.075 DEBUG: TelnetSerialPort: send SET-DATASIZE[C] 8
12:46:10.075 DEBUG: TelnetSerialPort: send SET-PARITY[C] NONE
12:46:10.076 DEBUG: TelnetSerialPort: send SET-STOPSIZE[C] 1
12:46:10.078 DEBUG: TelnetSerialPort: send SET-LINESTATE-MASK[C] BREAK_DETECT FRAMING_ERROR OVERRUN_ERROR
12:46:10.078 DEBUG: TelnetSerialPort: send SET-MODEMSTATE-MASK[C] CARRIER_DETECT RING_INDICATOR DSR CTS
12:46:10.078 DEBUG: TelnetSerialPort: send SET-CONTROL[C] INBOUND-FLOW-NONE
12:46:10.083 DEBUG: TelnetSerialPort: send SET-CONTROL[C] OUTBOUND-FLOW-NONE
12:46:10.083 DEBUG: TelnetSerialPort: send SET-CONTROL[C] OUTBOUND-DTR-OFF
12:46:10.083 DEBUG: TelnetSerialPort: send SET-CONTROL[C] OUTBOUND-RTS-OFF
12:46:10.100 DEBUG: TelnetSerialPort: rec'd NOTIFY-MODEMSTATE[S] CARRIER_DETECT
12:46:10.101 DEBUG: TelnetSerialPort: rec'd SIGNATURE[S] "sercd 3.0.0 /dev/tx00001" (ignoring)
12:46:10.101 DEBUG: TelnetSerialPort: rec'd SET-BAUDRATE[S] 9600
12:46:10.101 DEBUG: TelnetSerialPort: rec'd SET-DATASIZE[S] 8
12:46:10.101 DEBUG: TelnetSerialPort: rec'd SET-PARITY[S] NONE
12:46:10.101 DEBUG: TelnetSerialPort: rec'd SET-STOPSIZE[S] 1
12:46:10.102 DEBUG: TelnetSerialPort: rec'd SET-LINESTATE-MASK[S] BREAK_DETECT (ignoring)
12:46:10.102 DEBUG: TelnetSerialPort: rec'd SET-MODEMSTATE-MASK[S] CARRIER_DETECT RING_INDICATOR DSR CTS (ignoring)
12:46:10.102 DEBUG: TelnetSerialPort: rec'd SET-CONTROL[S] OUTBOUND-FLOW-NONE
12:46:10.124 DEBUG: TelnetSerialPort: rec'd SET-CONTROL[S] OUTBOUND-FLOW-NONE
12:46:10.124 DEBUG: TelnetSerialPort: rec'd SET-CONTROL[S] OUTBOUND-FLOW-NONE
12:46:10.124 DEBUG: TelnetSerialPort: rec'd SET-CONTROL[S] OUTBOUND-FLOW-NONE
12:46:10.186 DEBUG: TelnetSerialPort: rec'd NOTIFY-MODEMSTATE[S] CTS
12:46:10.201 DEBUG: TelnetSerialPort: rec'd NOTIFY-MODEMSTATE[S] CARRIER_DETECT
12:46:10.301 DEBUG: TelnetSerialPort: rec'd NOTIFY-MODEMSTATE[S] CTS
12:46:30.208 DEBUG: TelnetSerialPort: rec'd NOTIFY-MODEMSTATE[S] CARRIER_DETECT
12:46:30.309 DEBUG: TelnetSerialPort: rec'd NOTIFY-MODEMSTATE[S] CTS
12:46:50.212 DEBUG: TelnetSerialPort: rec'd NOTIFY-MODEMSTATE[S] CARRIER_DETECT
12:46:50.312 DEBUG: TelnetSerialPort: rec'd NOTIFY-MODEMSTATE[S] CTS
LLDXmZ <a href="http://ylraddogqgfa.com/">ylraddogqgfa</a>, [url=http://nsmsspqstmiq.com/]nsmsspqstmiq[/url], [link=http://xhsigqungokq.com/]xhsigqungokq[/link], http://fhiykuncdbvu.com/
hGfwGq <a href="http://poijjjzxhoyh.com/">poijjjzxhoyh</a>, [url=http://sgwwxfxjejrz.com/]sgwwxfxjejrz[/url], [link=http://hovtdncwwugz.com/]hovtdncwwugz[/link], http://nhzdxwxfpcyt.com/
wzAOG6 <a href="http://pudpfnftogyw.com/">pudpfnftogyw</a>, [url=http://dnmqwvdfcbcs.com/]dnmqwvdfcbcs[/url], [link=http://couebgzrudni.com/]couebgzrudni[/link], http://amaxhixmqwjh.com/