Changelog since HylaFAX 4.3.3
+* Flush modem input after NO CARRIER result in Class 1 Phase C send (13 Mar 2007)
* Improve sender-side RNR/RR flow control interaction (13 Mar 2007)
* Don't fallback to V.17 speeds on TCF retransmisions (13 Mar 2007)
* Prevent picking up again on the receiver's MCF signal when
ATResponse r;
while ((r = atResponse(rbuf, getDataTimeout())) == AT_OTHER);
if (!(r == AT_OK)) {
+ if (r == AT_NOCARRIER) {
+ /*
+ * The NO CARRIER result here is not per-spec. However,
+ * some modems capable of detecting hangup conditions will
+ * use this to indicate a disconnection. Because we did
+ * not check for modem responses during the entire data
+ * transfer we flush the modem input so as to avoid reading
+ * any modem responses related to misinterpreted Phase C
+ * data that occurred after the hangup.
+ */
+ flushModemInput();
+ }
return (false);
}
}
while ((r = atResponse(rbuf, getDataTimeout())) == AT_OTHER)
;
rc = (r == AT_OK);
+ if (r == AT_NOCARRIER) {
+ /*
+ * The NO CARRIER result here is not per-spec. However,
+ * some modems capable of detecting hangup conditions will
+ * use this to indicate a disconnection. Because we did
+ * not check for modem responses during the entire data
+ * transfer we flush the modem input so as to avoid reading
+ * any modem responses related to misinterpreted Phase C
+ * data that occurred after the hangup.
+ */
+ flushModemInput();
+ }
}
if (flowControl == FLOW_XONXOFF)
setXONXOFF(FLOW_NONE, FLOW_NONE, ACT_DRAIN);